aws-sdk-kms 1.102.0 → 1.103.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -301,7 +301,7 @@ module Aws::KMS
301
301
  # A valid key ID is required. If you supply a null or empty string
302
302
  # value, this operation returns an error.
303
303
  #
304
- # For help finding the key ID and ARN, see [Finding the Key ID and
304
+ # For help finding the key ID and ARN, see [Find the key ID and key
305
305
  # ARN][2] in the <i> <i>Key Management Service Developer Guide</i>
306
306
  # </i>.
307
307
  #
@@ -320,7 +320,7 @@ module Aws::KMS
320
320
  #
321
321
  #
322
322
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
323
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/viewing-keys.html#find-cmk-id-arn
323
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/find-cmk-id-arn.html
324
324
  # @return [String]
325
325
  #
326
326
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/CreateAliasRequest AWS API Documentation
@@ -387,7 +387,7 @@ module Aws::KMS
387
387
  #
388
388
  #
389
389
  #
390
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-concepts.html#concept-kmsuser
390
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-cloudhsm.html#concept-kmsuser
391
391
  # @return [String]
392
392
  #
393
393
  # @!attribute [rw] custom_key_store_type
@@ -494,7 +494,7 @@ module Aws::KMS
494
494
  # `RawSecretAccessKey`, a secret key, and `AccessKeyId`, a unique
495
495
  # identifier for the `RawSecretAccessKey`. For character requirements,
496
496
  # see
497
- # [XksProxyAuthenticationCredentialType](kms/latest/APIReference/API_XksProxyAuthenticationCredentialType.html).
497
+ # [XksProxyAuthenticationCredentialType](API_XksProxyAuthenticationCredentialType.html).
498
498
  #
499
499
  # KMS uses this authentication credential to sign requests to the
500
500
  # external key store proxy on your behalf. This credential is
@@ -535,7 +535,7 @@ module Aws::KMS
535
535
  #
536
536
  #
537
537
  #
538
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/plan-xks-keystore.html#choose-xks-connectivity
538
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/choose-xks-connectivity.html
539
539
  # @return [String]
540
540
  #
541
541
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/CreateCustomKeyStoreRequest AWS API Documentation
@@ -621,7 +621,7 @@ module Aws::KMS
621
621
  #
622
622
  # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
623
623
  # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns
624
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#grant-delete
624
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-delete.html
625
625
  # @return [String]
626
626
  #
627
627
  # @!attribute [rw] operations
@@ -694,7 +694,7 @@ module Aws::KMS
694
694
  #
695
695
  #
696
696
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
697
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
697
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
698
698
  # @return [Array<String>]
699
699
  #
700
700
  # @!attribute [rw] name
@@ -722,12 +722,12 @@ module Aws::KMS
722
722
  # Checks if your request will succeed. `DryRun` is an optional
723
723
  # parameter.
724
724
  #
725
- # To learn more about how to use this parameter, see [Testing your KMS
726
- # API calls][1] in the *Key Management Service Developer Guide*.
725
+ # To learn more about how to use this parameter, see [Testing your
726
+ # permissions][1] in the *Key Management Service Developer Guide*.
727
727
  #
728
728
  #
729
729
  #
730
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
730
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
731
731
  # @return [Boolean]
732
732
  #
733
733
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/CreateGrantRequest AWS API Documentation
@@ -756,7 +756,7 @@ module Aws::KMS
756
756
  #
757
757
  #
758
758
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
759
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
759
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
760
760
  # @return [String]
761
761
  #
762
762
  # @!attribute [rw] grant_id
@@ -796,22 +796,38 @@ module Aws::KMS
796
796
  # that I make are not always immediately visible][2] in the *Amazon
797
797
  # Web Services Identity and Access Management User Guide*.
798
798
  #
799
+ # <note markdown="1"> If either of the required `Resource` or `Action` elements are
800
+ # missing from a key policy statement, the policy statement has no
801
+ # effect. When a key policy statement is missing one of these
802
+ # elements, the KMS console correctly reports an error, but the
803
+ # `CreateKey` and `PutKeyPolicy` API requests succeed, even though the
804
+ # policy statement is ineffective.
805
+ #
806
+ # For more information on required key policy elements, see [Elements
807
+ # in a key policy][3] in the *Key Management Service Developer Guide*.
808
+ #
809
+ # </note>
810
+ #
799
811
  # If you do not provide a key policy, KMS attaches a default key
800
812
  # policy to the KMS key. For more information, see [Default key
801
- # policy][3] in the *Key Management Service Developer Guide*.
813
+ # policy][4] in the *Key Management Service Developer Guide*.
802
814
  #
803
- # The key policy size quota is 32 kilobytes (32768 bytes).
815
+ # <note markdown="1"> If the key policy exceeds the length constraint, KMS returns a
816
+ # `LimitExceededException`.
817
+ #
818
+ # </note>
804
819
  #
805
820
  # For help writing and formatting a JSON policy document, see the [IAM
806
- # JSON Policy Reference][4] in the <i> <i>Identity and Access
821
+ # JSON Policy Reference][5] in the <i> <i>Identity and Access
807
822
  # Management User Guide</i> </i>.
808
823
  #
809
824
  #
810
825
  #
811
826
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
812
827
  # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
813
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default
814
- # [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
828
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-overview.html#key-policy-elements
829
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html
830
+ # [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
815
831
  # @return [String]
816
832
  #
817
833
  # @!attribute [rw] description
@@ -855,7 +871,7 @@ module Aws::KMS
855
871
  #
856
872
  #
857
873
  #
858
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
874
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
859
875
  # @return [String]
860
876
  #
861
877
  # @!attribute [rw] customer_master_key_spec
@@ -872,8 +888,8 @@ module Aws::KMS
872
888
  # `SYMMETRIC_DEFAULT`, creates a KMS key with a 256-bit AES-GCM key
873
889
  # that is used for encryption and decryption, except in China Regions,
874
890
  # where it creates a 128-bit symmetric key that uses SM4 encryption.
875
- # For help choosing a key spec for your KMS key, see [Choosing a KMS
876
- # key type][1] in the <i> <i>Key Management Service Developer
891
+ # For a detailed description of all supported key specs, see [Key spec
892
+ # reference][1] in the <i> <i>Key Management Service Developer
877
893
  # Guide</i> </i>.
878
894
  #
879
895
  # The `KeySpec` determines whether the KMS key contains a symmetric
@@ -882,10 +898,11 @@ module Aws::KMS
882
898
  # KMS key is created. To further restrict the algorithms that can be
883
899
  # used with the KMS key, use a condition key in its key policy or IAM
884
900
  # policy. For more information, see [kms:EncryptionAlgorithm][2],
885
- # [kms:MacAlgorithm][3] or [kms:Signing Algorithm][4] in the <i>
886
- # <i>Key Management Service Developer Guide</i> </i>.
901
+ # [kms:MacAlgorithm][3], [kms:KeyAgreementAlgorithm][4], or
902
+ # [kms:SigningAlgorithm][5] in the <i> <i>Key Management Service
903
+ # Developer Guide</i> </i>.
887
904
  #
888
- # [Amazon Web Services services that are integrated with KMS][5] use
905
+ # [Amazon Web Services services that are integrated with KMS][6] use
889
906
  # symmetric encryption KMS keys to protect your data. These services
890
907
  # do not support asymmetric KMS keys or HMAC KMS keys.
891
908
  #
@@ -937,11 +954,12 @@ module Aws::KMS
937
954
  #
938
955
  #
939
956
  #
940
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-types.html#symm-asymm-choose
941
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-encryption-algorithm
942
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-mac-algorithm
943
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-signing-algorithm
944
- # [5]: http://aws.amazon.com/kms/features/#AWS_Service_Integration
957
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-choose-key-spec.html
958
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-encryption-algorithm
959
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-mac-algorithm
960
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-key-agreement-algorithm
961
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-signing-algorithm
962
+ # [6]: http://aws.amazon.com/kms/features/#AWS_Service_Integration
945
963
  # @return [String]
946
964
  #
947
965
  # @!attribute [rw] origin
@@ -994,7 +1012,7 @@ module Aws::KMS
994
1012
  #
995
1013
  #
996
1014
  #
997
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
1015
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
998
1016
  # @return [String]
999
1017
  #
1000
1018
  # @!attribute [rw] bypass_policy_lockout_safety_check
@@ -1045,7 +1063,7 @@ module Aws::KMS
1045
1063
  # When you add tags to an Amazon Web Services resource, Amazon Web
1046
1064
  # Services generates a cost allocation report with usage and costs
1047
1065
  # aggregated by tags. Tags can also be used to control access to a KMS
1048
- # key. For details, see [Tagging Keys][3].
1066
+ # key. For details, see [Tags in KMS][3].
1049
1067
  #
1050
1068
  #
1051
1069
  #
@@ -1118,7 +1136,7 @@ module Aws::KMS
1118
1136
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html#concept-external-key
1119
1137
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html
1120
1138
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html#concept-xks-proxy
1121
- # [4]: https://docs.aws.amazon.com/create-xks-keys.html#xks-key-requirements
1139
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/create-xks-keys.html#xks-key-requirements
1122
1140
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html#concept-double-encryption
1123
1141
  # @return [String]
1124
1142
  #
@@ -1526,8 +1544,8 @@ module Aws::KMS
1526
1544
  #
1527
1545
  #
1528
1546
  #
1529
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
1530
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
1547
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
1548
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
1531
1549
  # @return [Hash<String,String>]
1532
1550
  #
1533
1551
  # @!attribute [rw] grant_tokens
@@ -1541,7 +1559,7 @@ module Aws::KMS
1541
1559
  #
1542
1560
  #
1543
1561
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
1544
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
1562
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
1545
1563
  # @return [Array<String>]
1546
1564
  #
1547
1565
  # @!attribute [rw] key_id
@@ -1622,12 +1640,12 @@ module Aws::KMS
1622
1640
  # Checks if your request will succeed. `DryRun` is an optional
1623
1641
  # parameter.
1624
1642
  #
1625
- # To learn more about how to use this parameter, see [Testing your KMS
1626
- # API calls][1] in the *Key Management Service Developer Guide*.
1643
+ # To learn more about how to use this parameter, see [Testing your
1644
+ # permissions][1] in the *Key Management Service Developer Guide*.
1627
1645
  #
1628
1646
  #
1629
1647
  #
1630
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
1648
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
1631
1649
  # @return [Boolean]
1632
1650
  #
1633
1651
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DecryptRequest AWS API Documentation
@@ -1682,13 +1700,20 @@ module Aws::KMS
1682
1700
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
1683
1701
  # @return [String]
1684
1702
  #
1703
+ # @!attribute [rw] key_material_id
1704
+ # The identifier of the key material used to decrypt the ciphertext.
1705
+ # This field is present only when the operation uses a symmetric
1706
+ # encryption KMS key.
1707
+ # @return [String]
1708
+ #
1685
1709
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DecryptResponse AWS API Documentation
1686
1710
  #
1687
1711
  class DecryptResponse < Struct.new(
1688
1712
  :key_id,
1689
1713
  :plaintext,
1690
1714
  :encryption_algorithm,
1691
- :ciphertext_for_recipient)
1715
+ :ciphertext_for_recipient,
1716
+ :key_material_id)
1692
1717
  SENSITIVE = [:plaintext]
1693
1718
  include Aws::Structure
1694
1719
  end
@@ -1740,10 +1765,43 @@ module Aws::KMS
1740
1765
  # DescribeKey.
1741
1766
  # @return [String]
1742
1767
  #
1768
+ # @!attribute [rw] key_material_id
1769
+ # Identifies the imported key material you are deleting.
1770
+ #
1771
+ # If no KeyMaterialId is specified, KMS deletes the current key
1772
+ # material.
1773
+ #
1774
+ # To get the list of key material IDs associated with a KMS key, use
1775
+ # ListKeyRotations.
1776
+ # @return [String]
1777
+ #
1743
1778
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DeleteImportedKeyMaterialRequest AWS API Documentation
1744
1779
  #
1745
1780
  class DeleteImportedKeyMaterialRequest < Struct.new(
1746
- :key_id)
1781
+ :key_id,
1782
+ :key_material_id)
1783
+ SENSITIVE = []
1784
+ include Aws::Structure
1785
+ end
1786
+
1787
+ # @!attribute [rw] key_id
1788
+ # The Amazon Resource Name ([key ARN][1]) of the KMS key from which
1789
+ # the key material was deleted.
1790
+ #
1791
+ #
1792
+ #
1793
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN
1794
+ # @return [String]
1795
+ #
1796
+ # @!attribute [rw] key_material_id
1797
+ # Identifies the deleted key material.
1798
+ # @return [String]
1799
+ #
1800
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DeleteImportedKeyMaterialResponse AWS API Documentation
1801
+ #
1802
+ class DeleteImportedKeyMaterialResponse < Struct.new(
1803
+ :key_id,
1804
+ :key_material_id)
1747
1805
  SENSITIVE = []
1748
1806
  include Aws::Structure
1749
1807
  end
@@ -1831,19 +1889,19 @@ module Aws::KMS
1831
1889
  #
1832
1890
  #
1833
1891
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
1834
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
1892
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
1835
1893
  # @return [Array<String>]
1836
1894
  #
1837
1895
  # @!attribute [rw] dry_run
1838
1896
  # Checks if your request will succeed. `DryRun` is an optional
1839
1897
  # parameter.
1840
1898
  #
1841
- # To learn more about how to use this parameter, see [Testing your KMS
1842
- # API calls][1] in the *Key Management Service Developer Guide*.
1899
+ # To learn more about how to use this parameter, see [Testing your
1900
+ # permissions][1] in the *Key Management Service Developer Guide*.
1843
1901
  #
1844
1902
  #
1845
1903
  #
1846
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
1904
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
1847
1905
  # @return [Boolean]
1848
1906
  #
1849
1907
  # @!attribute [rw] recipient
@@ -2063,7 +2121,7 @@ module Aws::KMS
2063
2121
  #
2064
2122
  #
2065
2123
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
2066
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
2124
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
2067
2125
  # @return [Array<String>]
2068
2126
  #
2069
2127
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DescribeKeyRequest AWS API Documentation
@@ -2134,7 +2192,7 @@ module Aws::KMS
2134
2192
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html#asymmetric-cmks
2135
2193
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
2136
2194
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
2137
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
2195
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
2138
2196
  # @return [String]
2139
2197
  #
2140
2198
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DisableKeyRotationRequest AWS API Documentation
@@ -2237,8 +2295,8 @@ module Aws::KMS
2237
2295
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
2238
2296
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
2239
2297
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
2240
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
2241
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate
2298
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
2299
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#multi-region-rotate
2242
2300
  # @return [String]
2243
2301
  #
2244
2302
  # @!attribute [rw] rotation_period_in_days
@@ -2324,8 +2382,8 @@ module Aws::KMS
2324
2382
  #
2325
2383
  #
2326
2384
  #
2327
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
2328
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
2385
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
2386
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
2329
2387
  # @return [Hash<String,String>]
2330
2388
  #
2331
2389
  # @!attribute [rw] grant_tokens
@@ -2339,7 +2397,7 @@ module Aws::KMS
2339
2397
  #
2340
2398
  #
2341
2399
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
2342
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
2400
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
2343
2401
  # @return [Array<String>]
2344
2402
  #
2345
2403
  # @!attribute [rw] encryption_algorithm
@@ -2359,12 +2417,12 @@ module Aws::KMS
2359
2417
  # Checks if your request will succeed. `DryRun` is an optional
2360
2418
  # parameter.
2361
2419
  #
2362
- # To learn more about how to use this parameter, see [Testing your KMS
2363
- # API calls][1] in the *Key Management Service Developer Guide*.
2420
+ # To learn more about how to use this parameter, see [Testing your
2421
+ # permissions][1] in the *Key Management Service Developer Guide*.
2364
2422
  #
2365
2423
  #
2366
2424
  #
2367
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
2425
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
2368
2426
  # @return [Boolean]
2369
2427
  #
2370
2428
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/EncryptRequest AWS API Documentation
@@ -2399,12 +2457,19 @@ module Aws::KMS
2399
2457
  # The encryption algorithm that was used to encrypt the plaintext.
2400
2458
  # @return [String]
2401
2459
  #
2460
+ # @!attribute [rw] key_material_id
2461
+ # The identifier of the key material used to encrypt the ciphertext.
2462
+ # This field is present only when the operation uses a symmetric
2463
+ # encryption KMS key.
2464
+ # @return [String]
2465
+ #
2402
2466
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/EncryptResponse AWS API Documentation
2403
2467
  #
2404
2468
  class EncryptResponse < Struct.new(
2405
2469
  :ciphertext_blob,
2406
2470
  :key_id,
2407
- :encryption_algorithm)
2471
+ :encryption_algorithm,
2472
+ :key_material_id)
2408
2473
  SENSITIVE = []
2409
2474
  include Aws::Structure
2410
2475
  end
@@ -2447,7 +2512,7 @@ module Aws::KMS
2447
2512
  #
2448
2513
  #
2449
2514
  #
2450
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
2515
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
2451
2516
  # @return [Hash<String,String>]
2452
2517
  #
2453
2518
  # @!attribute [rw] key_id
@@ -2497,7 +2562,7 @@ module Aws::KMS
2497
2562
  #
2498
2563
  #
2499
2564
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
2500
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
2565
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
2501
2566
  # @return [Array<String>]
2502
2567
  #
2503
2568
  # @!attribute [rw] recipient
@@ -2538,12 +2603,12 @@ module Aws::KMS
2538
2603
  # Checks if your request will succeed. `DryRun` is an optional
2539
2604
  # parameter.
2540
2605
  #
2541
- # To learn more about how to use this parameter, see [Testing your KMS
2542
- # API calls][1] in the *Key Management Service Developer Guide*.
2606
+ # To learn more about how to use this parameter, see [Testing your
2607
+ # permissions][1] in the *Key Management Service Developer Guide*.
2543
2608
  #
2544
2609
  #
2545
2610
  #
2546
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
2611
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
2547
2612
  # @return [Boolean]
2548
2613
  #
2549
2614
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPairRequest AWS API Documentation
@@ -2610,6 +2675,10 @@ module Aws::KMS
2610
2675
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
2611
2676
  # @return [String]
2612
2677
  #
2678
+ # @!attribute [rw] key_material_id
2679
+ # The identifier of the key material used to encrypt the private key.
2680
+ # @return [String]
2681
+ #
2613
2682
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPairResponse AWS API Documentation
2614
2683
  #
2615
2684
  class GenerateDataKeyPairResponse < Struct.new(
@@ -2618,7 +2687,8 @@ module Aws::KMS
2618
2687
  :public_key,
2619
2688
  :key_id,
2620
2689
  :key_pair_spec,
2621
- :ciphertext_for_recipient)
2690
+ :ciphertext_for_recipient,
2691
+ :key_material_id)
2622
2692
  SENSITIVE = [:private_key_plaintext]
2623
2693
  include Aws::Structure
2624
2694
  end
@@ -2645,7 +2715,7 @@ module Aws::KMS
2645
2715
  #
2646
2716
  #
2647
2717
  #
2648
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
2718
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
2649
2719
  # @return [Hash<String,String>]
2650
2720
  #
2651
2721
  # @!attribute [rw] key_id
@@ -2695,19 +2765,19 @@ module Aws::KMS
2695
2765
  #
2696
2766
  #
2697
2767
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
2698
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
2768
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
2699
2769
  # @return [Array<String>]
2700
2770
  #
2701
2771
  # @!attribute [rw] dry_run
2702
2772
  # Checks if your request will succeed. `DryRun` is an optional
2703
2773
  # parameter.
2704
2774
  #
2705
- # To learn more about how to use this parameter, see [Testing your KMS
2706
- # API calls][1] in the *Key Management Service Developer Guide*.
2775
+ # To learn more about how to use this parameter, see [Testing your
2776
+ # permissions][1] in the *Key Management Service Developer Guide*.
2707
2777
  #
2708
2778
  #
2709
2779
  #
2710
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
2780
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
2711
2781
  # @return [Boolean]
2712
2782
  #
2713
2783
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPairWithoutPlaintextRequest AWS API Documentation
@@ -2747,13 +2817,18 @@ module Aws::KMS
2747
2817
  # The type of data key pair that was generated.
2748
2818
  # @return [String]
2749
2819
  #
2820
+ # @!attribute [rw] key_material_id
2821
+ # The identifier of the key material used to encrypt the private key.
2822
+ # @return [String]
2823
+ #
2750
2824
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPairWithoutPlaintextResponse AWS API Documentation
2751
2825
  #
2752
2826
  class GenerateDataKeyPairWithoutPlaintextResponse < Struct.new(
2753
2827
  :private_key_ciphertext_blob,
2754
2828
  :public_key,
2755
2829
  :key_id,
2756
- :key_pair_spec)
2830
+ :key_pair_spec,
2831
+ :key_material_id)
2757
2832
  SENSITIVE = []
2758
2833
  include Aws::Structure
2759
2834
  end
@@ -2806,7 +2881,7 @@ module Aws::KMS
2806
2881
  #
2807
2882
  #
2808
2883
  #
2809
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
2884
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
2810
2885
  # @return [Hash<String,String>]
2811
2886
  #
2812
2887
  # @!attribute [rw] number_of_bytes
@@ -2839,7 +2914,7 @@ module Aws::KMS
2839
2914
  #
2840
2915
  #
2841
2916
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
2842
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
2917
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
2843
2918
  # @return [Array<String>]
2844
2919
  #
2845
2920
  # @!attribute [rw] recipient
@@ -2876,12 +2951,12 @@ module Aws::KMS
2876
2951
  # Checks if your request will succeed. `DryRun` is an optional
2877
2952
  # parameter.
2878
2953
  #
2879
- # To learn more about how to use this parameter, see [Testing your KMS
2880
- # API calls][1] in the *Key Management Service Developer Guide*.
2954
+ # To learn more about how to use this parameter, see [Testing your
2955
+ # permissions][1] in the *Key Management Service Developer Guide*.
2881
2956
  #
2882
2957
  #
2883
2958
  #
2884
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
2959
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
2885
2960
  # @return [Boolean]
2886
2961
  #
2887
2962
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyRequest AWS API Documentation
@@ -2940,13 +3015,18 @@ module Aws::KMS
2940
3015
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
2941
3016
  # @return [String]
2942
3017
  #
3018
+ # @!attribute [rw] key_material_id
3019
+ # The identifier of the key material used to encrypt the data key.
3020
+ # @return [String]
3021
+ #
2943
3022
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyResponse AWS API Documentation
2944
3023
  #
2945
3024
  class GenerateDataKeyResponse < Struct.new(
2946
3025
  :ciphertext_blob,
2947
3026
  :plaintext,
2948
3027
  :key_id,
2949
- :ciphertext_for_recipient)
3028
+ :ciphertext_for_recipient,
3029
+ :key_material_id)
2950
3030
  SENSITIVE = [:plaintext]
2951
3031
  include Aws::Structure
2952
3032
  end
@@ -2999,7 +3079,7 @@ module Aws::KMS
2999
3079
  #
3000
3080
  #
3001
3081
  #
3002
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
3082
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
3003
3083
  # @return [Hash<String,String>]
3004
3084
  #
3005
3085
  # @!attribute [rw] key_spec
@@ -3025,19 +3105,19 @@ module Aws::KMS
3025
3105
  #
3026
3106
  #
3027
3107
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
3028
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
3108
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
3029
3109
  # @return [Array<String>]
3030
3110
  #
3031
3111
  # @!attribute [rw] dry_run
3032
3112
  # Checks if your request will succeed. `DryRun` is an optional
3033
3113
  # parameter.
3034
3114
  #
3035
- # To learn more about how to use this parameter, see [Testing your KMS
3036
- # API calls][1] in the *Key Management Service Developer Guide*.
3115
+ # To learn more about how to use this parameter, see [Testing your
3116
+ # permissions][1] in the *Key Management Service Developer Guide*.
3037
3117
  #
3038
3118
  #
3039
3119
  #
3040
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
3120
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
3041
3121
  # @return [Boolean]
3042
3122
  #
3043
3123
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyWithoutPlaintextRequest AWS API Documentation
@@ -3068,11 +3148,16 @@ module Aws::KMS
3068
3148
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN
3069
3149
  # @return [String]
3070
3150
  #
3151
+ # @!attribute [rw] key_material_id
3152
+ # The identifier of the key material used to encrypt the data key.
3153
+ # @return [String]
3154
+ #
3071
3155
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyWithoutPlaintextResponse AWS API Documentation
3072
3156
  #
3073
3157
  class GenerateDataKeyWithoutPlaintextResponse < Struct.new(
3074
3158
  :ciphertext_blob,
3075
- :key_id)
3159
+ :key_id,
3160
+ :key_material_id)
3076
3161
  SENSITIVE = []
3077
3162
  include Aws::Structure
3078
3163
  end
@@ -3117,19 +3202,19 @@ module Aws::KMS
3117
3202
  #
3118
3203
  #
3119
3204
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
3120
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
3205
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
3121
3206
  # @return [Array<String>]
3122
3207
  #
3123
3208
  # @!attribute [rw] dry_run
3124
3209
  # Checks if your request will succeed. `DryRun` is an optional
3125
3210
  # parameter.
3126
3211
  #
3127
- # To learn more about how to use this parameter, see [Testing your KMS
3128
- # API calls][1] in the *Key Management Service Developer Guide*.
3212
+ # To learn more about how to use this parameter, see [Testing your
3213
+ # permissions][1] in the *Key Management Service Developer Guide*.
3129
3214
  #
3130
3215
  #
3131
3216
  #
3132
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
3217
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
3133
3218
  # @return [Boolean]
3134
3219
  #
3135
3220
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateMacRequest AWS API Documentation
@@ -3355,15 +3440,12 @@ module Aws::KMS
3355
3440
  # Identifies the date and time that an in progress on-demand rotation
3356
3441
  # was initiated.
3357
3442
  #
3358
- # The KMS API follows an [eventual consistency][1] model due to the
3359
- # distributed nature of the system. As a result, there might be a
3360
- # slight delay between initiating on-demand key rotation and the
3361
- # rotation's completion. Once the on-demand rotation is complete, use
3362
- # ListKeyRotations to view the details of the on-demand rotation.
3363
- #
3364
- #
3365
- #
3366
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
3443
+ # KMS uses a background process to perform rotations. As a result,
3444
+ # there might be a slight delay between initiating on-demand key
3445
+ # rotation and the rotation's completion. Once the on-demand rotation
3446
+ # is complete, KMS removes this field from the response. You can use
3447
+ # ListKeyRotations to view the details of the completed on-demand
3448
+ # rotation.
3367
3449
  # @return [Time]
3368
3450
  #
3369
3451
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GetKeyRotationStatusResponse AWS API Documentation
@@ -3403,9 +3485,8 @@ module Aws::KMS
3403
3485
  # @!attribute [rw] wrapping_algorithm
3404
3486
  # The algorithm you will use with the RSA public key (`PublicKey`) in
3405
3487
  # the response to protect your key material during import. For more
3406
- # information, see [Select a wrapping
3407
- # algorithm](kms/latest/developerguide/importing-keys-get-public-key-and-token.html#select-wrapping-algorithm)
3408
- # in the *Key Management Service Developer Guide*.
3488
+ # information, see [Select a wrapping algorithm][1] in the *Key
3489
+ # Management Service Developer Guide*.
3409
3490
  #
3410
3491
  # For RSA\_AES wrapping algorithms, you encrypt your key material with
3411
3492
  # an AES key that you generate, then encrypt your AES key with the RSA
@@ -3437,6 +3518,10 @@ module Aws::KMS
3437
3518
  #
3438
3519
  # * **RSAES\_PKCS1\_V1\_5** (Deprecated) — As of October 10, 2023, KMS
3439
3520
  # does not support the RSAES\_PKCS1\_V1\_5 wrapping algorithm.
3521
+ #
3522
+ #
3523
+ #
3524
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-get-public-key-and-token.html#select-wrapping-algorithm
3440
3525
  # @return [String]
3441
3526
  #
3442
3527
  # @!attribute [rw] wrapping_key_spec
@@ -3532,7 +3617,7 @@ module Aws::KMS
3532
3617
  #
3533
3618
  #
3534
3619
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
3535
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
3620
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
3536
3621
  # @return [Array<String>]
3537
3622
  #
3538
3623
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GetPublicKeyRequest AWS API Documentation
@@ -3634,9 +3719,9 @@ module Aws::KMS
3634
3719
  #
3635
3720
  # KMS applies the grant constraints only to cryptographic operations
3636
3721
  # that support an encryption context, that is, all cryptographic
3637
- # operations with a [symmetric KMS key][3]. Grant constraints are not
3638
- # applied to operations that do not support an encryption context, such
3639
- # as cryptographic operations with asymmetric KMS keys and management
3722
+ # operations with a symmetric KMS key. Grant constraints are not applied
3723
+ # to operations that do not support an encryption context, such as
3724
+ # cryptographic operations with asymmetric KMS keys and management
3640
3725
  # operations, such as DescribeKey or RetireGrant.
3641
3726
  #
3642
3727
  # In a cryptographic operation, the encryption context in the decryption
@@ -3651,15 +3736,14 @@ module Aws::KMS
3651
3736
  # differ only by case. To require a fully case-sensitive encryption
3652
3737
  # context, use the `kms:EncryptionContext:` and
3653
3738
  # `kms:EncryptionContextKeys` conditions in an IAM or key policy. For
3654
- # details, see [kms:EncryptionContext:][4] in the <i> <i>Key Management
3655
- # Service Developer Guide</i> </i>.
3739
+ # details, see [kms:EncryptionContext:context-key][3] in the <i> <i>Key
3740
+ # Management Service Developer Guide</i> </i>.
3656
3741
  #
3657
3742
  #
3658
3743
  #
3659
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
3660
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
3661
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-concepts.html#symmetric-cmks
3662
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-encryption-context
3744
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
3745
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
3746
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-encryption-context
3663
3747
  #
3664
3748
  # @!attribute [rw] encryption_context_subset
3665
3749
  # A list of key-value pairs that must be included in the encryption
@@ -3670,7 +3754,7 @@ module Aws::KMS
3670
3754
  #
3671
3755
  #
3672
3756
  #
3673
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
3757
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
3674
3758
  # @return [Hash<String,String>]
3675
3759
  #
3676
3760
  # @!attribute [rw] encryption_context_equals
@@ -3681,7 +3765,7 @@ module Aws::KMS
3681
3765
  #
3682
3766
  #
3683
3767
  #
3684
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
3768
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
3685
3769
  # @return [Hash<String,String>]
3686
3770
  #
3687
3771
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GrantConstraints AWS API Documentation
@@ -3770,11 +3854,9 @@ module Aws::KMS
3770
3854
  #
3771
3855
  # The KMS key can be a symmetric encryption KMS key, HMAC KMS key,
3772
3856
  # asymmetric encryption KMS key, or asymmetric signing KMS key,
3773
- # including a [multi-Region
3774
- # key](kms/latest/developerguide/multi-region-keys-overview.html) of
3775
- # any supported type. You cannot perform this operation on a KMS key
3776
- # in a custom key store, or on a KMS key in a different Amazon Web
3777
- # Services account.
3857
+ # including a [multi-Region key][1] of any supported type. You cannot
3858
+ # perform this operation on a KMS key in a custom key store, or on a
3859
+ # KMS key in a different Amazon Web Services account.
3778
3860
  #
3779
3861
  # Specify the key ID or key ARN of the KMS key.
3780
3862
  #
@@ -3787,6 +3869,10 @@ module Aws::KMS
3787
3869
  #
3788
3870
  # To get the key ID and key ARN for a KMS key, use ListKeys or
3789
3871
  # DescribeKey.
3872
+ #
3873
+ #
3874
+ #
3875
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
3790
3876
  # @return [String]
3791
3877
  #
3792
3878
  # @!attribute [rw] import_token
@@ -3838,7 +3924,45 @@ module Aws::KMS
3838
3924
  #
3839
3925
  #
3840
3926
  #
3841
- # [1]: https://docs.aws.amazon.com/en_us/kms/latest/developerguide/importing-keys.html#importing-keys-expiration
3927
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-import-key-material.html#importing-keys-expiration
3928
+ # @return [String]
3929
+ #
3930
+ # @!attribute [rw] import_type
3931
+ # Indicates whether the key material being imported is previously
3932
+ # associated with this KMS key or not. This parameter is optional and
3933
+ # only usable with symmetric encryption keys. The default is
3934
+ # `EXISTING_KEY_MATERIAL`. If no key material has ever been imported
3935
+ # into the KMS key, and this parameter is omitted, the parameter
3936
+ # defaults to `NEW_KEY_MATERIAL`.
3937
+ # @return [String]
3938
+ #
3939
+ # @!attribute [rw] key_material_description
3940
+ # Description for the key material being imported. This parameter is
3941
+ # optional and only usable with symmetric encryption keys. If you do
3942
+ # not specify a key material description, KMS retains the value you
3943
+ # specified when you last imported the same key material into this KMS
3944
+ # key.
3945
+ # @return [String]
3946
+ #
3947
+ # @!attribute [rw] key_material_id
3948
+ # Identifies the key material being imported. This parameter is
3949
+ # optional and only usable with symmetric encryption keys. You cannot
3950
+ # specify a key material ID with `ImportType` set to
3951
+ # `NEW_KEY_MATERIAL`. Whenever you import key material into a
3952
+ # symmetric encryption key, KMS assigns a unique identifier to the key
3953
+ # material based on the KMS key ID and the imported key material. When
3954
+ # you re-import key material with a specified key material ID, KMS:
3955
+ #
3956
+ # * Computes the identifier for the key material
3957
+ #
3958
+ # * Matches the computed identifier against the specified key material
3959
+ # ID
3960
+ #
3961
+ # * Verifies that the key material ID is already associated with the
3962
+ # KMS key
3963
+ #
3964
+ # To get the list of key material IDs associated with a KMS key, use
3965
+ # ListKeyRotations.
3842
3966
  # @return [String]
3843
3967
  #
3844
3968
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ImportKeyMaterialRequest AWS API Documentation
@@ -3848,14 +3972,35 @@ module Aws::KMS
3848
3972
  :import_token,
3849
3973
  :encrypted_key_material,
3850
3974
  :valid_to,
3851
- :expiration_model)
3975
+ :expiration_model,
3976
+ :import_type,
3977
+ :key_material_description,
3978
+ :key_material_id)
3852
3979
  SENSITIVE = []
3853
3980
  include Aws::Structure
3854
3981
  end
3855
3982
 
3983
+ # @!attribute [rw] key_id
3984
+ # The Amazon Resource Name ([key ARN][1]) of the KMS key into which
3985
+ # key material was imported.
3986
+ #
3987
+ #
3988
+ #
3989
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN
3990
+ # @return [String]
3991
+ #
3992
+ # @!attribute [rw] key_material_id
3993
+ # Identifies the imported key material.
3994
+ # @return [String]
3995
+ #
3856
3996
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ImportKeyMaterialResponse AWS API Documentation
3857
3997
  #
3858
- class ImportKeyMaterialResponse < Aws::EmptyStructure; end
3998
+ class ImportKeyMaterialResponse < Struct.new(
3999
+ :key_id,
4000
+ :key_material_id)
4001
+ SENSITIVE = []
4002
+ include Aws::Structure
4003
+ end
3859
4004
 
3860
4005
  # The request was rejected because the specified KMS key cannot decrypt
3861
4006
  # the data. The `KeyId` in a Decrypt request and the `SourceKeyId` in a
@@ -3874,8 +4019,10 @@ module Aws::KMS
3874
4019
  end
3875
4020
 
3876
4021
  # The request was rejected because the key material in the request is,
3877
- # expired, invalid, or is not the same key material that was previously
3878
- # imported into this KMS key.
4022
+ # expired, invalid, or does not meet expectations. For example, it is
4023
+ # not the same key material that was previously imported or KMS expected
4024
+ # new key material but the key material being imported is already
4025
+ # associated with the KMS key.
3879
4026
  #
3880
4027
  # @!attribute [rw] message
3881
4028
  # @return [String]
@@ -4182,7 +4329,7 @@ module Aws::KMS
4182
4329
  #
4183
4330
  #
4184
4331
  #
4185
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
4332
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
4186
4333
  # @return [String]
4187
4334
  #
4188
4335
  # @!attribute [rw] key_state
@@ -4209,11 +4356,12 @@ module Aws::KMS
4209
4356
  # @return [Time]
4210
4357
  #
4211
4358
  # @!attribute [rw] valid_to
4212
- # The time at which the imported key material expires. When the key
4213
- # material expires, KMS deletes the key material and the KMS key
4214
- # becomes unusable. This value is present only for KMS keys whose
4215
- # `Origin` is `EXTERNAL` and whose `ExpirationModel` is
4216
- # `KEY_MATERIAL_EXPIRES`, otherwise this value is omitted.
4359
+ # The earliest time at which any imported key material permanently
4360
+ # associated with this KMS key expires. When a key material expires,
4361
+ # KMS deletes the key material and the KMS key becomes unusable. This
4362
+ # value is present only for KMS keys whose `Origin` is `EXTERNAL` and
4363
+ # the `ExpirationModel` is `KEY_MATERIAL_EXPIRES`, otherwise this
4364
+ # value is omitted.
4217
4365
  # @return [Time]
4218
4366
  #
4219
4367
  # @!attribute [rw] origin
@@ -4232,7 +4380,7 @@ module Aws::KMS
4232
4380
  #
4233
4381
  #
4234
4382
  #
4235
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
4383
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
4236
4384
  # @return [String]
4237
4385
  #
4238
4386
  # @!attribute [rw] cloud_hsm_cluster_id
@@ -4244,7 +4392,7 @@ module Aws::KMS
4244
4392
  #
4245
4393
  #
4246
4394
  #
4247
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
4395
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
4248
4396
  # @return [String]
4249
4397
  #
4250
4398
  # @!attribute [rw] expiration_model
@@ -4367,6 +4515,16 @@ module Aws::KMS
4367
4515
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html#concept-external-key
4368
4516
  # @return [Types::XksKeyConfigurationType]
4369
4517
  #
4518
+ # @!attribute [rw] current_key_material_id
4519
+ # Identifies the current key material. This value is present for
4520
+ # symmetric encryption keys with `AWS_KMS` origin and single-Region,
4521
+ # symmetric encryption keys with `EXTERNAL` origin. These KMS keys
4522
+ # support automatic or on-demand key rotation and can have multiple
4523
+ # key materials associated with them. KMS uses the current key
4524
+ # material for both encryption and decryption, and the non-current key
4525
+ # material for decryption operations only.
4526
+ # @return [String]
4527
+ #
4370
4528
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/KeyMetadata AWS API Documentation
4371
4529
  #
4372
4530
  class KeyMetadata < Struct.new(
@@ -4394,7 +4552,8 @@ module Aws::KMS
4394
4552
  :multi_region_configuration,
4395
4553
  :pending_deletion_window_in_days,
4396
4554
  :mac_algorithms,
4397
- :xks_key_configuration)
4555
+ :xks_key_configuration,
4556
+ :current_key_material_id)
4398
4557
  SENSITIVE = []
4399
4558
  include Aws::Structure
4400
4559
  end
@@ -4413,9 +4572,9 @@ module Aws::KMS
4413
4572
  include Aws::Structure
4414
4573
  end
4415
4574
 
4416
- # The request was rejected because a quota was exceeded. For more
4417
- # information, see [Quotas][1] in the *Key Management Service Developer
4418
- # Guide*.
4575
+ # The request was rejected because a length constraint or quota was
4576
+ # exceeded. For more information, see [Quotas][1] in the *Key Management
4577
+ # Service Developer Guide*.
4419
4578
  #
4420
4579
  #
4421
4580
  #
@@ -4673,6 +4832,18 @@ module Aws::KMS
4673
4832
  # DescribeKey.
4674
4833
  # @return [String]
4675
4834
  #
4835
+ # @!attribute [rw] include_key_material
4836
+ # Use this optional parameter to control which key materials
4837
+ # associated with this key are listed in the response. The default
4838
+ # value of this parameter is `ROTATIONS_ONLY`. If you omit this
4839
+ # parameter, KMS returns information on the key materials created by
4840
+ # automatic or on-demand key rotation. When you specify a value of
4841
+ # `ALL_KEY_MATERIAL`, KMS adds the first key material and any imported
4842
+ # key material pending rotation to the response. This parameter can
4843
+ # only be used with KMS keys that support automatic or on-demand key
4844
+ # rotation.
4845
+ # @return [String]
4846
+ #
4676
4847
  # @!attribute [rw] limit
4677
4848
  # Use this parameter to specify the maximum number of items to return.
4678
4849
  # When this value is present, KMS does not return more than the
@@ -4693,6 +4864,7 @@ module Aws::KMS
4693
4864
  #
4694
4865
  class ListKeyRotationsRequest < Struct.new(
4695
4866
  :key_id,
4867
+ :include_key_material,
4696
4868
  :limit,
4697
4869
  :marker)
4698
4870
  SENSITIVE = []
@@ -4700,7 +4872,10 @@ module Aws::KMS
4700
4872
  end
4701
4873
 
4702
4874
  # @!attribute [rw] rotations
4703
- # A list of completed key material rotations.
4875
+ # A list of completed key material rotations. When the optional input
4876
+ # parameter `IncludeKeyMaterial` is specified with a value of
4877
+ # `ALL_KEY_MATERIAL`, this list includes the first key material and
4878
+ # any imported key material pending rotation.
4704
4879
  # @return [Array<Types::RotationsListEntry>]
4705
4880
  #
4706
4881
  # @!attribute [rw] next_marker
@@ -5023,6 +5198,18 @@ module Aws::KMS
5023
5198
  # that I make are not always immediately visible][2] in the *Amazon
5024
5199
  # Web Services Identity and Access Management User Guide*.
5025
5200
  #
5201
+ # <note markdown="1"> If either of the required `Resource` or `Action` elements are
5202
+ # missing from a key policy statement, the policy statement has no
5203
+ # effect. When a key policy statement is missing one of these
5204
+ # elements, the KMS console correctly reports an error, but the
5205
+ # `PutKeyPolicy` API request succeeds, even though the policy
5206
+ # statement is ineffective.
5207
+ #
5208
+ # For more information on required key policy elements, see [Elements
5209
+ # in a key policy][3] in the *Key Management Service Developer Guide*.
5210
+ #
5211
+ # </note>
5212
+ #
5026
5213
  # A key policy document can include only the following characters:
5027
5214
  #
5028
5215
  # * Printable ASCII characters from the space character (`\u0020`)
@@ -5034,18 +5221,24 @@ module Aws::KMS
5034
5221
  # * The tab (`\u0009`), line feed (`\u000A`), and carriage return
5035
5222
  # (`\u000D`) special characters
5036
5223
  #
5037
- # For information about key policies, see [Key policies in KMS][3] in
5224
+ # <note markdown="1"> If the key policy exceeds the length constraint, KMS returns a
5225
+ # `LimitExceededException`.
5226
+ #
5227
+ # </note>
5228
+ #
5229
+ # For information about key policies, see [Key policies in KMS][4] in
5038
5230
  # the *Key Management Service Developer Guide*.For help writing and
5039
5231
  # formatting a JSON policy document, see the [IAM JSON Policy
5040
- # Reference][4] in the <i> <i>Identity and Access Management User
5232
+ # Reference][5] in the <i> <i>Identity and Access Management User
5041
5233
  # Guide</i> </i>.
5042
5234
  #
5043
5235
  #
5044
5236
  #
5045
5237
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
5046
5238
  # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
5047
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
5048
- # [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
5239
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-overview.html#key-policy-elements
5240
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
5241
+ # [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
5049
5242
  # @return [String]
5050
5243
  #
5051
5244
  # @!attribute [rw] bypass_policy_lockout_safety_check
@@ -5103,7 +5296,7 @@ module Aws::KMS
5103
5296
  #
5104
5297
  #
5105
5298
  #
5106
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
5299
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
5107
5300
  # @return [Hash<String,String>]
5108
5301
  #
5109
5302
  # @!attribute [rw] source_key_id
@@ -5193,7 +5386,7 @@ module Aws::KMS
5193
5386
  #
5194
5387
  #
5195
5388
  #
5196
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
5389
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
5197
5390
  # @return [Hash<String,String>]
5198
5391
  #
5199
5392
  # @!attribute [rw] source_encryption_algorithm
@@ -5230,19 +5423,19 @@ module Aws::KMS
5230
5423
  #
5231
5424
  #
5232
5425
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
5233
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
5426
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
5234
5427
  # @return [Array<String>]
5235
5428
  #
5236
5429
  # @!attribute [rw] dry_run
5237
5430
  # Checks if your request will succeed. `DryRun` is an optional
5238
5431
  # parameter.
5239
5432
  #
5240
- # To learn more about how to use this parameter, see [Testing your KMS
5241
- # API calls][1] in the *Key Management Service Developer Guide*.
5433
+ # To learn more about how to use this parameter, see [Testing your
5434
+ # permissions][1] in the *Key Management Service Developer Guide*.
5242
5435
  #
5243
5436
  #
5244
5437
  #
5245
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
5438
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
5246
5439
  # @return [Boolean]
5247
5440
  #
5248
5441
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ReEncryptRequest AWS API Documentation
@@ -5290,6 +5483,18 @@ module Aws::KMS
5290
5483
  # The encryption algorithm that was used to reencrypt the data.
5291
5484
  # @return [String]
5292
5485
  #
5486
+ # @!attribute [rw] source_key_material_id
5487
+ # The identifier of the key material used to originally encrypt the
5488
+ # data. This field is present only when the original encryption used a
5489
+ # symmetric encryption KMS key.
5490
+ # @return [String]
5491
+ #
5492
+ # @!attribute [rw] destination_key_material_id
5493
+ # The identifier of the key material used to reencrypt the data. This
5494
+ # field is present only when data is reencrypted using a symmetric
5495
+ # encryption KMS key.
5496
+ # @return [String]
5497
+ #
5293
5498
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ReEncryptResponse AWS API Documentation
5294
5499
  #
5295
5500
  class ReEncryptResponse < Struct.new(
@@ -5297,7 +5502,9 @@ module Aws::KMS
5297
5502
  :source_key_id,
5298
5503
  :key_id,
5299
5504
  :source_encryption_algorithm,
5300
- :destination_encryption_algorithm)
5505
+ :destination_encryption_algorithm,
5506
+ :source_key_material_id,
5507
+ :destination_key_material_id)
5301
5508
  SENSITIVE = []
5302
5509
  include Aws::Structure
5303
5510
  end
@@ -5363,33 +5570,23 @@ module Aws::KMS
5363
5570
  # [KMS service endpoints][1] in the *Amazon Web Services General
5364
5571
  # Reference*.
5365
5572
  #
5366
- # <note markdown="1"> HMAC KMS keys are not supported in all Amazon Web Services Regions.
5367
- # If you try to replicate an HMAC KMS key in an Amazon Web Services
5368
- # Region in which HMAC keys are not supported, the `ReplicateKey`
5369
- # operation returns an `UnsupportedOperationException`. For a list of
5370
- # Regions in which HMAC KMS keys are supported, see [HMAC keys in
5371
- # KMS][2] in the *Key Management Service Developer Guide*.
5372
- #
5373
- # </note>
5374
- #
5375
5573
  # The replica must be in a different Amazon Web Services Region than
5376
5574
  # its primary key and other replicas of that primary key, but in the
5377
5575
  # same Amazon Web Services partition. KMS must be available in the
5378
5576
  # replica Region. If the Region is not enabled by default, the Amazon
5379
5577
  # Web Services account must be enabled in the Region. For information
5380
5578
  # about Amazon Web Services partitions, see [Amazon Resource Names
5381
- # (ARNs)][3] in the *Amazon Web Services General Reference*. For
5579
+ # (ARNs)][2] in the *Amazon Web Services General Reference*. For
5382
5580
  # information about enabling and disabling Regions, see [Enabling a
5383
- # Region][4] and [Disabling a Region][5] in the *Amazon Web Services
5581
+ # Region][3] and [Disabling a Region][4] in the *Amazon Web Services
5384
5582
  # General Reference*.
5385
5583
  #
5386
5584
  #
5387
5585
  #
5388
5586
  # [1]: https://docs.aws.amazon.com/general/latest/gr/kms.html#kms_region
5389
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
5390
- # [3]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
5391
- # [4]: https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-enable
5392
- # [5]: https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-disable
5587
+ # [2]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
5588
+ # [3]: https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-enable
5589
+ # [4]: https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-disable
5393
5590
  # @return [String]
5394
5591
  #
5395
5592
  # @!attribute [rw] policy
@@ -5439,7 +5636,7 @@ module Aws::KMS
5439
5636
  #
5440
5637
  #
5441
5638
  #
5442
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default
5639
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html
5443
5640
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
5444
5641
  # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
5445
5642
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
@@ -5512,7 +5709,7 @@ module Aws::KMS
5512
5709
  # When you add tags to an Amazon Web Services resource, Amazon Web
5513
5710
  # Services generates a cost allocation report with usage and costs
5514
5711
  # aggregated by tags. Tags can also be used to control access to a KMS
5515
- # key. For details, see [Tagging Keys][3].
5712
+ # key. For details, see [Tags in KMS][3].
5516
5713
  #
5517
5714
  #
5518
5715
  #
@@ -5603,12 +5800,12 @@ module Aws::KMS
5603
5800
  # Checks if your request will succeed. `DryRun` is an optional
5604
5801
  # parameter.
5605
5802
  #
5606
- # To learn more about how to use this parameter, see [Testing your KMS
5607
- # API calls][1] in the *Key Management Service Developer Guide*.
5803
+ # To learn more about how to use this parameter, see [Testing your
5804
+ # permissions][1] in the *Key Management Service Developer Guide*.
5608
5805
  #
5609
5806
  #
5610
5807
  #
5611
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
5808
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
5612
5809
  # @return [Boolean]
5613
5810
  #
5614
5811
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/RetireGrantRequest AWS API Documentation
@@ -5651,12 +5848,12 @@ module Aws::KMS
5651
5848
  # Checks if your request will succeed. `DryRun` is an optional
5652
5849
  # parameter.
5653
5850
  #
5654
- # To learn more about how to use this parameter, see [Testing your KMS
5655
- # API calls][1] in the *Key Management Service Developer Guide*.
5851
+ # To learn more about how to use this parameter, see [Testing your
5852
+ # permissions][1] in the *Key Management Service Developer Guide*.
5656
5853
  #
5657
5854
  #
5658
5855
  #
5659
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
5856
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
5660
5857
  # @return [Boolean]
5661
5858
  #
5662
5859
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/RevokeGrantRequest AWS API Documentation
@@ -5672,10 +5869,10 @@ module Aws::KMS
5672
5869
  # @!attribute [rw] key_id
5673
5870
  # Identifies a symmetric encryption KMS key. You cannot perform
5674
5871
  # on-demand rotation of [asymmetric KMS keys][1], [HMAC KMS keys][2],
5675
- # KMS keys with [imported key material][3], or KMS keys in a [custom
5676
- # key store][4]. To perform on-demand rotation of a set of related
5677
- # [multi-Region keys][5], invoke the on-demand rotation on the primary
5678
- # key.
5872
+ # multi-Region KMS keys with [imported key material][3], or KMS keys
5873
+ # in a [custom key store][4]. To perform on-demand rotation of a set
5874
+ # of related [multi-Region keys][5], invoke the on-demand rotation on
5875
+ # the primary key.
5679
5876
  #
5680
5877
  # Specify the key ID or key ARN of the KMS key.
5681
5878
  #
@@ -5694,8 +5891,8 @@ module Aws::KMS
5694
5891
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
5695
5892
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
5696
5893
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
5697
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
5698
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate
5894
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
5895
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#multi-region-rotate
5699
5896
  # @return [String]
5700
5897
  #
5701
5898
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/RotateKeyOnDemandRequest AWS API Documentation
@@ -5719,31 +5916,88 @@ module Aws::KMS
5719
5916
  include Aws::Structure
5720
5917
  end
5721
5918
 
5722
- # Contains information about completed key material rotations.
5919
+ # Each entry contains information about one of the key materials
5920
+ # associated with a KMS key.
5723
5921
  #
5724
5922
  # @!attribute [rw] key_id
5725
5923
  # Unique identifier of the key.
5726
5924
  # @return [String]
5727
5925
  #
5926
+ # @!attribute [rw] key_material_id
5927
+ # Unique identifier of the key material.
5928
+ # @return [String]
5929
+ #
5930
+ # @!attribute [rw] key_material_description
5931
+ # User-specified description of the key material. This field is only
5932
+ # present for symmetric encryption KMS keys with `EXTERNAL` origin.
5933
+ # @return [String]
5934
+ #
5935
+ # @!attribute [rw] import_state
5936
+ # Indicates if the key material is currently imported into KMS. It has
5937
+ # two possible values: `IMPORTED` or `PENDING_IMPORT`. This field is
5938
+ # only present for symmetric encryption KMS keys with `EXTERNAL`
5939
+ # origin.
5940
+ # @return [String]
5941
+ #
5942
+ # @!attribute [rw] key_material_state
5943
+ # There are three possible values for this field: `CURRENT`,
5944
+ # `NON_CURRENT` and `PENDING_ROTATION`. KMS uses `CURRENT` key
5945
+ # material for both encryption and decryption and `NON_CURRENT` key
5946
+ # material only for decryption. `PENDING_ROTATION` identifies key
5947
+ # material that has been imported for on-demand key rotation but the
5948
+ # rotation hasn't completed. Key material in `PENDING_ROTATION` is
5949
+ # not permanently associated with the KMS key. You can delete this key
5950
+ # material and import different key material in its place. The
5951
+ # `PENDING_ROTATION` value is only used in symmetric encryption keys
5952
+ # with imported key material. The other values, `CURRENT` and
5953
+ # `NON_CURRENT`, are used for all KMS keys that support automatic or
5954
+ # on-demand key rotation.
5955
+ # @return [String]
5956
+ #
5957
+ # @!attribute [rw] expiration_model
5958
+ # Indicates if the key material is configured to automatically expire.
5959
+ # There are two possible values for this field: `KEY_MATERIAL_EXPIRES`
5960
+ # and `KEY_MATERIAL_DOES_NOT_EXPIRE`. For any key material that
5961
+ # expires, the expiration date and time is indicated in `ValidTo`.
5962
+ # This field is only present for symmetric encryption KMS keys with
5963
+ # `EXTERNAL` origin.
5964
+ # @return [String]
5965
+ #
5966
+ # @!attribute [rw] valid_to
5967
+ # Date and time at which the key material expires. This field is only
5968
+ # present for symmetric encryption KMS keys with `EXTERNAL` origin in
5969
+ # rotation list entries with an `ExpirationModel` value of
5970
+ # `KEY_MATERIAL_EXPIRES`.
5971
+ # @return [Time]
5972
+ #
5728
5973
  # @!attribute [rw] rotation_date
5729
5974
  # Date and time that the key material rotation completed. Formatted as
5730
- # Unix time.
5975
+ # Unix time. This field is not present for the first key material or
5976
+ # an imported key material in `PENDING_ROTATION` state.
5731
5977
  # @return [Time]
5732
5978
  #
5733
5979
  # @!attribute [rw] rotation_type
5734
5980
  # Identifies whether the key material rotation was a scheduled
5735
- # [automatic rotation][1] or an [on-demand rotation][2].
5981
+ # [automatic rotation][1] or an [on-demand rotation][2]. This field is
5982
+ # not present for the first key material or an imported key material
5983
+ # in `PENDING_ROTATION` state.
5736
5984
  #
5737
5985
  #
5738
5986
  #
5739
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotating-keys-enable-disable
5740
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotating-keys-on-demand
5987
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotating-keys-enable-disable.html
5988
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/rotating-keys-on-demand.html
5741
5989
  # @return [String]
5742
5990
  #
5743
5991
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/RotationsListEntry AWS API Documentation
5744
5992
  #
5745
5993
  class RotationsListEntry < Struct.new(
5746
5994
  :key_id,
5995
+ :key_material_id,
5996
+ :key_material_description,
5997
+ :import_state,
5998
+ :key_material_state,
5999
+ :expiration_model,
6000
+ :valid_to,
5747
6001
  :rotation_date,
5748
6002
  :rotation_type)
5749
6003
  SENSITIVE = []
@@ -5918,7 +6172,7 @@ module Aws::KMS
5918
6172
  #
5919
6173
  #
5920
6174
  #
5921
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/asymmetric-key-specs.html#key-spec-sm-offline-verification
6175
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/offline-operations.html#key-spec-sm-offline-verification
5922
6176
  # @return [String]
5923
6177
  #
5924
6178
  # @!attribute [rw] grant_tokens
@@ -5932,7 +6186,7 @@ module Aws::KMS
5932
6186
  #
5933
6187
  #
5934
6188
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
5935
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
6189
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
5936
6190
  # @return [Array<String>]
5937
6191
  #
5938
6192
  # @!attribute [rw] signing_algorithm
@@ -5948,12 +6202,12 @@ module Aws::KMS
5948
6202
  # Checks if your request will succeed. `DryRun` is an optional
5949
6203
  # parameter.
5950
6204
  #
5951
- # To learn more about how to use this parameter, see [Testing your KMS
5952
- # API calls][1] in the *Key Management Service Developer Guide*.
6205
+ # To learn more about how to use this parameter, see [Testing your
6206
+ # permissions][1] in the *Key Management Service Developer Guide*.
5953
6207
  #
5954
6208
  #
5955
6209
  #
5956
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
6210
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
5957
6211
  # @return [Boolean]
5958
6212
  #
5959
6213
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/SignRequest AWS API Documentation
@@ -6458,19 +6712,19 @@ module Aws::KMS
6458
6712
  #
6459
6713
  #
6460
6714
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
6461
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
6715
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
6462
6716
  # @return [Array<String>]
6463
6717
  #
6464
6718
  # @!attribute [rw] dry_run
6465
6719
  # Checks if your request will succeed. `DryRun` is an optional
6466
6720
  # parameter.
6467
6721
  #
6468
- # To learn more about how to use this parameter, see [Testing your KMS
6469
- # API calls][1] in the *Key Management Service Developer Guide*.
6722
+ # To learn more about how to use this parameter, see [Testing your
6723
+ # permissions][1] in the *Key Management Service Developer Guide*.
6470
6724
  #
6471
6725
  #
6472
6726
  #
6473
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
6727
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
6474
6728
  # @return [Boolean]
6475
6729
  #
6476
6730
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/VerifyMacRequest AWS API Documentation
@@ -6592,7 +6846,7 @@ module Aws::KMS
6592
6846
  #
6593
6847
  #
6594
6848
  #
6595
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/asymmetric-key-specs.html#key-spec-sm-offline-verification
6849
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/offline-operations.html#key-spec-sm-offline-verification
6596
6850
  # @return [String]
6597
6851
  #
6598
6852
  # @!attribute [rw] signature
@@ -6615,19 +6869,19 @@ module Aws::KMS
6615
6869
  #
6616
6870
  #
6617
6871
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
6618
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
6872
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
6619
6873
  # @return [Array<String>]
6620
6874
  #
6621
6875
  # @!attribute [rw] dry_run
6622
6876
  # Checks if your request will succeed. `DryRun` is an optional
6623
6877
  # parameter.
6624
6878
  #
6625
- # To learn more about how to use this parameter, see [Testing your KMS
6626
- # API calls][1] in the *Key Management Service Developer Guide*.
6879
+ # To learn more about how to use this parameter, see [Testing your
6880
+ # permissions][1] in the *Key Management Service Developer Guide*.
6627
6881
  #
6628
6882
  #
6629
6883
  #
6630
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
6884
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
6631
6885
  # @return [Boolean]
6632
6886
  #
6633
6887
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/VerifyRequest AWS API Documentation