aws-sdk-kms 1.64.0 → 1.76.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -28,6 +28,7 @@ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
29
  require 'aws-sdk-core/plugins/http_checksum.rb'
30
30
  require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
+ require 'aws-sdk-core/plugins/request_compression.rb'
31
32
  require 'aws-sdk-core/plugins/defaults_mode.rb'
32
33
  require 'aws-sdk-core/plugins/recursion_detection.rb'
33
34
  require 'aws-sdk-core/plugins/sign.rb'
@@ -77,6 +78,7 @@ module Aws::KMS
77
78
  add_plugin(Aws::Plugins::TransferEncoding)
78
79
  add_plugin(Aws::Plugins::HttpChecksum)
79
80
  add_plugin(Aws::Plugins::ChecksumAlgorithm)
81
+ add_plugin(Aws::Plugins::RequestCompression)
80
82
  add_plugin(Aws::Plugins::DefaultsMode)
81
83
  add_plugin(Aws::Plugins::RecursionDetection)
82
84
  add_plugin(Aws::Plugins::Sign)
@@ -190,6 +192,10 @@ module Aws::KMS
190
192
  # Set to true to disable SDK automatically adding host prefix
191
193
  # to default service endpoint when available.
192
194
  #
195
+ # @option options [Boolean] :disable_request_compression (false)
196
+ # When set to 'true' the request body will not be compressed
197
+ # for supported operations.
198
+ #
193
199
  # @option options [String] :endpoint
194
200
  # The client endpoint is normally constructed from the `:region`
195
201
  # option. You should only configure an `:endpoint` when connecting
@@ -210,6 +216,10 @@ module Aws::KMS
210
216
  # @option options [Boolean] :endpoint_discovery (false)
211
217
  # When set to `true`, endpoint discovery will be enabled for operations when available.
212
218
  #
219
+ # @option options [Boolean] :ignore_configured_endpoint_urls
220
+ # Setting to true disables use of endpoint URLs provided via environment
221
+ # variables and the shared configuration file.
222
+ #
213
223
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
214
224
  # The log formatter.
215
225
  #
@@ -230,6 +240,11 @@ module Aws::KMS
230
240
  # Used when loading credentials from the shared credentials file
231
241
  # at HOME/.aws/credentials. When not specified, 'default' is used.
232
242
  #
243
+ # @option options [Integer] :request_min_compression_size_bytes (10240)
244
+ # The minimum size in bytes that triggers compression for request
245
+ # bodies. The value must be non-negative integer value between 0
246
+ # and 10485780 bytes inclusive.
247
+ #
233
248
  # @option options [Proc] :retry_backoff
234
249
  # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
235
250
  # This option is only used in the `legacy` retry mode.
@@ -275,6 +290,11 @@ module Aws::KMS
275
290
  # in the future.
276
291
  #
277
292
  #
293
+ # @option options [String] :sdk_ua_app_id
294
+ # A unique and opaque application ID that is appended to the
295
+ # User-Agent header as app/<sdk_ua_app_id>. It should have a
296
+ # maximum length of 50.
297
+ #
278
298
  # @option options [String] :secret_access_key
279
299
  #
280
300
  # @option options [String] :session_token
@@ -397,11 +417,15 @@ module Aws::KMS
397
417
  #
398
418
  # **Related operations**: ScheduleKeyDeletion
399
419
  #
420
+ # **Eventual consistency**: The KMS API follows an eventual consistency
421
+ # model. For more information, see [KMS eventual consistency][4].
422
+ #
400
423
  #
401
424
  #
402
425
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html
403
426
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
404
427
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
428
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
405
429
  #
406
430
  # @option params [required, String] :key_id
407
431
  # Identifies the KMS key whose deletion is being canceled.
@@ -544,6 +568,9 @@ module Aws::KMS
544
568
  #
545
569
  # * UpdateCustomKeyStore
546
570
  #
571
+ # **Eventual consistency**: The KMS API follows an eventual consistency
572
+ # model. For more information, see [KMS eventual consistency][8].
573
+ #
547
574
  #
548
575
  #
549
576
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
@@ -553,6 +580,7 @@ module Aws::KMS
553
580
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html
554
581
  # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/xks-troubleshooting.html
555
582
  # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
583
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
556
584
  #
557
585
  # @option params [required, String] :custom_key_store_id
558
586
  # Enter the key store ID of the custom key store that you want to
@@ -644,6 +672,9 @@ module Aws::KMS
644
672
  #
645
673
  # * UpdateAlias
646
674
  #
675
+ # **Eventual consistency**: The KMS API follows an eventual consistency
676
+ # model. For more information, see [KMS eventual consistency][7].
677
+ #
647
678
  #
648
679
  #
649
680
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/abac.html
@@ -652,6 +683,7 @@ module Aws::KMS
652
683
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
653
684
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
654
685
  # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html#alias-access
686
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
655
687
  #
656
688
  # @option params [required, String] :alias_name
657
689
  # Specifies the alias name. This value must begin with `alias/` followed
@@ -809,6 +841,9 @@ module Aws::KMS
809
841
  #
810
842
  # * UpdateCustomKeyStore
811
843
  #
844
+ # **Eventual consistency**: The KMS API follows an eventual consistency
845
+ # model. For more information, see [KMS eventual consistency][10].
846
+ #
812
847
  #
813
848
  #
814
849
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
@@ -820,6 +855,7 @@ module Aws::KMS
820
855
  # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html
821
856
  # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/xks-troubleshooting.html
822
857
  # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
858
+ # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
823
859
  #
824
860
  # @option params [required, String] :custom_key_store_name
825
861
  # Specifies a friendly name for the custom key store. The name must be
@@ -916,7 +952,7 @@ module Aws::KMS
916
952
  #
917
953
  # * An external key store with `PUBLIC_ENDPOINT` connectivity cannot use
918
954
  # the same `XksProxyUriEndpoint` value as an external key store with
919
- # `VPC_ENDPOINT_SERVICE` connectivity in the same Amazon Web Services
955
+ # `VPC_ENDPOINT_SERVICE` connectivity in this Amazon Web Services
920
956
  # Region.
921
957
  #
922
958
  # * Each external key store with `VPC_ENDPOINT_SERVICE` connectivity
@@ -1164,6 +1200,9 @@ module Aws::KMS
1164
1200
  #
1165
1201
  # * RevokeGrant
1166
1202
  #
1203
+ # **Eventual consistency**: The KMS API follows an eventual consistency
1204
+ # model. For more information, see [KMS eventual consistency][6].
1205
+ #
1167
1206
  #
1168
1207
  #
1169
1208
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html
@@ -1171,6 +1210,7 @@ module Aws::KMS
1171
1210
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
1172
1211
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
1173
1212
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
1213
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
1174
1214
  #
1175
1215
  # @option params [required, String] :key_id
1176
1216
  # Identifies the KMS key for the grant. The grant gives principals
@@ -1314,6 +1354,17 @@ module Aws::KMS
1314
1354
  # when a duplicate `GrantId` is returned. All grant tokens for the same
1315
1355
  # grant ID can be used interchangeably.
1316
1356
  #
1357
+ # @option params [Boolean] :dry_run
1358
+ # Checks if your request will succeed. `DryRun` is an optional
1359
+ # parameter.
1360
+ #
1361
+ # To learn more about how to use this parameter, see [Testing your KMS
1362
+ # API calls][1] in the *Key Management Service Developer Guide*.
1363
+ #
1364
+ #
1365
+ #
1366
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
1367
+ #
1317
1368
  # @return [Types::CreateGrantResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1318
1369
  #
1319
1370
  # * {Types::CreateGrantResponse#grant_token #grant_token} => String
@@ -1356,6 +1407,7 @@ module Aws::KMS
1356
1407
  # },
1357
1408
  # grant_tokens: ["GrantTokenType"],
1358
1409
  # name: "GrantNameType",
1410
+ # dry_run: false,
1359
1411
  # })
1360
1412
  #
1361
1413
  # @example Response structure
@@ -1453,13 +1505,6 @@ module Aws::KMS
1453
1505
  # You can use HMAC keys to generate (GenerateMac) and verify
1454
1506
  # (VerifyMac) HMAC codes for messages up to 4096 bytes.
1455
1507
  #
1456
- # HMAC KMS keys are not supported in all Amazon Web Services Regions.
1457
- # If you try to create an HMAC KMS key in an Amazon Web Services
1458
- # Region in which HMAC keys are not supported, the `CreateKey`
1459
- # operation returns an `UnsupportedOperationException`. For a list of
1460
- # Regions in which HMAC KMS keys are supported, see [HMAC keys in
1461
- # KMS][4] in the *Key Management Service Developer Guide*.
1462
- #
1463
1508
  #
1464
1509
  #
1465
1510
  # Multi-Region primary keys
@@ -1486,46 +1531,48 @@ module Aws::KMS
1486
1531
  # to encrypt data in one Amazon Web Services Region and decrypt it in
1487
1532
  # a different Amazon Web Services Region without re-encrypting the
1488
1533
  # data or making a cross-Region call. For more information about
1489
- # multi-Region keys, see [Multi-Region keys in KMS][5] in the *Key
1534
+ # multi-Region keys, see [Multi-Region keys in KMS][4] in the *Key
1490
1535
  # Management Service Developer Guide*.
1491
1536
  #
1492
1537
  #
1493
1538
  #
1494
1539
  # : To import your own key material into a KMS key, begin by creating a
1495
- # symmetric encryption KMS key with no key material. To do this, use
1496
- # the `Origin` parameter of `CreateKey` with a value of `EXTERNAL`.
1497
- # Next, use GetParametersForImport operation to get a public key and
1498
- # import token, and use the public key to encrypt your key material.
1540
+ # KMS key with no key material. To do this, use the `Origin` parameter
1541
+ # of `CreateKey` with a value of `EXTERNAL`. Next, use
1542
+ # GetParametersForImport operation to get a public key and import
1543
+ # token. Use the wrapping public key to encrypt your key material.
1499
1544
  # Then, use ImportKeyMaterial with your import token to import the key
1500
1545
  # material. For step-by-step instructions, see [Importing Key
1501
- # Material][6] in the <i> <i>Key Management Service Developer
1546
+ # Material][5] in the <i> <i>Key Management Service Developer
1502
1547
  # Guide</i> </i>.
1503
1548
  #
1504
- # This feature supports only symmetric encryption KMS keys, including
1505
- # multi-Region symmetric encryption KMS keys. You cannot import key
1506
- # material into any other type of KMS key.
1549
+ # You can import key material into KMS keys of all supported KMS key
1550
+ # types: symmetric encryption KMS keys, HMAC KMS keys, asymmetric
1551
+ # encryption KMS keys, and asymmetric signing KMS keys. You can also
1552
+ # create multi-Region keys with imported key material. However, you
1553
+ # can't import key material into a KMS key in a custom key store.
1507
1554
  #
1508
1555
  # To create a multi-Region primary key with imported key material, use
1509
1556
  # the `Origin` parameter of `CreateKey` with a value of `EXTERNAL` and
1510
1557
  # the `MultiRegion` parameter with a value of `True`. To create
1511
1558
  # replicas of the multi-Region primary key, use the ReplicateKey
1512
1559
  # operation. For instructions, see [Importing key material into
1513
- # multi-Region keys][7]. For more information about multi-Region keys,
1514
- # see [Multi-Region keys in KMS][5] in the *Key Management Service
1560
+ # multi-Region keys][6]. For more information about multi-Region keys,
1561
+ # see [Multi-Region keys in KMS][4] in the *Key Management Service
1515
1562
  # Developer Guide*.
1516
1563
  #
1517
1564
  #
1518
1565
  #
1519
1566
  # Custom key store
1520
1567
  #
1521
- # : A [custom key store][8] lets you protect your Amazon Web Services
1568
+ # : A [custom key store][7] lets you protect your Amazon Web Services
1522
1569
  # resources using keys in a backing key store that you own and manage.
1523
1570
  # When you request a cryptographic operation with a KMS key in a
1524
1571
  # custom key store, the operation is performed in the backing key
1525
1572
  # store using its cryptographic keys.
1526
1573
  #
1527
- # KMS supports [CloudHSM key stores][9] backed by an CloudHSM cluster
1528
- # and [external key stores][10] backed by an external key manager
1574
+ # KMS supports [CloudHSM key stores][8] backed by an CloudHSM cluster
1575
+ # and [external key stores][9] backed by an external key manager
1529
1576
  # outside of Amazon Web Services. When you create a KMS key in an
1530
1577
  # CloudHSM key store, KMS generates an encryption key in the CloudHSM
1531
1578
  # cluster and associates it with the KMS key. When you create a KMS
@@ -1550,13 +1597,13 @@ module Aws::KMS
1550
1597
  # `ENCRYPT_DECRYPT` to create a symmetric encryption key. No other key
1551
1598
  # type is supported in a custom key store.
1552
1599
  #
1553
- # To create a KMS key in an [CloudHSM key store][9], use the `Origin`
1600
+ # To create a KMS key in an [CloudHSM key store][8], use the `Origin`
1554
1601
  # parameter with a value of `AWS_CLOUDHSM`. The CloudHSM cluster that
1555
1602
  # is associated with the custom key store must have at least two
1556
1603
  # active HSMs in different Availability Zones in the Amazon Web
1557
1604
  # Services Region.
1558
1605
  #
1559
- # To create a KMS key in an [external key store][10], use the `Origin`
1606
+ # To create a KMS key in an [external key store][9], use the `Origin`
1560
1607
  # parameter with a value of `EXTERNAL_KEY_STORE` and an `XksKeyId`
1561
1608
  # parameter that identifies an existing external key.
1562
1609
  #
@@ -1569,10 +1616,10 @@ module Aws::KMS
1569
1616
  # **Cross-account use**: No. You cannot use this operation to create a
1570
1617
  # KMS key in a different Amazon Web Services account.
1571
1618
  #
1572
- # **Required permissions**: [kms:CreateKey][11] (IAM policy). To use the
1573
- # `Tags` parameter, [kms:TagResource][11] (IAM policy). For examples and
1619
+ # **Required permissions**: [kms:CreateKey][10] (IAM policy). To use the
1620
+ # `Tags` parameter, [kms:TagResource][10] (IAM policy). For examples and
1574
1621
  # information about related permissions, see [Allow a user to create KMS
1575
- # keys][12] in the *Key Management Service Developer Guide*.
1622
+ # keys][11] in the *Key Management Service Developer Guide*.
1576
1623
  #
1577
1624
  # **Related operations:**
1578
1625
  #
@@ -1582,20 +1629,23 @@ module Aws::KMS
1582
1629
  #
1583
1630
  # * ScheduleKeyDeletion
1584
1631
  #
1632
+ # **Eventual consistency**: The KMS API follows an eventual consistency
1633
+ # model. For more information, see [KMS eventual consistency][12].
1634
+ #
1585
1635
  #
1586
1636
  #
1587
1637
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms-keys
1588
1638
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/getting-started.html
1589
1639
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
1590
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
1591
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
1592
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
1593
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-import.html
1594
- # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
1595
- # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-cloudhsm.html
1596
- # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html
1597
- # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
1598
- # [12]: https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies.html#iam-policy-example-create-key
1640
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
1641
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
1642
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-import.html
1643
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
1644
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-cloudhsm.html
1645
+ # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html
1646
+ # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
1647
+ # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies.html#iam-policy-example-create-key
1648
+ # [12]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
1599
1649
  #
1600
1650
  # @option params [String] :policy
1601
1651
  # The key policy to attach to the KMS key.
@@ -1817,12 +1867,13 @@ module Aws::KMS
1817
1867
  # Management Service Developer Guide*.
1818
1868
  #
1819
1869
  # Use this parameter only when you intend to prevent the principal that
1820
- # is making the request from making a subsequent PutKeyPolicy request on
1821
- # the KMS key.
1870
+ # is making the request from making a subsequent [PutKeyPolicy][2]
1871
+ # request on the KMS key.
1822
1872
  #
1823
1873
  #
1824
1874
  #
1825
1875
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
1876
+ # [2]: https://docs.aws.amazon.com/kms/latest/APIReference/API_PutKeyPolicy.html
1826
1877
  #
1827
1878
  # @option params [Array<Types::Tag>] :tags
1828
1879
  # Assigns one or more tags to the KMS key. Use this parameter to tag the
@@ -2100,8 +2151,8 @@ module Aws::KMS
2100
2151
  #
2101
2152
  # @example Example: To create a KMS key for imported key material
2102
2153
  #
2103
- # # This example creates a KMS key with no key material. When the operation is complete, you can import your own key
2104
- # # material into the KMS key. To create this KMS key, set the Origin parameter to EXTERNAL.
2154
+ # # This example creates a symmetric KMS key with no key material. When the operation is complete, you can import your own
2155
+ # # key material into the KMS key. To create this KMS key, set the Origin parameter to EXTERNAL.
2105
2156
  #
2106
2157
  # resp = client.create_key({
2107
2158
  # origin: "EXTERNAL", # The source of the key material for the KMS key.
@@ -2324,10 +2375,10 @@ module Aws::KMS
2324
2375
  # parameter to provide the attestation document for the enclave. Instead
2325
2376
  # of the plaintext data, the response includes the plaintext data
2326
2377
  # encrypted with the public key from the attestation document
2327
- # (`CiphertextForRecipient`).For information about the interaction
2378
+ # (`CiphertextForRecipient`). For information about the interaction
2328
2379
  # between KMS and Amazon Web Services Nitro Enclaves, see [How Amazon
2329
2380
  # Web Services Nitro Enclaves uses KMS][7] in the *Key Management
2330
- # Service Developer Guide*..
2381
+ # Service Developer Guide*.
2331
2382
  #
2332
2383
  # The KMS key that you use for this operation must be in a compatible
2333
2384
  # key state. For details, see [Key states of KMS keys][8] in the *Key
@@ -2349,6 +2400,9 @@ module Aws::KMS
2349
2400
  #
2350
2401
  # * ReEncrypt
2351
2402
  #
2403
+ # **Eventual consistency**: The KMS API follows an eventual consistency
2404
+ # model. For more information, see [KMS eventual consistency][10].
2405
+ #
2352
2406
  #
2353
2407
  #
2354
2408
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
@@ -2360,6 +2414,7 @@ module Aws::KMS
2360
2414
  # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
2361
2415
  # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
2362
2416
  # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
2417
+ # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
2363
2418
  #
2364
2419
  # @option params [required, String, StringIO, File] :ciphertext_blob
2365
2420
  # Ciphertext to be decrypted. The blob includes metadata.
@@ -2466,10 +2521,21 @@ module Aws::KMS
2466
2521
  #
2467
2522
  #
2468
2523
  #
2469
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave-how.html#term-attestdoc
2524
+ # [1]: https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave-concepts.html#term-attestdoc
2470
2525
  # [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
2471
2526
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
2472
2527
  #
2528
+ # @option params [Boolean] :dry_run
2529
+ # Checks if your request will succeed. `DryRun` is an optional
2530
+ # parameter.
2531
+ #
2532
+ # To learn more about how to use this parameter, see [Testing your KMS
2533
+ # API calls][1] in the *Key Management Service Developer Guide*.
2534
+ #
2535
+ #
2536
+ #
2537
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
2538
+ #
2473
2539
  # @return [Types::DecryptResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2474
2540
  #
2475
2541
  # * {Types::DecryptResponse#key_id #key_id} => String
@@ -2549,6 +2615,7 @@ module Aws::KMS
2549
2615
  # key_encryption_algorithm: "RSAES_OAEP_SHA_256", # accepts RSAES_OAEP_SHA_256
2550
2616
  # attestation_document: "data",
2551
2617
  # },
2618
+ # dry_run: false,
2552
2619
  # })
2553
2620
  #
2554
2621
  # @example Response structure
@@ -2605,11 +2672,15 @@ module Aws::KMS
2605
2672
  #
2606
2673
  # * UpdateAlias
2607
2674
  #
2675
+ # **Eventual consistency**: The KMS API follows an eventual consistency
2676
+ # model. For more information, see [KMS eventual consistency][4].
2677
+ #
2608
2678
  #
2609
2679
  #
2610
2680
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/abac.html
2611
2681
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
2612
2682
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html#alias-access
2683
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
2613
2684
  #
2614
2685
  # @option params [required, String] :alias_name
2615
2686
  # The alias to be deleted. The alias name must begin with `alias/`
@@ -2696,6 +2767,9 @@ module Aws::KMS
2696
2767
  #
2697
2768
  # * UpdateCustomKeyStore
2698
2769
  #
2770
+ # **Eventual consistency**: The KMS API follows an eventual consistency
2771
+ # model. For more information, see [KMS eventual consistency][6].
2772
+ #
2699
2773
  #
2700
2774
  #
2701
2775
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
@@ -2703,6 +2777,7 @@ module Aws::KMS
2703
2777
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
2704
2778
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html#fix-keystore-orphaned-key
2705
2779
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
2780
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
2706
2781
  #
2707
2782
  # @option params [required, String] :custom_key_store_id
2708
2783
  # Enter the ID of the custom key store you want to delete. To find the
@@ -2740,18 +2815,16 @@ module Aws::KMS
2740
2815
  req.send_request(options)
2741
2816
  end
2742
2817
 
2743
- # Deletes key material that you previously imported. This operation
2744
- # makes the specified KMS key unusable. For more information about
2745
- # importing key material into KMS, see [Importing Key Material][1] in
2746
- # the *Key Management Service Developer Guide*.
2818
+ # Deletes key material that was previously imported. This operation
2819
+ # makes the specified KMS key temporarily unusable. To restore the
2820
+ # usability of the KMS key, reimport the same key material. For more
2821
+ # information about importing key material into KMS, see [Importing Key
2822
+ # Material][1] in the *Key Management Service Developer Guide*.
2747
2823
  #
2748
2824
  # When the specified KMS key is in the `PendingDeletion` state, this
2749
2825
  # operation does not change the KMS key's state. Otherwise, it changes
2750
2826
  # the KMS key's state to `PendingImport`.
2751
2827
  #
2752
- # After you delete key material, you can use ImportKeyMaterial to
2753
- # reimport the same key material into the KMS key.
2754
- #
2755
2828
  # The KMS key that you use for this operation must be in a compatible
2756
2829
  # key state. For details, see [Key states of KMS keys][2] in the *Key
2757
2830
  # Management Service Developer Guide*.
@@ -2768,11 +2841,15 @@ module Aws::KMS
2768
2841
  #
2769
2842
  # * ImportKeyMaterial
2770
2843
  #
2844
+ # **Eventual consistency**: The KMS API follows an eventual consistency
2845
+ # model. For more information, see [KMS eventual consistency][4].
2846
+ #
2771
2847
  #
2772
2848
  #
2773
2849
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
2774
2850
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
2775
2851
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
2852
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
2776
2853
  #
2777
2854
  # @option params [required, String] :key_id
2778
2855
  # Identifies the KMS key from which you are deleting imported key
@@ -2869,12 +2946,16 @@ module Aws::KMS
2869
2946
  #
2870
2947
  # * UpdateCustomKeyStore
2871
2948
  #
2949
+ # **Eventual consistency**: The KMS API follows an eventual consistency
2950
+ # model. For more information, see [KMS eventual consistency][5].
2951
+ #
2872
2952
  #
2873
2953
  #
2874
2954
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
2875
2955
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html
2876
2956
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/xks-troubleshooting.html
2877
2957
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
2958
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
2878
2959
  #
2879
2960
  # @option params [String] :custom_key_store_id
2880
2961
  # Gets only information about the specified custom key store. Enter the
@@ -3058,15 +3139,11 @@ module Aws::KMS
3058
3139
  # also displays the key usage (encryption, signing, or generating and
3059
3140
  # verifying MACs) and the algorithms that the KMS key supports.
3060
3141
  #
3061
- # For [multi-Region
3062
- # keys](kms/latest/developerguide/multi-region-keys-overview.html),
3063
- # `DescribeKey` displays the primary key and all related replica keys.
3064
- # For KMS keys in [CloudHSM key
3065
- # stores](kms/latest/developerguide/keystore-cloudhsm.html), it includes
3066
- # information about the key store, such as the key store ID and the
3067
- # CloudHSM cluster ID. For KMS keys in [external key
3068
- # stores](kms/latest/developerguide/keystore-external.html), it includes
3069
- # the custom key store ID and the ID of the external key.
3142
+ # For [multi-Region keys][3], `DescribeKey` displays the primary key and
3143
+ # all related replica keys. For KMS keys in [CloudHSM key stores][4], it
3144
+ # includes information about the key store, such as the key store ID and
3145
+ # the CloudHSM cluster ID. For KMS keys in [external key stores][5], it
3146
+ # includes the custom key store ID and the ID of the external key.
3070
3147
  #
3071
3148
  # `DescribeKey` does not return the following information:
3072
3149
  #
@@ -3076,7 +3153,7 @@ module Aws::KMS
3076
3153
  # * Whether automatic key rotation is enabled on the KMS key. To get
3077
3154
  # this information, use GetKeyRotationStatus. Also, some key states
3078
3155
  # prevent a KMS key from being automatically rotated. For details, see
3079
- # [How Automatic Key Rotation Works][3] in the *Key Management Service
3156
+ # [How Automatic Key Rotation Works][6] in the *Key Management Service
3080
3157
  # Developer Guide*.
3081
3158
  #
3082
3159
  # * Tags on the KMS key. To get this information, use ListResourceTags.
@@ -3093,7 +3170,7 @@ module Aws::KMS
3093
3170
  # in a different Amazon Web Services account, specify the key ARN or
3094
3171
  # alias ARN in the value of the `KeyId` parameter.
3095
3172
  #
3096
- # **Required permissions**: [kms:DescribeKey][4] (key policy)
3173
+ # **Required permissions**: [kms:DescribeKey][7] (key policy)
3097
3174
  #
3098
3175
  # **Related operations:**
3099
3176
  #
@@ -3111,12 +3188,19 @@ module Aws::KMS
3111
3188
  #
3112
3189
  # * ListRetirableGrants
3113
3190
  #
3191
+ # **Eventual consistency**: The KMS API follows an eventual consistency
3192
+ # model. For more information, see [KMS eventual consistency][8].
3193
+ #
3114
3194
  #
3115
3195
  #
3116
3196
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
3117
3197
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
3118
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotate-keys-how-it-works
3119
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
3198
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
3199
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-cloudhsm.html
3200
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html
3201
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotate-keys-how-it-works
3202
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
3203
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
3120
3204
  #
3121
3205
  # @option params [required, String] :key_id
3122
3206
  # Describes the specified KMS key.
@@ -3447,11 +3531,15 @@ module Aws::KMS
3447
3531
  #
3448
3532
  # **Related operations**: EnableKey
3449
3533
  #
3534
+ # **Eventual consistency**: The KMS API follows an eventual consistency
3535
+ # model. For more information, see [KMS eventual consistency][4].
3536
+ #
3450
3537
  #
3451
3538
  #
3452
3539
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
3453
3540
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
3454
3541
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
3542
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
3455
3543
  #
3456
3544
  # @option params [required, String] :key_id
3457
3545
  # Identifies the KMS key to disable.
@@ -3531,6 +3619,9 @@ module Aws::KMS
3531
3619
  #
3532
3620
  # * GetKeyRotationStatus
3533
3621
  #
3622
+ # **Eventual consistency**: The KMS API follows an eventual consistency
3623
+ # model. For more information, see [KMS eventual consistency][12].
3624
+ #
3534
3625
  #
3535
3626
  #
3536
3627
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html
@@ -3544,6 +3635,7 @@ module Aws::KMS
3544
3635
  # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk
3545
3636
  # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
3546
3637
  # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
3638
+ # [12]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
3547
3639
  #
3548
3640
  # @option params [required, String] :key_id
3549
3641
  # Identifies a symmetric encryption KMS key. You cannot enable or
@@ -3643,11 +3735,15 @@ module Aws::KMS
3643
3735
  #
3644
3736
  # * UpdateCustomKeyStore
3645
3737
  #
3738
+ # **Eventual consistency**: The KMS API follows an eventual consistency
3739
+ # model. For more information, see [KMS eventual consistency][4].
3740
+ #
3646
3741
  #
3647
3742
  #
3648
3743
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
3649
3744
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
3650
3745
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
3746
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
3651
3747
  #
3652
3748
  # @option params [required, String] :custom_key_store_id
3653
3749
  # Enter the ID of the custom key store you want to disconnect. To find
@@ -3701,11 +3797,15 @@ module Aws::KMS
3701
3797
  #
3702
3798
  # **Related operations**: DisableKey
3703
3799
  #
3800
+ # **Eventual consistency**: The KMS API follows an eventual consistency
3801
+ # model. For more information, see [KMS eventual consistency][4].
3802
+ #
3704
3803
  #
3705
3804
  #
3706
3805
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
3707
3806
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
3708
3807
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
3808
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
3709
3809
  #
3710
3810
  # @option params [required, String] :key_id
3711
3811
  # Identifies the KMS key to enable.
@@ -3751,7 +3851,7 @@ module Aws::KMS
3751
3851
  # Enables [automatic rotation of the key material][1] of the specified
3752
3852
  # symmetric encryption KMS key.
3753
3853
  #
3754
- # When you enable automatic rotation of a[customer managed KMS key][2],
3854
+ # When you enable automatic rotation of a [customer managed KMS key][2],
3755
3855
  # KMS rotates the key material of the KMS key one year (approximately
3756
3856
  # 365 days) from the enable date and every year thereafter. You can
3757
3857
  # monitor rotation of the key material for your KMS keys in CloudTrail
@@ -3797,6 +3897,9 @@ module Aws::KMS
3797
3897
  #
3798
3898
  # * GetKeyRotationStatus
3799
3899
  #
3900
+ # **Eventual consistency**: The KMS API follows an eventual consistency
3901
+ # model. For more information, see [KMS eventual consistency][13].
3902
+ #
3800
3903
  #
3801
3904
  #
3802
3905
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html
@@ -3811,6 +3914,7 @@ module Aws::KMS
3811
3914
  # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk
3812
3915
  # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
3813
3916
  # [12]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
3917
+ # [13]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
3814
3918
  #
3815
3919
  # @option params [required, String] :key_id
3816
3920
  # Identifies a symmetric encryption KMS key. You cannot enable automatic
@@ -3947,11 +4051,15 @@ module Aws::KMS
3947
4051
  #
3948
4052
  # * GenerateDataKeyPair
3949
4053
  #
4054
+ # **Eventual consistency**: The KMS API follows an eventual consistency
4055
+ # model. For more information, see [KMS eventual consistency][4].
4056
+ #
3950
4057
  #
3951
4058
  #
3952
4059
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
3953
4060
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
3954
4061
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
4062
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
3955
4063
  #
3956
4064
  # @option params [required, String] :key_id
3957
4065
  # Identifies the KMS key to use in the encryption operation. The KMS key
@@ -4032,6 +4140,17 @@ module Aws::KMS
4032
4140
  #
4033
4141
  # The SM2PKE algorithm is only available in China Regions.
4034
4142
  #
4143
+ # @option params [Boolean] :dry_run
4144
+ # Checks if your request will succeed. `DryRun` is an optional
4145
+ # parameter.
4146
+ #
4147
+ # To learn more about how to use this parameter, see [Testing your KMS
4148
+ # API calls][1] in the *Key Management Service Developer Guide*.
4149
+ #
4150
+ #
4151
+ #
4152
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
4153
+ #
4035
4154
  # @return [Types::EncryptResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4036
4155
  #
4037
4156
  # * {Types::EncryptResponse#ciphertext_blob #ciphertext_blob} => String
@@ -4083,6 +4202,7 @@ module Aws::KMS
4083
4202
  # },
4084
4203
  # grant_tokens: ["GrantTokenType"],
4085
4204
  # encryption_algorithm: "SYMMETRIC_DEFAULT", # accepts SYMMETRIC_DEFAULT, RSAES_OAEP_SHA_1, RSAES_OAEP_SHA_256, SM2PKE
4205
+ # dry_run: false,
4086
4206
  # })
4087
4207
  #
4088
4208
  # @example Response structure
@@ -4199,6 +4319,9 @@ module Aws::KMS
4199
4319
  #
4200
4320
  # * GenerateDataKeyWithoutPlaintext
4201
4321
  #
4322
+ # **Eventual consistency**: The KMS API follows an eventual consistency
4323
+ # model. For more information, see [KMS eventual consistency][10].
4324
+ #
4202
4325
  #
4203
4326
  #
4204
4327
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
@@ -4210,6 +4333,7 @@ module Aws::KMS
4210
4333
  # [7]: https://docs.aws.amazon.com/dynamodb-encryption-client/latest/devguide/
4211
4334
  # [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html
4212
4335
  # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
4336
+ # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
4213
4337
  #
4214
4338
  # @option params [required, String] :key_id
4215
4339
  # Specifies the symmetric encryption KMS key that encrypts the data key.
@@ -4317,6 +4441,17 @@ module Aws::KMS
4317
4441
  # [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
4318
4442
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
4319
4443
  #
4444
+ # @option params [Boolean] :dry_run
4445
+ # Checks if your request will succeed. `DryRun` is an optional
4446
+ # parameter.
4447
+ #
4448
+ # To learn more about how to use this parameter, see [Testing your KMS
4449
+ # API calls][1] in the *Key Management Service Developer Guide*.
4450
+ #
4451
+ #
4452
+ #
4453
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
4454
+ #
4320
4455
  # @return [Types::GenerateDataKeyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4321
4456
  #
4322
4457
  # * {Types::GenerateDataKeyResponse#ciphertext_blob #ciphertext_blob} => String
@@ -4381,6 +4516,7 @@ module Aws::KMS
4381
4516
  # key_encryption_algorithm: "RSAES_OAEP_SHA_256", # accepts RSAES_OAEP_SHA_256
4382
4517
  # attestation_document: "data",
4383
4518
  # },
4519
+ # dry_run: false,
4384
4520
  # })
4385
4521
  #
4386
4522
  # @example Response structure
@@ -4404,8 +4540,9 @@ module Aws::KMS
4404
4540
  # a copy of the private key that is encrypted under the symmetric
4405
4541
  # encryption KMS key you specify. You can use the data key pair to
4406
4542
  # perform asymmetric cryptography and implement digital signatures
4407
- # outside of KMS. The bytes in the keys are random; they not related to
4408
- # the caller or to the KMS key that is used to encrypt the private key.
4543
+ # outside of KMS. The bytes in the keys are random; they are not related
4544
+ # to the caller or to the KMS key that is used to encrypt the private
4545
+ # key.
4409
4546
  #
4410
4547
  # You can use the public key that `GenerateDataKeyPair` returns to
4411
4548
  # encrypt data or verify a signature outside of KMS. Then, store the
@@ -4486,6 +4623,9 @@ module Aws::KMS
4486
4623
  #
4487
4624
  # * GenerateDataKeyWithoutPlaintext
4488
4625
  #
4626
+ # **Eventual consistency**: The KMS API follows an eventual consistency
4627
+ # model. For more information, see [KMS eventual consistency][9].
4628
+ #
4489
4629
  #
4490
4630
  #
4491
4631
  # [1]: https://tools.ietf.org/html/rfc5280
@@ -4496,6 +4636,7 @@ module Aws::KMS
4496
4636
  # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
4497
4637
  # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
4498
4638
  # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
4639
+ # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
4499
4640
  #
4500
4641
  # @option params [Hash<String,String>] :encryption_context
4501
4642
  # Specifies the encryption context that will be used when encrypting the
@@ -4596,6 +4737,17 @@ module Aws::KMS
4596
4737
  # [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
4597
4738
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
4598
4739
  #
4740
+ # @option params [Boolean] :dry_run
4741
+ # Checks if your request will succeed. `DryRun` is an optional
4742
+ # parameter.
4743
+ #
4744
+ # To learn more about how to use this parameter, see [Testing your KMS
4745
+ # API calls][1] in the *Key Management Service Developer Guide*.
4746
+ #
4747
+ #
4748
+ #
4749
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
4750
+ #
4599
4751
  # @return [Types::GenerateDataKeyPairResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4600
4752
  #
4601
4753
  # * {Types::GenerateDataKeyPairResponse#private_key_ciphertext_blob #private_key_ciphertext_blob} => String
@@ -4665,6 +4817,7 @@ module Aws::KMS
4665
4817
  # key_encryption_algorithm: "RSAES_OAEP_SHA_256", # accepts RSAES_OAEP_SHA_256
4666
4818
  # attestation_document: "data",
4667
4819
  # },
4820
+ # dry_run: false,
4668
4821
  # })
4669
4822
  #
4670
4823
  # @example Response structure
@@ -4747,12 +4900,16 @@ module Aws::KMS
4747
4900
  #
4748
4901
  # * GenerateDataKeyWithoutPlaintext
4749
4902
  #
4903
+ # **Eventual consistency**: The KMS API follows an eventual consistency
4904
+ # model. For more information, see [KMS eventual consistency][5].
4905
+ #
4750
4906
  #
4751
4907
  #
4752
4908
  # [1]: https://tools.ietf.org/html/rfc5280
4753
4909
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
4754
4910
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
4755
4911
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
4912
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
4756
4913
  #
4757
4914
  # @option params [Hash<String,String>] :encryption_context
4758
4915
  # Specifies the encryption context that will be used when encrypting the
@@ -4824,6 +4981,17 @@ module Aws::KMS
4824
4981
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
4825
4982
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
4826
4983
  #
4984
+ # @option params [Boolean] :dry_run
4985
+ # Checks if your request will succeed. `DryRun` is an optional
4986
+ # parameter.
4987
+ #
4988
+ # To learn more about how to use this parameter, see [Testing your KMS
4989
+ # API calls][1] in the *Key Management Service Developer Guide*.
4990
+ #
4991
+ #
4992
+ #
4993
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
4994
+ #
4827
4995
  # @return [Types::GenerateDataKeyPairWithoutPlaintextResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4828
4996
  #
4829
4997
  # * {Types::GenerateDataKeyPairWithoutPlaintextResponse#private_key_ciphertext_blob #private_key_ciphertext_blob} => String
@@ -4859,6 +5027,7 @@ module Aws::KMS
4859
5027
  # key_id: "KeyIdType", # required
4860
5028
  # key_pair_spec: "RSA_2048", # required, accepts RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521, ECC_SECG_P256K1, SM2
4861
5029
  # grant_tokens: ["GrantTokenType"],
5030
+ # dry_run: false,
4862
5031
  # })
4863
5032
  #
4864
5033
  # @example Response structure
@@ -4951,11 +5120,15 @@ module Aws::KMS
4951
5120
  #
4952
5121
  # * GenerateDataKeyPairWithoutPlaintext
4953
5122
  #
5123
+ # **Eventual consistency**: The KMS API follows an eventual consistency
5124
+ # model. For more information, see [KMS eventual consistency][4].
5125
+ #
4954
5126
  #
4955
5127
  #
4956
5128
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
4957
5129
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
4958
5130
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
5131
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
4959
5132
  #
4960
5133
  # @option params [required, String] :key_id
4961
5134
  # Specifies the symmetric encryption KMS key that encrypts the data key.
@@ -5028,6 +5201,17 @@ module Aws::KMS
5028
5201
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
5029
5202
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
5030
5203
  #
5204
+ # @option params [Boolean] :dry_run
5205
+ # Checks if your request will succeed. `DryRun` is an optional
5206
+ # parameter.
5207
+ #
5208
+ # To learn more about how to use this parameter, see [Testing your KMS
5209
+ # API calls][1] in the *Key Management Service Developer Guide*.
5210
+ #
5211
+ #
5212
+ #
5213
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
5214
+ #
5031
5215
  # @return [Types::GenerateDataKeyWithoutPlaintextResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5032
5216
  #
5033
5217
  # * {Types::GenerateDataKeyWithoutPlaintextResponse#ciphertext_blob #ciphertext_blob} => String
@@ -5060,6 +5244,7 @@ module Aws::KMS
5060
5244
  # key_spec: "AES_256", # accepts AES_256, AES_128
5061
5245
  # number_of_bytes: 1,
5062
5246
  # grant_tokens: ["GrantTokenType"],
5247
+ # dry_run: false,
5063
5248
  # })
5064
5249
  #
5065
5250
  # @example Response structure
@@ -5111,12 +5296,16 @@ module Aws::KMS
5111
5296
  #
5112
5297
  # **Related operations**: VerifyMac
5113
5298
  #
5299
+ # **Eventual consistency**: The KMS API follows an eventual consistency
5300
+ # model. For more information, see [KMS eventual consistency][5].
5301
+ #
5114
5302
  #
5115
5303
  #
5116
5304
  # [1]: https://datatracker.ietf.org/doc/html/rfc2104
5117
5305
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
5118
5306
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
5119
5307
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
5308
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
5120
5309
  #
5121
5310
  # @option params [required, String, StringIO, File] :message
5122
5311
  # The message to be hashed. Specify a message of up to 4,096 bytes.
@@ -5157,6 +5346,17 @@ module Aws::KMS
5157
5346
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
5158
5347
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
5159
5348
  #
5349
+ # @option params [Boolean] :dry_run
5350
+ # Checks if your request will succeed. `DryRun` is an optional
5351
+ # parameter.
5352
+ #
5353
+ # To learn more about how to use this parameter, see [Testing your KMS
5354
+ # API calls][1] in the *Key Management Service Developer Guide*.
5355
+ #
5356
+ #
5357
+ #
5358
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
5359
+ #
5160
5360
  # @return [Types::GenerateMacResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5161
5361
  #
5162
5362
  # * {Types::GenerateMacResponse#mac #mac} => String
@@ -5189,6 +5389,7 @@ module Aws::KMS
5189
5389
  # key_id: "KeyIdType", # required
5190
5390
  # mac_algorithm: "HMAC_SHA_224", # required, accepts HMAC_SHA_224, HMAC_SHA_256, HMAC_SHA_384, HMAC_SHA_512
5191
5391
  # grant_tokens: ["GrantTokenType"],
5392
+ # dry_run: false,
5192
5393
  # })
5193
5394
  #
5194
5395
  # @example Response structure
@@ -5235,6 +5436,9 @@ module Aws::KMS
5235
5436
  #
5236
5437
  # **Required permissions**: [kms:GenerateRandom][5] (IAM policy)
5237
5438
  #
5439
+ # **Eventual consistency**: The KMS API follows an eventual consistency
5440
+ # model. For more information, see [KMS eventual consistency][6].
5441
+ #
5238
5442
  #
5239
5443
  #
5240
5444
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
@@ -5242,6 +5446,7 @@ module Aws::KMS
5242
5446
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
5243
5447
  # [4]: https://docs.aws.amazon.com/kms/latest/cryptographic-details/
5244
5448
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
5449
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
5245
5450
  #
5246
5451
  # @option params [Integer] :number_of_bytes
5247
5452
  # The length of the random byte string. This parameter is required.
@@ -5352,11 +5557,16 @@ module Aws::KMS
5352
5557
  #
5353
5558
  # **Required permissions**: [kms:GetKeyPolicy][1] (key policy)
5354
5559
  #
5355
- # **Related operations**: PutKeyPolicy
5560
+ # **Related operations**: [PutKeyPolicy][2]
5561
+ #
5562
+ # **Eventual consistency**: The KMS API follows an eventual consistency
5563
+ # model. For more information, see [KMS eventual consistency][3].
5356
5564
  #
5357
5565
  #
5358
5566
  #
5359
5567
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
5568
+ # [2]: https://docs.aws.amazon.com/kms/latest/APIReference/API_PutKeyPolicy.html
5569
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
5360
5570
  #
5361
5571
  # @option params [required, String] :key_id
5362
5572
  # Gets the key policy for the specified KMS key.
@@ -5475,6 +5685,9 @@ module Aws::KMS
5475
5685
  #
5476
5686
  # * EnableKeyRotation
5477
5687
  #
5688
+ # **Eventual consistency**: The KMS API follows an eventual consistency
5689
+ # model. For more information, see [KMS eventual consistency][12].
5690
+ #
5478
5691
  #
5479
5692
  #
5480
5693
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html
@@ -5488,6 +5701,7 @@ module Aws::KMS
5488
5701
  # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
5489
5702
  # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
5490
5703
  # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
5704
+ # [12]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
5491
5705
  #
5492
5706
  # @option params [required, String] :key_id
5493
5707
  # Gets the rotation status for the specified KMS key.
@@ -5542,38 +5756,69 @@ module Aws::KMS
5542
5756
  req.send_request(options)
5543
5757
  end
5544
5758
 
5545
- # Returns the items you need to import key material into a symmetric
5546
- # encryption KMS key. For more information about importing key material
5547
- # into KMS, see [Importing key material][1] in the *Key Management
5548
- # Service Developer Guide*.
5759
+ # Returns the public key and an import token you need to import or
5760
+ # reimport key material for a KMS key.
5761
+ #
5762
+ # By default, KMS keys are created with key material that KMS generates.
5763
+ # This operation supports [Importing key material][1], an advanced
5764
+ # feature that lets you generate and import the cryptographic key
5765
+ # material for a KMS key. For more information about importing key
5766
+ # material into KMS, see [Importing key material][1] in the *Key
5767
+ # Management Service Developer Guide*.
5768
+ #
5769
+ # Before calling `GetParametersForImport`, use the CreateKey operation
5770
+ # with an `Origin` value of `EXTERNAL` to create a KMS key with no key
5771
+ # material. You can import key material for a symmetric encryption KMS
5772
+ # key, HMAC KMS key, asymmetric encryption KMS key, or asymmetric
5773
+ # signing KMS key. You can also import key material into a [multi-Region
5774
+ # key][2] of any supported type. However, you can't import key material
5775
+ # into a KMS key in a [custom key store][3]. You can also use
5776
+ # `GetParametersForImport` to get a public key and import token to
5777
+ # [reimport the original key material][4] into a KMS key whose key
5778
+ # material expired or was deleted.
5779
+ #
5780
+ # `GetParametersForImport` returns the items that you need to import
5781
+ # your key material.
5782
+ #
5783
+ # * The public key (or "wrapping key") of an RSA key pair that KMS
5784
+ # generates.
5785
+ #
5786
+ # You will use this public key to encrypt ("wrap") your key material
5787
+ # while it's in transit to KMS.
5788
+ #
5789
+ # * A import token that ensures that KMS can decrypt your key material
5790
+ # and associate it with the correct KMS key.
5791
+ #
5792
+ # The public key and its import token are permanently linked and must be
5793
+ # used together. Each public key and import token set is valid for 24
5794
+ # hours. The expiration date and time appear in the `ParametersValidTo`
5795
+ # field in the `GetParametersForImport` response. You cannot use an
5796
+ # expired public key or import token in an ImportKeyMaterial request. If
5797
+ # your key and token expire, send another `GetParametersForImport`
5798
+ # request.
5799
+ #
5800
+ # `GetParametersForImport` requires the following information:
5549
5801
  #
5550
- # This operation returns a public key and an import token. Use the
5551
- # public key to encrypt the symmetric key material. Store the import
5552
- # token to send with a subsequent ImportKeyMaterial request.
5553
- #
5554
- # You must specify the key ID of the symmetric encryption KMS key into
5555
- # which you will import key material. The KMS key `Origin` must be
5556
- # `EXTERNAL`. You must also specify the wrapping algorithm and type of
5557
- # wrapping key (public key) that you will use to encrypt the key
5558
- # material. You cannot perform this operation on an asymmetric KMS key,
5559
- # an HMAC KMS key, or on any KMS key in a different Amazon Web Services
5560
- # account.
5561
- #
5562
- # To import key material, you must use the public key and import token
5563
- # from the same response. These items are valid for 24 hours. The
5564
- # expiration date and time appear in the `GetParametersForImport`
5565
- # response. You cannot use an expired token in an ImportKeyMaterial
5566
- # request. If your key and token expire, send another
5567
- # `GetParametersForImport` request.
5802
+ # * The key ID of the KMS key for which you are importing the key
5803
+ # material.
5804
+ #
5805
+ # * The key spec of the public key ("wrapping key") that you will use
5806
+ # to encrypt your key material during import.
5807
+ #
5808
+ # * The wrapping algorithm that you will use with the public key to
5809
+ # encrypt your key material.
5810
+ #
5811
+ # You can use the same or a different public key spec and wrapping
5812
+ # algorithm each time you import or reimport the same key material.
5568
5813
  #
5569
5814
  # The KMS key that you use for this operation must be in a compatible
5570
- # key state. For details, see [Key states of KMS keys][2] in the *Key
5815
+ # key state. For details, see [Key states of KMS keys][5] in the *Key
5571
5816
  # Management Service Developer Guide*.
5572
5817
  #
5573
5818
  # **Cross-account use**: No. You cannot perform this operation on a KMS
5574
5819
  # key in a different Amazon Web Services account.
5575
5820
  #
5576
- # **Required permissions**: [kms:GetParametersForImport][3] (key policy)
5821
+ # **Required permissions**: [kms:GetParametersForImport][6] (key policy)
5577
5822
  #
5578
5823
  # **Related operations:**
5579
5824
  #
@@ -5581,15 +5826,25 @@ module Aws::KMS
5581
5826
  #
5582
5827
  # * DeleteImportedKeyMaterial
5583
5828
  #
5829
+ # **Eventual consistency**: The KMS API follows an eventual consistency
5830
+ # model. For more information, see [KMS eventual consistency][7].
5831
+ #
5584
5832
  #
5585
5833
  #
5586
5834
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
5587
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
5588
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
5835
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
5836
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
5837
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html#reimport-key-material
5838
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
5839
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
5840
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
5589
5841
  #
5590
5842
  # @option params [required, String] :key_id
5591
- # The identifier of the symmetric encryption KMS key into which you will
5592
- # import key material. The `Origin` of the KMS key must be `EXTERNAL`.
5843
+ # The identifier of the KMS key that will be associated with the
5844
+ # imported key material. The `Origin` of the KMS key must be `EXTERNAL`.
5845
+ #
5846
+ # All KMS key types are supported, including multi-Region keys. However,
5847
+ # you cannot import key material into a KMS key in a custom key store.
5593
5848
  #
5594
5849
  # Specify the key ID or key ARN of the KMS key.
5595
5850
  #
@@ -5604,25 +5859,52 @@ module Aws::KMS
5604
5859
  # DescribeKey.
5605
5860
  #
5606
5861
  # @option params [required, String] :wrapping_algorithm
5607
- # The algorithm you will use to encrypt the key material before using
5608
- # the ImportKeyMaterial operation to import it. For more information,
5609
- # see [Encrypt the key material][1] in the *Key Management Service
5610
- # Developer Guide*.
5862
+ # The algorithm you will use with the RSA public key (`PublicKey`) in
5863
+ # the response to protect your key material during import. For more
5864
+ # information, see [Select a wrapping
5865
+ # algorithm](kms/latest/developerguide/importing-keys-get-public-key-and-token.html#select-wrapping-algorithm)
5866
+ # in the *Key Management Service Developer Guide*.
5867
+ #
5868
+ # For RSA\_AES wrapping algorithms, you encrypt your key material with
5869
+ # an AES key that you generate, then encrypt your AES key with the RSA
5870
+ # public key from KMS. For RSAES wrapping algorithms, you encrypt your
5871
+ # key material directly with the RSA public key from KMS.
5872
+ #
5873
+ # The wrapping algorithms that you can use depend on the type of key
5874
+ # material that you are importing. To import an RSA private key, you
5875
+ # must use an RSA\_AES wrapping algorithm.
5611
5876
  #
5612
- # The `RSAES_PKCS1_V1_5` wrapping algorithm is deprecated. We recommend
5613
- # that you begin using a different wrapping algorithm immediately. KMS
5614
- # will end support for `RSAES_PKCS1_V1_5` by October 1, 2023 pursuant to
5615
- # [cryptographic key management guidance][2] from the National Institute
5616
- # of Standards and Technology (NIST).
5877
+ # * **RSA\_AES\_KEY\_WRAP\_SHA\_256** Supported for wrapping RSA and
5878
+ # ECC key material.
5617
5879
  #
5880
+ # * **RSA\_AES\_KEY\_WRAP\_SHA\_1** — Supported for wrapping RSA and ECC
5881
+ # key material.
5618
5882
  #
5883
+ # * **RSAES\_OAEP\_SHA\_256** — Supported for all types of key material,
5884
+ # except RSA key material (private key).
5619
5885
  #
5620
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-encrypt-key-material.html
5621
- # [2]: https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-131Ar2.pdf
5886
+ # You cannot use the RSAES\_OAEP\_SHA\_256 wrapping algorithm with the
5887
+ # RSA\_2048 wrapping key spec to wrap ECC\_NIST\_P521 key material.
5888
+ #
5889
+ # * **RSAES\_OAEP\_SHA\_1** — Supported for all types of key material,
5890
+ # except RSA key material (private key).
5891
+ #
5892
+ # You cannot use the RSAES\_OAEP\_SHA\_1 wrapping algorithm with the
5893
+ # RSA\_2048 wrapping key spec to wrap ECC\_NIST\_P521 key material.
5894
+ #
5895
+ # * **RSAES\_PKCS1\_V1\_5** (Deprecated) — As of October 10, 2023, KMS
5896
+ # does not support the RSAES\_PKCS1\_V1\_5 wrapping algorithm.
5622
5897
  #
5623
5898
  # @option params [required, String] :wrapping_key_spec
5624
- # The type of wrapping key (public key) to return in the response. Only
5625
- # 2048-bit RSA public keys are supported.
5899
+ # The type of RSA public key to return in the response. You will use
5900
+ # this wrapping key with the specified wrapping algorithm to protect
5901
+ # your key material during import.
5902
+ #
5903
+ # Use the longest RSA wrapping key that is practical.
5904
+ #
5905
+ # You cannot use an RSA\_2048 public key to directly wrap an
5906
+ # ECC\_NIST\_P521 private key. Instead, use an RSA\_AES wrapping
5907
+ # algorithm or choose a longer RSA public key.
5626
5908
  #
5627
5909
  # @return [Types::GetParametersForImportResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5628
5910
  #
@@ -5632,12 +5914,13 @@ module Aws::KMS
5632
5914
  # * {Types::GetParametersForImportResponse#parameters_valid_to #parameters_valid_to} => Time
5633
5915
  #
5634
5916
  #
5635
- # @example Example: To retrieve the public key and import token for a KMS key
5917
+ # @example Example: To download the public key and import token for a symmetric encryption KMS key
5636
5918
  #
5637
- # # The following example retrieves the public key and import token for the specified KMS key.
5919
+ # # The following example downloads a public key and import token to import symmetric encryption key material. It uses the
5920
+ # # default wrapping key spec and the RSAES_OAEP_SHA_256 wrapping algorithm.
5638
5921
  #
5639
5922
  # resp = client.get_parameters_for_import({
5640
- # key_id: "1234abcd-12ab-34cd-56ef-1234567890ab", # The identifier of the KMS key for which to retrieve the public key and import token. You can use the key ID or the Amazon Resource Name (ARN) of the KMS key.
5923
+ # key_id: "1234abcd-12ab-34cd-56ef-1234567890ab", # The identifier of the KMS key that will be associated with the imported key material. You can use the key ID or the Amazon Resource Name (ARN) of the KMS key.
5641
5924
  # wrapping_algorithm: "RSAES_OAEP_SHA_1", # The algorithm that you will use to encrypt the key material before importing it.
5642
5925
  # wrapping_key_spec: "RSA_2048", # The type of wrapping key (public key) to return in the response.
5643
5926
  # })
@@ -5645,8 +5928,67 @@ module Aws::KMS
5645
5928
  # resp.to_h outputs the following:
5646
5929
  # {
5647
5930
  # import_token: "<binary data>", # The import token to send with a subsequent ImportKeyMaterial request.
5648
- # key_id: "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", # The ARN of the KMS key for which you are retrieving the public key and import token. This is the same KMS key specified in the request.
5649
- # parameters_valid_to: Time.parse("2016-12-01T14:52:17-08:00"), # The time at which the import token and public key are no longer valid.
5931
+ # key_id: "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", # The ARN of the KMS key that will be associated with the imported key material.
5932
+ # parameters_valid_to: Time.parse("2023-02-01T14:52:17-08:00"), # The date and time when the import token and public key expire. After this time, call GetParametersForImport again.
5933
+ # public_key: "<binary data>", # The public key to use to encrypt the key material before importing it.
5934
+ # }
5935
+ #
5936
+ # @example Example: To download the public key and import token for an RSA asymmetric KMS key
5937
+ #
5938
+ # # The following example downloads a public key and import token to import an RSA private key. It uses a required RSA_AES
5939
+ # # wrapping algorithm and the largest supported private key.
5940
+ #
5941
+ # resp = client.get_parameters_for_import({
5942
+ # key_id: "arn:aws:kms:us-east-2:111122223333:key/8888abcd-12ab-34cd-56ef-1234567890ab", # The identifier of the KMS key that will be associated with the imported key material. You can use the key ID or the Amazon Resource Name (ARN) of the KMS key.
5943
+ # wrapping_algorithm: "RSA_AES_KEY_WRAP_SHA_256", # The algorithm that you will use to encrypt the key material before importing it.
5944
+ # wrapping_key_spec: "RSA_4096", # The type of wrapping key (public key) to return in the response.
5945
+ # })
5946
+ #
5947
+ # resp.to_h outputs the following:
5948
+ # {
5949
+ # import_token: "<binary data>", # The import token to send with a subsequent ImportKeyMaterial request.
5950
+ # key_id: "arn:aws:kms:us-east-2:111122223333:key/8888abcd-12ab-34cd-56ef-1234567890ab", # The ARN of the KMS key that will be associated with the imported key material.
5951
+ # parameters_valid_to: Time.parse("2023-03-08T13:02:02-07:00"), # The date and time when the import token and public key expire. After this time, call GetParametersForImport again.
5952
+ # public_key: "<binary data>", # The public key to use to encrypt the key material before importing it.
5953
+ # }
5954
+ #
5955
+ # @example Example: To download the public key and import token for an elliptic curve (ECC) asymmetric KMS key
5956
+ #
5957
+ # # The following example downloads a public key and import token to import an ECC_NIST_P521 (secp521r1) private key. You
5958
+ # # cannot directly wrap this ECC key under an RSA_2048 public key, although you can use an RSA_2048 public key with an
5959
+ # # RSA_AES wrapping algorithm to wrap any supported key material. This example requests an RSA_3072 public key for use with
5960
+ # # the RSAES_OAEP_SHA_256.
5961
+ #
5962
+ # resp = client.get_parameters_for_import({
5963
+ # key_id: "arn:aws:kms:us-east-2:111122223333:key/9876abcd-12ab-34cd-56ef-1234567890ab", # The identifier of the KMS key that will be associated with the imported key material. You can use the key ID or the Amazon Resource Name (ARN) of the KMS key.
5964
+ # wrapping_algorithm: "RSAES_OAEP_SHA_256", # The algorithm that you will use to encrypt the key material before importing it.
5965
+ # wrapping_key_spec: "RSA_3072", # The type of wrapping key (public key) to return in the response.
5966
+ # })
5967
+ #
5968
+ # resp.to_h outputs the following:
5969
+ # {
5970
+ # import_token: "<binary data>", # The import token to send with a subsequent ImportKeyMaterial request.
5971
+ # key_id: "arn:aws:kms:us-east-2:111122223333:key/9876abcd-12ab-34cd-56ef-1234567890ab", # The ARN of the KMS key that will be associated with the imported key material.
5972
+ # parameters_valid_to: Time.parse("2023-09-12T03:15:01-20:00"), # The date and time when the import token and public key expire. After this time, call GetParametersForImport again.
5973
+ # public_key: "<binary data>", # The public key to use to encrypt the key material before importing it.
5974
+ # }
5975
+ #
5976
+ # @example Example: To download the public key and import token for an HMAC KMS key
5977
+ #
5978
+ # # The following example downloads a public key and import token to import an HMAC key. It uses the RSAES_OAEP_SHA_256
5979
+ # # wrapping algorithm and an RSA_4096 private key.
5980
+ #
5981
+ # resp = client.get_parameters_for_import({
5982
+ # key_id: "2468abcd-12ab-34cd-56ef-1234567890ab", # The identifier of the KMS key that will be associated with the imported key material. You can use the key ID or the Amazon Resource Name (ARN) of the KMS key.
5983
+ # wrapping_algorithm: "RSAES_OAEP_SHA_256", # The algorithm that you will use to encrypt the key material before importing it.
5984
+ # wrapping_key_spec: "RSA_4096", # The type of wrapping key (public key) to return in the response.
5985
+ # })
5986
+ #
5987
+ # resp.to_h outputs the following:
5988
+ # {
5989
+ # import_token: "<binary data>", # The import token to send with a subsequent ImportKeyMaterial request.
5990
+ # key_id: "arn:aws:kms:us-east-2:111122223333:key/2468abcd-12ab-34cd-56ef-1234567890ab", # The ARN of the KMS key that will be associated with the imported key material.
5991
+ # parameters_valid_to: Time.parse("2023-04-02T13:02:02-07:00"), # The date and time when the import token and public key expire. After this time, call GetParametersForImport again.
5650
5992
  # public_key: "<binary data>", # The public key to use to encrypt the key material before importing it.
5651
5993
  # }
5652
5994
  #
@@ -5654,8 +5996,8 @@ module Aws::KMS
5654
5996
  #
5655
5997
  # resp = client.get_parameters_for_import({
5656
5998
  # key_id: "KeyIdType", # required
5657
- # wrapping_algorithm: "RSAES_PKCS1_V1_5", # required, accepts RSAES_PKCS1_V1_5, RSAES_OAEP_SHA_1, RSAES_OAEP_SHA_256
5658
- # wrapping_key_spec: "RSA_2048", # required, accepts RSA_2048
5999
+ # wrapping_algorithm: "RSAES_PKCS1_V1_5", # required, accepts RSAES_PKCS1_V1_5, RSAES_OAEP_SHA_1, RSAES_OAEP_SHA_256, RSA_AES_KEY_WRAP_SHA_1, RSA_AES_KEY_WRAP_SHA_256
6000
+ # wrapping_key_spec: "RSA_2048", # required, accepts RSA_2048, RSA_3072, RSA_4096
5659
6001
  # })
5660
6002
  #
5661
6003
  # @example Response structure
@@ -5727,6 +6069,9 @@ module Aws::KMS
5727
6069
  #
5728
6070
  # **Related operations**: CreateKey
5729
6071
  #
6072
+ # **Eventual consistency**: The KMS API follows an eventual consistency
6073
+ # model. For more information, see [KMS eventual consistency][9].
6074
+ #
5730
6075
  #
5731
6076
  #
5732
6077
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
@@ -5737,6 +6082,7 @@ module Aws::KMS
5737
6082
  # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/asymmetric-key-specs.html#key-spec-sm-offline-verification
5738
6083
  # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
5739
6084
  # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
6085
+ # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
5740
6086
  #
5741
6087
  # @option params [required, String] :key_id
5742
6088
  # Identifies the asymmetric KMS key that includes the public key.
@@ -5834,66 +6180,112 @@ module Aws::KMS
5834
6180
  req.send_request(options)
5835
6181
  end
5836
6182
 
5837
- # Imports key material into an existing symmetric encryption KMS key
5838
- # that was created without key material. After you successfully import
5839
- # key material into a KMS key, you can [reimport the same key
5840
- # material][1] into that KMS key, but you cannot import different key
5841
- # material.
5842
- #
5843
- # You cannot perform this operation on an asymmetric KMS key, an HMAC
5844
- # KMS key, or on any KMS key in a different Amazon Web Services account.
5845
- # For more information about creating KMS keys with no key material and
5846
- # then importing key material, see [Importing Key Material][2] in the
5847
- # *Key Management Service Developer Guide*.
5848
- #
5849
- # Before using this operation, call GetParametersForImport. Its response
5850
- # includes a public key and an import token. Use the public key to
5851
- # encrypt the key material. Then, submit the import token from the same
5852
- # `GetParametersForImport` response.
5853
- #
5854
- # When calling this operation, you must specify the following values:
5855
- #
5856
- # * The key ID or key ARN of a KMS key with no key material. Its
5857
- # `Origin` must be `EXTERNAL`.
5858
- #
5859
- # To create a KMS key with no key material, call CreateKey and set the
5860
- # value of its `Origin` parameter to `EXTERNAL`. To get the `Origin`
5861
- # of a KMS key, call DescribeKey.)
6183
+ # Imports or reimports key material into an existing KMS key that was
6184
+ # created without key material. `ImportKeyMaterial` also sets the
6185
+ # expiration model and expiration date of the imported key material.
6186
+ #
6187
+ # By default, KMS keys are created with key material that KMS generates.
6188
+ # This operation supports [Importing key material][1], an advanced
6189
+ # feature that lets you generate and import the cryptographic key
6190
+ # material for a KMS key. For more information about importing key
6191
+ # material into KMS, see [Importing key material][1] in the *Key
6192
+ # Management Service Developer Guide*.
5862
6193
  #
5863
- # * The encrypted key material. To get the public key to encrypt the key
5864
- # material, call GetParametersForImport.
6194
+ # After you successfully import key material into a KMS key, you can
6195
+ # [reimport the same key material][2] into that KMS key, but you cannot
6196
+ # import different key material. You might reimport key material to
6197
+ # replace key material that expired or key material that you deleted.
6198
+ # You might also reimport key material to change the expiration model or
6199
+ # expiration date of the key material. Before reimporting key material,
6200
+ # if necessary, call DeleteImportedKeyMaterial to delete the current
6201
+ # imported key material.
6202
+ #
6203
+ # Each time you import key material into KMS, you can determine whether
6204
+ # (`ExpirationModel`) and when (`ValidTo`) the key material expires. To
6205
+ # change the expiration of your key material, you must import it again,
6206
+ # either by calling `ImportKeyMaterial` or using the [import
6207
+ # features](kms/latest/developerguide/importing-keys-import-key-material.html#importing-keys-import-key-material-console)
6208
+ # of the KMS console.
6209
+ #
6210
+ # Before calling `ImportKeyMaterial`:
6211
+ #
6212
+ # * Create or identify a KMS key with no key material. The KMS key must
6213
+ # have an `Origin` value of `EXTERNAL`, which indicates that the KMS
6214
+ # key is designed for imported key material.
6215
+ #
6216
+ # To create an new KMS key for imported key material, call the
6217
+ # CreateKey operation with an `Origin` value of `EXTERNAL`. You can
6218
+ # create a symmetric encryption KMS key, HMAC KMS key, asymmetric
6219
+ # encryption KMS key, or asymmetric signing KMS key. You can also
6220
+ # import key material into a [multi-Region
6221
+ # key](kms/latest/developerguide/multi-region-keys-overview.html) of
6222
+ # any supported type. However, you can't import key material into a
6223
+ # KMS key in a [custom key
6224
+ # store](kms/latest/developerguide/custom-key-store-overview.html).
6225
+ #
6226
+ # * Use the DescribeKey operation to verify that the `KeyState` of the
6227
+ # KMS key is `PendingImport`, which indicates that the KMS key has no
6228
+ # key material.
6229
+ #
6230
+ # If you are reimporting the same key material into an existing KMS
6231
+ # key, you might need to call the DeleteImportedKeyMaterial to delete
6232
+ # its existing key material.
6233
+ #
6234
+ # * Call the GetParametersForImport operation to get a public key and
6235
+ # import token set for importing key material.
6236
+ #
6237
+ # * Use the public key in the GetParametersForImport response to encrypt
6238
+ # your key material.
6239
+ #
6240
+ # Then, in an `ImportKeyMaterial` request, you submit your encrypted key
6241
+ # material and import token. When calling this operation, you must
6242
+ # specify the following values:
6243
+ #
6244
+ # * The key ID or key ARN of the KMS key to associate with the imported
6245
+ # key material. Its `Origin` must be `EXTERNAL` and its `KeyState`
6246
+ # must be `PendingImport`. You cannot perform this operation on a KMS
6247
+ # key in a [custom key
6248
+ # store](kms/latest/developerguide/custom-key-store-overview.html), or
6249
+ # on a KMS key in a different Amazon Web Services account. To get the
6250
+ # `Origin` and `KeyState` of a KMS key, call DescribeKey.
6251
+ #
6252
+ # * The encrypted key material.
5865
6253
  #
5866
6254
  # * The import token that GetParametersForImport returned. You must use
5867
6255
  # a public key and token from the same `GetParametersForImport`
5868
6256
  # response.
5869
6257
  #
5870
6258
  # * Whether the key material expires (`ExpirationModel`) and, if so,
5871
- # when (`ValidTo`). If you set an expiration date, on the specified
5872
- # date, KMS deletes the key material from the KMS key, making the KMS
5873
- # key unusable. To use the KMS key in cryptographic operations again,
5874
- # you must reimport the same key material. The only way to change the
5875
- # expiration model or expiration date is by reimporting the same key
5876
- # material and specifying a new expiration date.
6259
+ # when (`ValidTo`). For help with this choice, see [Setting an
6260
+ # expiration time][3] in the *Key Management Service Developer Guide*.
6261
+ #
6262
+ # If you set an expiration date, KMS deletes the key material from the
6263
+ # KMS key on the specified date, making the KMS key unusable. To use
6264
+ # the KMS key in cryptographic operations again, you must reimport the
6265
+ # same key material. However, you can delete and reimport the key
6266
+ # material at any time, including before the key material expires.
6267
+ # Each time you reimport, you can eliminate or reset the expiration
6268
+ # time.
5877
6269
  #
5878
6270
  # When this operation is successful, the key state of the KMS key
5879
- # changes from `PendingImport` to `Enabled`, and you can use the KMS
5880
- # key.
6271
+ # changes from `PendingImport` to `Enabled`, and you can use the KMS key
6272
+ # in cryptographic operations.
5881
6273
  #
5882
6274
  # If this operation fails, use the exception to help determine the
5883
6275
  # problem. If the error is related to the key material, the import
5884
6276
  # token, or wrapping key, use GetParametersForImport to get a new public
5885
6277
  # key and import token for the KMS key and repeat the import procedure.
5886
- # For help, see [How To Import Key Material][3] in the *Key Management
6278
+ # For help, see [How To Import Key Material][4] in the *Key Management
5887
6279
  # Service Developer Guide*.
5888
6280
  #
5889
6281
  # The KMS key that you use for this operation must be in a compatible
5890
- # key state. For details, see [Key states of KMS keys][4] in the *Key
6282
+ # key state. For details, see [Key states of KMS keys][5] in the *Key
5891
6283
  # Management Service Developer Guide*.
5892
6284
  #
5893
6285
  # **Cross-account use**: No. You cannot perform this operation on a KMS
5894
6286
  # key in a different Amazon Web Services account.
5895
6287
  #
5896
- # **Required permissions**: [kms:ImportKeyMaterial][5] (key policy)
6288
+ # **Required permissions**: [kms:ImportKeyMaterial][6] (key policy)
5897
6289
  #
5898
6290
  # **Related operations:**
5899
6291
  #
@@ -5901,22 +6293,33 @@ module Aws::KMS
5901
6293
  #
5902
6294
  # * GetParametersForImport
5903
6295
  #
6296
+ # **Eventual consistency**: The KMS API follows an eventual consistency
6297
+ # model. For more information, see [KMS eventual consistency][7].
5904
6298
  #
5905
6299
  #
5906
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html#reimport-key-material
5907
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
5908
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html#importing-keys-overview
5909
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
5910
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
6300
+ #
6301
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
6302
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html#reimport-key-material
6303
+ # [3]: https://docs.aws.amazon.com/en_us/kms/latest/developerguide/importing-keys.html#importing-keys-expiration
6304
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html#importing-keys-overview
6305
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
6306
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
6307
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
5911
6308
  #
5912
6309
  # @option params [required, String] :key_id
5913
- # The identifier of the symmetric encryption KMS key that receives the
6310
+ # The identifier of the KMS key that will be associated with the
5914
6311
  # imported key material. This must be the same KMS key specified in the
5915
6312
  # `KeyID` parameter of the corresponding GetParametersForImport request.
5916
- # The `Origin` of the KMS key must be `EXTERNAL`. You cannot perform
5917
- # this operation on an asymmetric KMS key, an HMAC KMS key, a KMS key in
5918
- # a custom key store, or on a KMS key in a different Amazon Web Services
5919
- # account
6313
+ # The `Origin` of the KMS key must be `EXTERNAL` and its `KeyState` must
6314
+ # be `PendingImport`.
6315
+ #
6316
+ # The KMS key can be a symmetric encryption KMS key, HMAC KMS key,
6317
+ # asymmetric encryption KMS key, or asymmetric signing KMS key,
6318
+ # including a [multi-Region
6319
+ # key](kms/latest/developerguide/multi-region-keys-overview.html) of any
6320
+ # supported type. You cannot perform this operation on a KMS key in a
6321
+ # custom key store, or on a KMS key in a different Amazon Web Services
6322
+ # account.
5920
6323
  #
5921
6324
  # Specify the key ID or key ARN of the KMS key.
5922
6325
  #
@@ -5937,7 +6340,7 @@ module Aws::KMS
5937
6340
  #
5938
6341
  # @option params [required, String, StringIO, File] :encrypted_key_material
5939
6342
  # The encrypted key material to import. The key material must be
5940
- # encrypted with the public wrapping key that GetParametersForImport
6343
+ # encrypted under the public wrapping key that GetParametersForImport
5941
6344
  # returned, using the wrapping algorithm that you specified in the same
5942
6345
  # `GetParametersForImport` request.
5943
6346
  #
@@ -5961,7 +6364,8 @@ module Aws::KMS
5961
6364
  #
5962
6365
  # @option params [String] :expiration_model
5963
6366
  # Specifies whether the key material expires. The default is
5964
- # `KEY_MATERIAL_EXPIRES`.
6367
+ # `KEY_MATERIAL_EXPIRES`. For help with this choice, see [Setting an
6368
+ # expiration time][1] in the *Key Management Service Developer Guide*.
5965
6369
  #
5966
6370
  # When the value of `ExpirationModel` is `KEY_MATERIAL_EXPIRES`, you
5967
6371
  # must specify a value for the `ValidTo` parameter. When value is
@@ -5969,8 +6373,11 @@ module Aws::KMS
5969
6373
  #
5970
6374
  # You cannot change the `ExpirationModel` or `ValidTo` values for the
5971
6375
  # current import after the request completes. To change either value,
5972
- # you must delete (DeleteImportedKeyMaterial) and reimport the key
5973
- # material.
6376
+ # you must reimport the key material.
6377
+ #
6378
+ #
6379
+ #
6380
+ # [1]: https://docs.aws.amazon.com/en_us/kms/latest/developerguide/importing-keys.html#importing-keys-expiration
5974
6381
  #
5975
6382
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
5976
6383
  #
@@ -5986,6 +6393,19 @@ module Aws::KMS
5986
6393
  # key_id: "1234abcd-12ab-34cd-56ef-1234567890ab", # The identifier of the KMS key to import the key material into. You can use the key ID or the Amazon Resource Name (ARN) of the KMS key.
5987
6394
  # })
5988
6395
  #
6396
+ # @example Example: To import key material into a KMS key
6397
+ #
6398
+ # # The following example imports key material that expires in 3 days. It might be part of an application that frequently
6399
+ # # reimports the same key material to comply with business rules or regulations.
6400
+ #
6401
+ # resp = client.import_key_material({
6402
+ # encrypted_key_material: "<binary data>", # The encrypted key material to import.
6403
+ # expiration_model: "KEY_MATERIAL_EXPIRES", # A value that specifies whether the key material expires.
6404
+ # import_token: "<binary data>", # The import token that you received in the response to a previous GetParametersForImport request.
6405
+ # key_id: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", # The identifier of the KMS key to import the key material into. You can use the key ID or the Amazon Resource Name (ARN) of the KMS key.
6406
+ # valid_to: Time.parse("2023-09-30T00:00:00-00:00"), # Specifies the date and time when the imported key material expires.
6407
+ # })
6408
+ #
5989
6409
  # @example Request syntax with placeholder values
5990
6410
  #
5991
6411
  # resp = client.import_key_material({
@@ -6041,11 +6461,15 @@ module Aws::KMS
6041
6461
  #
6042
6462
  # * UpdateAlias
6043
6463
  #
6464
+ # **Eventual consistency**: The KMS API follows an eventual consistency
6465
+ # model. For more information, see [KMS eventual consistency][4].
6466
+ #
6044
6467
  #
6045
6468
  #
6046
6469
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/limits.html#aliases-limit
6047
6470
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
6048
6471
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html#alias-access
6472
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
6049
6473
  #
6050
6474
  # @option params [String] :key_id
6051
6475
  # Lists only aliases that are associated with the specified KMS key.
@@ -6205,12 +6629,16 @@ module Aws::KMS
6205
6629
  #
6206
6630
  # * RevokeGrant
6207
6631
  #
6632
+ # **Eventual consistency**: The KMS API follows an eventual consistency
6633
+ # model. For more information, see [KMS eventual consistency][5].
6634
+ #
6208
6635
  #
6209
6636
  #
6210
6637
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html
6211
6638
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-grants.html
6212
6639
  # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services
6213
6640
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
6641
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
6214
6642
  #
6215
6643
  # @option params [Integer] :limit
6216
6644
  # Use this parameter to specify the maximum number of items to return.
@@ -6377,11 +6805,16 @@ module Aws::KMS
6377
6805
  #
6378
6806
  # * GetKeyPolicy
6379
6807
  #
6380
- # * PutKeyPolicy
6808
+ # * [PutKeyPolicy][2]
6809
+ #
6810
+ # **Eventual consistency**: The KMS API follows an eventual consistency
6811
+ # model. For more information, see [KMS eventual consistency][3].
6381
6812
  #
6382
6813
  #
6383
6814
  #
6384
6815
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
6816
+ # [2]: https://docs.aws.amazon.com/kms/latest/APIReference/API_PutKeyPolicy.html
6817
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
6385
6818
  #
6386
6819
  # @option params [required, String] :key_id
6387
6820
  # Gets the names of key policies for the specified KMS key.
@@ -6481,9 +6914,13 @@ module Aws::KMS
6481
6914
  #
6482
6915
  # * ListResourceTags
6483
6916
  #
6917
+ # **Eventual consistency**: The KMS API follows an eventual consistency
6918
+ # model. For more information, see [KMS eventual consistency][2].
6919
+ #
6484
6920
  #
6485
6921
  #
6486
6922
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
6923
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
6487
6924
  #
6488
6925
  # @option params [Integer] :limit
6489
6926
  # Use this parameter to specify the maximum number of items to return.
@@ -6596,11 +7033,15 @@ module Aws::KMS
6596
7033
  #
6597
7034
  # * UntagResource
6598
7035
  #
7036
+ # **Eventual consistency**: The KMS API follows an eventual consistency
7037
+ # model. For more information, see [KMS eventual consistency][4].
7038
+ #
6599
7039
  #
6600
7040
  #
6601
7041
  # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
6602
7042
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/tagging-keys.html
6603
7043
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
7044
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
6604
7045
  #
6605
7046
  # @option params [required, String] :key_id
6606
7047
  # Gets tags on the specified KMS key.
@@ -6709,14 +7150,25 @@ module Aws::KMS
6709
7150
  # programming languages, see [Programming grants][2].
6710
7151
  #
6711
7152
  # **Cross-account use**: You must specify a principal in your Amazon Web
6712
- # Services account. However, this operation can return grants in any
6713
- # Amazon Web Services account. You do not need `kms:ListRetirableGrants`
6714
- # permission (or any other additional permission) in any Amazon Web
6715
- # Services account other than your own.
7153
+ # Services account. This operation returns a list of grants where the
7154
+ # retiring principal specified in the `ListRetirableGrants` request is
7155
+ # the same retiring principal on the grant. This can include grants on
7156
+ # KMS keys owned by other Amazon Web Services accounts, but you do not
7157
+ # need `kms:ListRetirableGrants` permission (or any other additional
7158
+ # permission) in any Amazon Web Services account other than your own.
6716
7159
  #
6717
7160
  # **Required permissions**: [kms:ListRetirableGrants][3] (IAM policy) in
6718
7161
  # your Amazon Web Services account.
6719
7162
  #
7163
+ # <note markdown="1"> KMS authorizes `ListRetirableGrants` requests by evaluating the caller
7164
+ # account's kms:ListRetirableGrants permissions. The authorized
7165
+ # resource in `ListRetirableGrants` calls is the retiring principal
7166
+ # specified in the request. KMS does not evaluate the caller's
7167
+ # permissions to verify their access to any KMS keys or grants that
7168
+ # might be returned by the `ListRetirableGrants` call.
7169
+ #
7170
+ # </note>
7171
+ #
6720
7172
  # **Related operations:**
6721
7173
  #
6722
7174
  # * CreateGrant
@@ -6727,11 +7179,15 @@ module Aws::KMS
6727
7179
  #
6728
7180
  # * RevokeGrant
6729
7181
  #
7182
+ # **Eventual consistency**: The KMS API follows an eventual consistency
7183
+ # model. For more information, see [KMS eventual consistency][4].
7184
+ #
6730
7185
  #
6731
7186
  #
6732
7187
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html
6733
7188
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-grants.html
6734
7189
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
7190
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
6735
7191
  #
6736
7192
  # @option params [Integer] :limit
6737
7193
  # Use this parameter to specify the maximum number of items to return.
@@ -6851,12 +7307,16 @@ module Aws::KMS
6851
7307
  #
6852
7308
  # **Related operations**: GetKeyPolicy
6853
7309
  #
7310
+ # **Eventual consistency**: The KMS API follows an eventual consistency
7311
+ # model. For more information, see [KMS eventual consistency][5].
7312
+ #
6854
7313
  #
6855
7314
  #
6856
7315
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
6857
7316
  # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
6858
7317
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-key-policies.html#put-policy
6859
7318
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
7319
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
6860
7320
  #
6861
7321
  # @option params [required, String] :key_id
6862
7322
  # Sets the key policy on the specified KMS key.
@@ -6931,12 +7391,13 @@ module Aws::KMS
6931
7391
  # Management Service Developer Guide*.
6932
7392
  #
6933
7393
  # Use this parameter only when you intend to prevent the principal that
6934
- # is making the request from making a subsequent PutKeyPolicy request on
6935
- # the KMS key.
7394
+ # is making the request from making a subsequent [PutKeyPolicy][2]
7395
+ # request on the KMS key.
6936
7396
  #
6937
7397
  #
6938
7398
  #
6939
7399
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
7400
+ # [2]: https://docs.aws.amazon.com/kms/latest/APIReference/API_PutKeyPolicy.html
6940
7401
  #
6941
7402
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
6942
7403
  #
@@ -7061,6 +7522,9 @@ module Aws::KMS
7061
7522
  #
7062
7523
  # * GenerateDataKeyPair
7063
7524
  #
7525
+ # **Eventual consistency**: The KMS API follows an eventual consistency
7526
+ # model. For more information, see [KMS eventual consistency][9].
7527
+ #
7064
7528
  #
7065
7529
  #
7066
7530
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotate-keys-manually
@@ -7071,6 +7535,7 @@ module Aws::KMS
7071
7535
  # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
7072
7536
  # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
7073
7537
  # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
7538
+ # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
7074
7539
  #
7075
7540
  # @option params [required, String, StringIO, File] :ciphertext_blob
7076
7541
  # Ciphertext of the data to reencrypt.
@@ -7215,6 +7680,17 @@ module Aws::KMS
7215
7680
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
7216
7681
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
7217
7682
  #
7683
+ # @option params [Boolean] :dry_run
7684
+ # Checks if your request will succeed. `DryRun` is an optional
7685
+ # parameter.
7686
+ #
7687
+ # To learn more about how to use this parameter, see [Testing your KMS
7688
+ # API calls][1] in the *Key Management Service Developer Guide*.
7689
+ #
7690
+ #
7691
+ #
7692
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
7693
+ #
7218
7694
  # @return [Types::ReEncryptResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7219
7695
  #
7220
7696
  # * {Types::ReEncryptResponse#ciphertext_blob #ciphertext_blob} => String
@@ -7255,6 +7731,7 @@ module Aws::KMS
7255
7731
  # source_encryption_algorithm: "SYMMETRIC_DEFAULT", # accepts SYMMETRIC_DEFAULT, RSAES_OAEP_SHA_1, RSAES_OAEP_SHA_256, SM2PKE
7256
7732
  # destination_encryption_algorithm: "SYMMETRIC_DEFAULT", # accepts SYMMETRIC_DEFAULT, RSAES_OAEP_SHA_1, RSAES_OAEP_SHA_256, SM2PKE
7257
7733
  # grant_tokens: ["GrantTokenType"],
7734
+ # dry_run: false,
7258
7735
  # })
7259
7736
  #
7260
7737
  # @example Response structure
@@ -7329,9 +7806,8 @@ module Aws::KMS
7329
7806
  # If you replicate a multi-Region primary key with imported key
7330
7807
  # material, the replica key is created with no key material. You must
7331
7808
  # import the same key material that you imported into the primary key.
7332
- # For details, see [Importing key material into multi-Region
7333
- # keys](kms/latest/developerguide/multi-region-keys-import.html) in the
7334
- # *Key Management Service Developer Guide*.
7809
+ # For details, see [Importing key material into multi-Region keys][12]
7810
+ # in the *Key Management Service Developer Guide*.
7335
7811
  #
7336
7812
  # To convert a replica key to a primary key, use the UpdatePrimaryRegion
7337
7813
  # operation.
@@ -7361,6 +7837,9 @@ module Aws::KMS
7361
7837
  #
7362
7838
  # * UpdatePrimaryRegion
7363
7839
  #
7840
+ # **Eventual consistency**: The KMS API follows an eventual consistency
7841
+ # model. For more information, see [KMS eventual consistency][13].
7842
+ #
7364
7843
  #
7365
7844
  #
7366
7845
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
@@ -7374,6 +7853,8 @@ module Aws::KMS
7374
7853
  # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html
7375
7854
  # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
7376
7855
  # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html#mrk-sync-properties
7856
+ # [12]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-import.html
7857
+ # [13]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
7377
7858
  #
7378
7859
  # @option params [required, String] :key_id
7379
7860
  # Identifies the multi-Region primary key that is being replicated. To
@@ -7492,12 +7973,13 @@ module Aws::KMS
7492
7973
  # Management Service Developer Guide*.
7493
7974
  #
7494
7975
  # Use this parameter only when you intend to prevent the principal that
7495
- # is making the request from making a subsequent PutKeyPolicy request on
7496
- # the KMS key.
7976
+ # is making the request from making a subsequent [PutKeyPolicy][2]
7977
+ # request on the KMS key.
7497
7978
  #
7498
7979
  #
7499
7980
  #
7500
7981
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
7982
+ # [2]: https://docs.aws.amazon.com/kms/latest/APIReference/API_PutKeyPolicy.html
7501
7983
  #
7502
7984
  # @option params [String] :description
7503
7985
  # A description of the KMS key. The default value is an empty string (no
@@ -7688,7 +8170,7 @@ module Aws::KMS
7688
8170
  # **Cross-account use**: Yes. You can retire a grant on a KMS key in a
7689
8171
  # different Amazon Web Services account.
7690
8172
  #
7691
- # **Required permissions:**:Permission to retire a grant is determined
8173
+ # **Required permissions**: Permission to retire a grant is determined
7692
8174
  # primarily by the grant. For details, see [Retiring and revoking
7693
8175
  # grants][2] in the *Key Management Service Developer Guide*.
7694
8176
  #
@@ -7702,12 +8184,16 @@ module Aws::KMS
7702
8184
  #
7703
8185
  # * RevokeGrant
7704
8186
  #
8187
+ # **Eventual consistency**: The KMS API follows an eventual consistency
8188
+ # model. For more information, see [KMS eventual consistency][5].
8189
+ #
7705
8190
  #
7706
8191
  #
7707
8192
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
7708
8193
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#grant-delete
7709
8194
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html
7710
8195
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-grants.html
8196
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
7711
8197
  #
7712
8198
  # @option params [String] :grant_token
7713
8199
  # Identifies the grant to be retired. You can use a grant token to
@@ -7738,6 +8224,17 @@ module Aws::KMS
7738
8224
  #
7739
8225
  # ^
7740
8226
  #
8227
+ # @option params [Boolean] :dry_run
8228
+ # Checks if your request will succeed. `DryRun` is an optional
8229
+ # parameter.
8230
+ #
8231
+ # To learn more about how to use this parameter, see [Testing your KMS
8232
+ # API calls][1] in the *Key Management Service Developer Guide*.
8233
+ #
8234
+ #
8235
+ #
8236
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
8237
+ #
7741
8238
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
7742
8239
  #
7743
8240
  #
@@ -7756,6 +8253,7 @@ module Aws::KMS
7756
8253
  # grant_token: "GrantTokenType",
7757
8254
  # key_id: "KeyIdType",
7758
8255
  # grant_id: "GrantIdType",
8256
+ # dry_run: false,
7759
8257
  # })
7760
8258
  #
7761
8259
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/RetireGrant AWS API Documentation
@@ -7799,6 +8297,9 @@ module Aws::KMS
7799
8297
  #
7800
8298
  # * RetireGrant
7801
8299
  #
8300
+ # **Eventual consistency**: The KMS API follows an eventual consistency
8301
+ # model. For more information, see [KMS eventual consistency][6].
8302
+ #
7802
8303
  #
7803
8304
  #
7804
8305
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/managing-grants.html#grant-delete
@@ -7806,6 +8307,7 @@ module Aws::KMS
7806
8307
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html
7807
8308
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-grants.html
7808
8309
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
8310
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
7809
8311
  #
7810
8312
  # @option params [required, String] :key_id
7811
8313
  # A unique identifier for the KMS key associated with the grant. To get
@@ -7828,6 +8330,17 @@ module Aws::KMS
7828
8330
  # Identifies the grant to revoke. To get the grant ID, use CreateGrant,
7829
8331
  # ListGrants, or ListRetirableGrants.
7830
8332
  #
8333
+ # @option params [Boolean] :dry_run
8334
+ # Checks if your request will succeed. `DryRun` is an optional
8335
+ # parameter.
8336
+ #
8337
+ # To learn more about how to use this parameter, see [Testing your KMS
8338
+ # API calls][1] in the *Key Management Service Developer Guide*.
8339
+ #
8340
+ #
8341
+ #
8342
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
8343
+ #
7831
8344
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
7832
8345
  #
7833
8346
  #
@@ -7845,6 +8358,7 @@ module Aws::KMS
7845
8358
  # resp = client.revoke_grant({
7846
8359
  # key_id: "KeyIdType", # required
7847
8360
  # grant_id: "GrantIdType", # required
8361
+ # dry_run: false,
7848
8362
  # })
7849
8363
  #
7850
8364
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/RevokeGrant AWS API Documentation
@@ -7870,8 +8384,10 @@ module Aws::KMS
7870
8384
  # Deleting a KMS key is a destructive and potentially dangerous
7871
8385
  # operation. When a KMS key is deleted, all data that was encrypted
7872
8386
  # under the KMS key is unrecoverable. (The only exception is a
7873
- # multi-Region replica key.) To prevent the use of a KMS key without
7874
- # deleting it, use DisableKey.
8387
+ # [multi-Region replica key][1], or an [asymmetric or HMAC KMS key with
8388
+ # imported key
8389
+ # material](kms/latest/developerguide/importing-keys-managing.html#import-delete-key).)
8390
+ # To prevent the use of a KMS key without deleting it, use DisableKey.
7875
8391
  #
7876
8392
  # You can schedule the deletion of a multi-Region primary key and its
7877
8393
  # replica keys at any time. However, KMS will not delete a multi-Region
@@ -7915,6 +8431,9 @@ module Aws::KMS
7915
8431
  #
7916
8432
  # * DisableKey
7917
8433
  #
8434
+ # **Eventual consistency**: The KMS API follows an eventual consistency
8435
+ # model. For more information, see [KMS eventual consistency][7].
8436
+ #
7918
8437
  #
7919
8438
  #
7920
8439
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-delete.html
@@ -7923,6 +8442,7 @@ module Aws::KMS
7923
8442
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/delete-xks-key.html
7924
8443
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html
7925
8444
  # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
8445
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
7926
8446
  #
7927
8447
  # @option params [required, String] :key_id
7928
8448
  # The unique identifier of the KMS key to delete.
@@ -7949,6 +8469,13 @@ module Aws::KMS
7949
8469
  #
7950
8470
  # This value is optional. If you include a value, it must be between 7
7951
8471
  # and 30, inclusive. If you do not include a value, it defaults to 30.
8472
+ # You can use the [ `kms:ScheduleKeyDeletionPendingWindowInDays` ][1]
8473
+ # condition key to further constrain the values that principals can
8474
+ # specify in the `PendingWindowInDays` parameter.
8475
+ #
8476
+ #
8477
+ #
8478
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-schedule-key-deletion-pending-window-in-days
7952
8479
  #
7953
8480
  # @return [Types::ScheduleKeyDeletionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7954
8481
  #
@@ -8055,12 +8582,16 @@ module Aws::KMS
8055
8582
  #
8056
8583
  # **Related operations**: Verify
8057
8584
  #
8585
+ # **Eventual consistency**: The KMS API follows an eventual consistency
8586
+ # model. For more information, see [KMS eventual consistency][5].
8587
+ #
8058
8588
  #
8059
8589
  #
8060
8590
  # [1]: https://en.wikipedia.org/wiki/Digital_signature
8061
8591
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
8062
8592
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
8063
8593
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
8594
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
8064
8595
  #
8065
8596
  # @option params [required, String] :key_id
8066
8597
  # Identifies an asymmetric KMS key. KMS uses the private key in the
@@ -8157,6 +8688,17 @@ module Aws::KMS
8157
8688
  # RSASSA-PSS algorithms are preferred. We include RSASSA-PKCS1-v1\_5
8158
8689
  # algorithms for compatibility with existing applications.
8159
8690
  #
8691
+ # @option params [Boolean] :dry_run
8692
+ # Checks if your request will succeed. `DryRun` is an optional
8693
+ # parameter.
8694
+ #
8695
+ # To learn more about how to use this parameter, see [Testing your KMS
8696
+ # API calls][1] in the *Key Management Service Developer Guide*.
8697
+ #
8698
+ #
8699
+ #
8700
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
8701
+ #
8160
8702
  # @return [Types::SignResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8161
8703
  #
8162
8704
  # * {Types::SignResponse#key_id #key_id} => String
@@ -8211,6 +8753,7 @@ module Aws::KMS
8211
8753
  # message_type: "RAW", # accepts RAW, DIGEST
8212
8754
  # grant_tokens: ["GrantTokenType"],
8213
8755
  # signing_algorithm: "RSASSA_PSS_SHA_256", # required, accepts RSASSA_PSS_SHA_256, RSASSA_PSS_SHA_384, RSASSA_PSS_SHA_512, RSASSA_PKCS1_V1_5_SHA_256, RSASSA_PKCS1_V1_5_SHA_384, RSASSA_PKCS1_V1_5_SHA_512, ECDSA_SHA_256, ECDSA_SHA_384, ECDSA_SHA_512, SM2DSA
8756
+ # dry_run: false,
8214
8757
  # })
8215
8758
  #
8216
8759
  # @example Response structure
@@ -8272,6 +8815,9 @@ module Aws::KMS
8272
8815
  #
8273
8816
  # * UntagResource
8274
8817
  #
8818
+ # **Eventual consistency**: The KMS API follows an eventual consistency
8819
+ # model. For more information, see [KMS eventual consistency][11].
8820
+ #
8275
8821
  #
8276
8822
  #
8277
8823
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
@@ -8284,6 +8830,7 @@ module Aws::KMS
8284
8830
  # [8]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
8285
8831
  # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
8286
8832
  # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
8833
+ # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
8287
8834
  #
8288
8835
  # @option params [required, String] :key_id
8289
8836
  # Identifies a customer managed key in the account and Region.
@@ -8388,6 +8935,9 @@ module Aws::KMS
8388
8935
  #
8389
8936
  # * TagResource
8390
8937
  #
8938
+ # **Eventual consistency**: The KMS API follows an eventual consistency
8939
+ # model. For more information, see [KMS eventual consistency][7].
8940
+ #
8391
8941
  #
8392
8942
  #
8393
8943
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
@@ -8396,6 +8946,7 @@ module Aws::KMS
8396
8946
  # [4]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
8397
8947
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
8398
8948
  # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
8949
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
8399
8950
  #
8400
8951
  # @option params [required, String] :key_id
8401
8952
  # Identifies the KMS key from which you are removing tags.
@@ -8499,12 +9050,16 @@ module Aws::KMS
8499
9050
  #
8500
9051
  # * ListAliases
8501
9052
  #
9053
+ # **Eventual consistency**: The KMS API follows an eventual consistency
9054
+ # model. For more information, see [KMS eventual consistency][5].
9055
+ #
8502
9056
  #
8503
9057
  #
8504
9058
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/abac.html
8505
9059
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
8506
9060
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
8507
9061
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html#alias-access
9062
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
8508
9063
  #
8509
9064
  # @option params [required, String] :alias_name
8510
9065
  # Identifies the alias that is changing its KMS key. This value must
@@ -8670,10 +9225,14 @@ module Aws::KMS
8670
9225
  #
8671
9226
  # * DisconnectCustomKeyStore
8672
9227
  #
9228
+ # **Eventual consistency**: The KMS API follows an eventual consistency
9229
+ # model. For more information, see [KMS eventual consistency][3].
9230
+ #
8673
9231
  #
8674
9232
  #
8675
9233
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
8676
9234
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
9235
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
8677
9236
  #
8678
9237
  # @option params [required, String] :custom_key_store_id
8679
9238
  # Identifies the custom key store that you want to update. Enter the ID
@@ -8944,10 +9503,14 @@ module Aws::KMS
8944
9503
  #
8945
9504
  # * DescribeKey
8946
9505
  #
9506
+ # **Eventual consistency**: The KMS API follows an eventual consistency
9507
+ # model. For more information, see [KMS eventual consistency][3].
9508
+ #
8947
9509
  #
8948
9510
  #
8949
9511
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
8950
9512
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
9513
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
8951
9514
  #
8952
9515
  # @option params [required, String] :key_id
8953
9516
  # Updates the description of the specified KMS key.
@@ -9071,6 +9634,9 @@ module Aws::KMS
9071
9634
  #
9072
9635
  # * ReplicateKey
9073
9636
  #
9637
+ # **Eventual consistency**: The KMS API follows an eventual consistency
9638
+ # model. For more information, see [KMS eventual consistency][10].
9639
+ #
9074
9640
  #
9075
9641
  #
9076
9642
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-update
@@ -9082,6 +9648,7 @@ module Aws::KMS
9082
9648
  # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html
9083
9649
  # [8]: https://docs.aws.amazon.com/kms/latest/APIReference/API_ScheduleKeyDeletion.html
9084
9650
  # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
9651
+ # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
9085
9652
  #
9086
9653
  # @option params [required, String] :key_id
9087
9654
  # Identifies the current primary key. When the operation completes, this
@@ -9190,12 +9757,16 @@ module Aws::KMS
9190
9757
  #
9191
9758
  # **Related operations**: Sign
9192
9759
  #
9760
+ # **Eventual consistency**: The KMS API follows an eventual consistency
9761
+ # model. For more information, see [KMS eventual consistency][5].
9762
+ #
9193
9763
  #
9194
9764
  #
9195
9765
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
9196
9766
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/asymmetric-key-specs.html#key-spec-sm-offline-verification
9197
9767
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
9198
9768
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
9769
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
9199
9770
  #
9200
9771
  # @option params [required, String] :key_id
9201
9772
  # Identifies the asymmetric KMS key that will be used to verify the
@@ -9293,6 +9864,17 @@ module Aws::KMS
9293
9864
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
9294
9865
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
9295
9866
  #
9867
+ # @option params [Boolean] :dry_run
9868
+ # Checks if your request will succeed. `DryRun` is an optional
9869
+ # parameter.
9870
+ #
9871
+ # To learn more about how to use this parameter, see [Testing your KMS
9872
+ # API calls][1] in the *Key Management Service Developer Guide*.
9873
+ #
9874
+ #
9875
+ #
9876
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
9877
+ #
9296
9878
  # @return [Types::VerifyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
9297
9879
  #
9298
9880
  # * {Types::VerifyResponse#key_id #key_id} => String
@@ -9350,6 +9932,7 @@ module Aws::KMS
9350
9932
  # signature: "data", # required
9351
9933
  # signing_algorithm: "RSASSA_PSS_SHA_256", # required, accepts RSASSA_PSS_SHA_256, RSASSA_PSS_SHA_384, RSASSA_PSS_SHA_512, RSASSA_PKCS1_V1_5_SHA_256, RSASSA_PKCS1_V1_5_SHA_384, RSASSA_PKCS1_V1_5_SHA_512, ECDSA_SHA_256, ECDSA_SHA_384, ECDSA_SHA_512, SM2DSA
9352
9934
  # grant_tokens: ["GrantTokenType"],
9935
+ # dry_run: false,
9353
9936
  # })
9354
9937
  #
9355
9938
  # @example Response structure
@@ -9395,12 +9978,16 @@ module Aws::KMS
9395
9978
  #
9396
9979
  # **Related operations**: GenerateMac
9397
9980
  #
9981
+ # **Eventual consistency**: The KMS API follows an eventual consistency
9982
+ # model. For more information, see [KMS eventual consistency][5].
9983
+ #
9398
9984
  #
9399
9985
  #
9400
9986
  # [1]: https://datatracker.ietf.org/doc/html/rfc2104
9401
9987
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
9402
9988
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
9403
9989
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
9990
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
9404
9991
  #
9405
9992
  # @option params [required, String, StringIO, File] :message
9406
9993
  # The message that will be used in the verification. Enter the same
@@ -9440,6 +10027,17 @@ module Aws::KMS
9440
10027
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
9441
10028
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
9442
10029
  #
10030
+ # @option params [Boolean] :dry_run
10031
+ # Checks if your request will succeed. `DryRun` is an optional
10032
+ # parameter.
10033
+ #
10034
+ # To learn more about how to use this parameter, see [Testing your KMS
10035
+ # API calls][1] in the *Key Management Service Developer Guide*.
10036
+ #
10037
+ #
10038
+ #
10039
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
10040
+ #
9443
10041
  # @return [Types::VerifyMacResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
9444
10042
  #
9445
10043
  # * {Types::VerifyMacResponse#key_id #key_id} => String
@@ -9474,6 +10072,7 @@ module Aws::KMS
9474
10072
  # mac_algorithm: "HMAC_SHA_224", # required, accepts HMAC_SHA_224, HMAC_SHA_256, HMAC_SHA_384, HMAC_SHA_512
9475
10073
  # mac: "data", # required
9476
10074
  # grant_tokens: ["GrantTokenType"],
10075
+ # dry_run: false,
9477
10076
  # })
9478
10077
  #
9479
10078
  # @example Response structure
@@ -9504,7 +10103,7 @@ module Aws::KMS
9504
10103
  params: params,
9505
10104
  config: config)
9506
10105
  context[:gem_name] = 'aws-sdk-kms'
9507
- context[:gem_version] = '1.64.0'
10106
+ context[:gem_version] = '1.76.0'
9508
10107
  Seahorse::Client::Request.new(handlers, context)
9509
10108
  end
9510
10109