aws-sdk-kms 1.101.0 → 1.104.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,21 @@ 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. This field is omitted if the request includes
1707
+ # the `Recipient` parameter.
1708
+ # @return [String]
1709
+ #
1685
1710
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DecryptResponse AWS API Documentation
1686
1711
  #
1687
1712
  class DecryptResponse < Struct.new(
1688
1713
  :key_id,
1689
1714
  :plaintext,
1690
1715
  :encryption_algorithm,
1691
- :ciphertext_for_recipient)
1716
+ :ciphertext_for_recipient,
1717
+ :key_material_id)
1692
1718
  SENSITIVE = [:plaintext]
1693
1719
  include Aws::Structure
1694
1720
  end
@@ -1740,10 +1766,43 @@ module Aws::KMS
1740
1766
  # DescribeKey.
1741
1767
  # @return [String]
1742
1768
  #
1769
+ # @!attribute [rw] key_material_id
1770
+ # Identifies the imported key material you are deleting.
1771
+ #
1772
+ # If no KeyMaterialId is specified, KMS deletes the current key
1773
+ # material.
1774
+ #
1775
+ # To get the list of key material IDs associated with a KMS key, use
1776
+ # ListKeyRotations.
1777
+ # @return [String]
1778
+ #
1743
1779
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DeleteImportedKeyMaterialRequest AWS API Documentation
1744
1780
  #
1745
1781
  class DeleteImportedKeyMaterialRequest < Struct.new(
1746
- :key_id)
1782
+ :key_id,
1783
+ :key_material_id)
1784
+ SENSITIVE = []
1785
+ include Aws::Structure
1786
+ end
1787
+
1788
+ # @!attribute [rw] key_id
1789
+ # The Amazon Resource Name ([key ARN][1]) of the KMS key from which
1790
+ # the key material was deleted.
1791
+ #
1792
+ #
1793
+ #
1794
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN
1795
+ # @return [String]
1796
+ #
1797
+ # @!attribute [rw] key_material_id
1798
+ # Identifies the deleted key material.
1799
+ # @return [String]
1800
+ #
1801
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DeleteImportedKeyMaterialResponse AWS API Documentation
1802
+ #
1803
+ class DeleteImportedKeyMaterialResponse < Struct.new(
1804
+ :key_id,
1805
+ :key_material_id)
1747
1806
  SENSITIVE = []
1748
1807
  include Aws::Structure
1749
1808
  end
@@ -1831,19 +1890,19 @@ module Aws::KMS
1831
1890
  #
1832
1891
  #
1833
1892
  # [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
1893
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
1835
1894
  # @return [Array<String>]
1836
1895
  #
1837
1896
  # @!attribute [rw] dry_run
1838
1897
  # Checks if your request will succeed. `DryRun` is an optional
1839
1898
  # parameter.
1840
1899
  #
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*.
1900
+ # To learn more about how to use this parameter, see [Testing your
1901
+ # permissions][1] in the *Key Management Service Developer Guide*.
1843
1902
  #
1844
1903
  #
1845
1904
  #
1846
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
1905
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
1847
1906
  # @return [Boolean]
1848
1907
  #
1849
1908
  # @!attribute [rw] recipient
@@ -2063,7 +2122,7 @@ module Aws::KMS
2063
2122
  #
2064
2123
  #
2065
2124
  # [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
2125
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
2067
2126
  # @return [Array<String>]
2068
2127
  #
2069
2128
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DescribeKeyRequest AWS API Documentation
@@ -2134,7 +2193,7 @@ module Aws::KMS
2134
2193
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html#asymmetric-cmks
2135
2194
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
2136
2195
  # [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
2196
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
2138
2197
  # @return [String]
2139
2198
  #
2140
2199
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DisableKeyRotationRequest AWS API Documentation
@@ -2237,8 +2296,8 @@ module Aws::KMS
2237
2296
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
2238
2297
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
2239
2298
  # [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
2299
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
2300
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#multi-region-rotate
2242
2301
  # @return [String]
2243
2302
  #
2244
2303
  # @!attribute [rw] rotation_period_in_days
@@ -2324,8 +2383,8 @@ module Aws::KMS
2324
2383
  #
2325
2384
  #
2326
2385
  #
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
2386
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
2387
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
2329
2388
  # @return [Hash<String,String>]
2330
2389
  #
2331
2390
  # @!attribute [rw] grant_tokens
@@ -2339,7 +2398,7 @@ module Aws::KMS
2339
2398
  #
2340
2399
  #
2341
2400
  # [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
2401
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
2343
2402
  # @return [Array<String>]
2344
2403
  #
2345
2404
  # @!attribute [rw] encryption_algorithm
@@ -2359,12 +2418,12 @@ module Aws::KMS
2359
2418
  # Checks if your request will succeed. `DryRun` is an optional
2360
2419
  # parameter.
2361
2420
  #
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*.
2421
+ # To learn more about how to use this parameter, see [Testing your
2422
+ # permissions][1] in the *Key Management Service Developer Guide*.
2364
2423
  #
2365
2424
  #
2366
2425
  #
2367
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
2426
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
2368
2427
  # @return [Boolean]
2369
2428
  #
2370
2429
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/EncryptRequest AWS API Documentation
@@ -2447,7 +2506,7 @@ module Aws::KMS
2447
2506
  #
2448
2507
  #
2449
2508
  #
2450
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
2509
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
2451
2510
  # @return [Hash<String,String>]
2452
2511
  #
2453
2512
  # @!attribute [rw] key_id
@@ -2497,7 +2556,7 @@ module Aws::KMS
2497
2556
  #
2498
2557
  #
2499
2558
  # [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
2559
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
2501
2560
  # @return [Array<String>]
2502
2561
  #
2503
2562
  # @!attribute [rw] recipient
@@ -2538,12 +2597,12 @@ module Aws::KMS
2538
2597
  # Checks if your request will succeed. `DryRun` is an optional
2539
2598
  # parameter.
2540
2599
  #
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*.
2600
+ # To learn more about how to use this parameter, see [Testing your
2601
+ # permissions][1] in the *Key Management Service Developer Guide*.
2543
2602
  #
2544
2603
  #
2545
2604
  #
2546
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
2605
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
2547
2606
  # @return [Boolean]
2548
2607
  #
2549
2608
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPairRequest AWS API Documentation
@@ -2610,6 +2669,12 @@ module Aws::KMS
2610
2669
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
2611
2670
  # @return [String]
2612
2671
  #
2672
+ # @!attribute [rw] key_material_id
2673
+ # The identifier of the key material used to encrypt the private key.
2674
+ # This field is omitted if the request includes the `Recipient`
2675
+ # parameter.
2676
+ # @return [String]
2677
+ #
2613
2678
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPairResponse AWS API Documentation
2614
2679
  #
2615
2680
  class GenerateDataKeyPairResponse < Struct.new(
@@ -2618,7 +2683,8 @@ module Aws::KMS
2618
2683
  :public_key,
2619
2684
  :key_id,
2620
2685
  :key_pair_spec,
2621
- :ciphertext_for_recipient)
2686
+ :ciphertext_for_recipient,
2687
+ :key_material_id)
2622
2688
  SENSITIVE = [:private_key_plaintext]
2623
2689
  include Aws::Structure
2624
2690
  end
@@ -2645,7 +2711,7 @@ module Aws::KMS
2645
2711
  #
2646
2712
  #
2647
2713
  #
2648
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
2714
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
2649
2715
  # @return [Hash<String,String>]
2650
2716
  #
2651
2717
  # @!attribute [rw] key_id
@@ -2695,19 +2761,19 @@ module Aws::KMS
2695
2761
  #
2696
2762
  #
2697
2763
  # [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
2764
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
2699
2765
  # @return [Array<String>]
2700
2766
  #
2701
2767
  # @!attribute [rw] dry_run
2702
2768
  # Checks if your request will succeed. `DryRun` is an optional
2703
2769
  # parameter.
2704
2770
  #
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*.
2771
+ # To learn more about how to use this parameter, see [Testing your
2772
+ # permissions][1] in the *Key Management Service Developer Guide*.
2707
2773
  #
2708
2774
  #
2709
2775
  #
2710
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
2776
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
2711
2777
  # @return [Boolean]
2712
2778
  #
2713
2779
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPairWithoutPlaintextRequest AWS API Documentation
@@ -2747,13 +2813,18 @@ module Aws::KMS
2747
2813
  # The type of data key pair that was generated.
2748
2814
  # @return [String]
2749
2815
  #
2816
+ # @!attribute [rw] key_material_id
2817
+ # The identifier of the key material used to encrypt the private key.
2818
+ # @return [String]
2819
+ #
2750
2820
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPairWithoutPlaintextResponse AWS API Documentation
2751
2821
  #
2752
2822
  class GenerateDataKeyPairWithoutPlaintextResponse < Struct.new(
2753
2823
  :private_key_ciphertext_blob,
2754
2824
  :public_key,
2755
2825
  :key_id,
2756
- :key_pair_spec)
2826
+ :key_pair_spec,
2827
+ :key_material_id)
2757
2828
  SENSITIVE = []
2758
2829
  include Aws::Structure
2759
2830
  end
@@ -2806,7 +2877,7 @@ module Aws::KMS
2806
2877
  #
2807
2878
  #
2808
2879
  #
2809
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
2880
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
2810
2881
  # @return [Hash<String,String>]
2811
2882
  #
2812
2883
  # @!attribute [rw] number_of_bytes
@@ -2839,7 +2910,7 @@ module Aws::KMS
2839
2910
  #
2840
2911
  #
2841
2912
  # [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
2913
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
2843
2914
  # @return [Array<String>]
2844
2915
  #
2845
2916
  # @!attribute [rw] recipient
@@ -2876,12 +2947,12 @@ module Aws::KMS
2876
2947
  # Checks if your request will succeed. `DryRun` is an optional
2877
2948
  # parameter.
2878
2949
  #
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*.
2950
+ # To learn more about how to use this parameter, see [Testing your
2951
+ # permissions][1] in the *Key Management Service Developer Guide*.
2881
2952
  #
2882
2953
  #
2883
2954
  #
2884
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
2955
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
2885
2956
  # @return [Boolean]
2886
2957
  #
2887
2958
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyRequest AWS API Documentation
@@ -2940,13 +3011,20 @@ module Aws::KMS
2940
3011
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
2941
3012
  # @return [String]
2942
3013
  #
3014
+ # @!attribute [rw] key_material_id
3015
+ # The identifier of the key material used to encrypt the data key.
3016
+ # This field is omitted if the request includes the `Recipient`
3017
+ # parameter.
3018
+ # @return [String]
3019
+ #
2943
3020
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyResponse AWS API Documentation
2944
3021
  #
2945
3022
  class GenerateDataKeyResponse < Struct.new(
2946
3023
  :ciphertext_blob,
2947
3024
  :plaintext,
2948
3025
  :key_id,
2949
- :ciphertext_for_recipient)
3026
+ :ciphertext_for_recipient,
3027
+ :key_material_id)
2950
3028
  SENSITIVE = [:plaintext]
2951
3029
  include Aws::Structure
2952
3030
  end
@@ -2999,7 +3077,7 @@ module Aws::KMS
2999
3077
  #
3000
3078
  #
3001
3079
  #
3002
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
3080
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
3003
3081
  # @return [Hash<String,String>]
3004
3082
  #
3005
3083
  # @!attribute [rw] key_spec
@@ -3025,19 +3103,19 @@ module Aws::KMS
3025
3103
  #
3026
3104
  #
3027
3105
  # [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
3106
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
3029
3107
  # @return [Array<String>]
3030
3108
  #
3031
3109
  # @!attribute [rw] dry_run
3032
3110
  # Checks if your request will succeed. `DryRun` is an optional
3033
3111
  # parameter.
3034
3112
  #
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*.
3113
+ # To learn more about how to use this parameter, see [Testing your
3114
+ # permissions][1] in the *Key Management Service Developer Guide*.
3037
3115
  #
3038
3116
  #
3039
3117
  #
3040
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
3118
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
3041
3119
  # @return [Boolean]
3042
3120
  #
3043
3121
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyWithoutPlaintextRequest AWS API Documentation
@@ -3068,11 +3146,16 @@ module Aws::KMS
3068
3146
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN
3069
3147
  # @return [String]
3070
3148
  #
3149
+ # @!attribute [rw] key_material_id
3150
+ # The identifier of the key material used to encrypt the data key.
3151
+ # @return [String]
3152
+ #
3071
3153
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyWithoutPlaintextResponse AWS API Documentation
3072
3154
  #
3073
3155
  class GenerateDataKeyWithoutPlaintextResponse < Struct.new(
3074
3156
  :ciphertext_blob,
3075
- :key_id)
3157
+ :key_id,
3158
+ :key_material_id)
3076
3159
  SENSITIVE = []
3077
3160
  include Aws::Structure
3078
3161
  end
@@ -3117,19 +3200,19 @@ module Aws::KMS
3117
3200
  #
3118
3201
  #
3119
3202
  # [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
3203
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
3121
3204
  # @return [Array<String>]
3122
3205
  #
3123
3206
  # @!attribute [rw] dry_run
3124
3207
  # Checks if your request will succeed. `DryRun` is an optional
3125
3208
  # parameter.
3126
3209
  #
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*.
3210
+ # To learn more about how to use this parameter, see [Testing your
3211
+ # permissions][1] in the *Key Management Service Developer Guide*.
3129
3212
  #
3130
3213
  #
3131
3214
  #
3132
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
3215
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
3133
3216
  # @return [Boolean]
3134
3217
  #
3135
3218
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateMacRequest AWS API Documentation
@@ -3355,15 +3438,12 @@ module Aws::KMS
3355
3438
  # Identifies the date and time that an in progress on-demand rotation
3356
3439
  # was initiated.
3357
3440
  #
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
3441
+ # KMS uses a background process to perform rotations. As a result,
3442
+ # there might be a slight delay between initiating on-demand key
3443
+ # rotation and the rotation's completion. Once the on-demand rotation
3444
+ # is complete, KMS removes this field from the response. You can use
3445
+ # ListKeyRotations to view the details of the completed on-demand
3446
+ # rotation.
3367
3447
  # @return [Time]
3368
3448
  #
3369
3449
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GetKeyRotationStatusResponse AWS API Documentation
@@ -3403,9 +3483,8 @@ module Aws::KMS
3403
3483
  # @!attribute [rw] wrapping_algorithm
3404
3484
  # The algorithm you will use with the RSA public key (`PublicKey`) in
3405
3485
  # 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*.
3486
+ # information, see [Select a wrapping algorithm][1] in the *Key
3487
+ # Management Service Developer Guide*.
3409
3488
  #
3410
3489
  # For RSA\_AES wrapping algorithms, you encrypt your key material with
3411
3490
  # an AES key that you generate, then encrypt your AES key with the RSA
@@ -3437,6 +3516,10 @@ module Aws::KMS
3437
3516
  #
3438
3517
  # * **RSAES\_PKCS1\_V1\_5** (Deprecated) — As of October 10, 2023, KMS
3439
3518
  # does not support the RSAES\_PKCS1\_V1\_5 wrapping algorithm.
3519
+ #
3520
+ #
3521
+ #
3522
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-get-public-key-and-token.html#select-wrapping-algorithm
3440
3523
  # @return [String]
3441
3524
  #
3442
3525
  # @!attribute [rw] wrapping_key_spec
@@ -3532,7 +3615,7 @@ module Aws::KMS
3532
3615
  #
3533
3616
  #
3534
3617
  # [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
3618
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
3536
3619
  # @return [Array<String>]
3537
3620
  #
3538
3621
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GetPublicKeyRequest AWS API Documentation
@@ -3634,9 +3717,9 @@ module Aws::KMS
3634
3717
  #
3635
3718
  # KMS applies the grant constraints only to cryptographic operations
3636
3719
  # 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
3720
+ # operations with a symmetric KMS key. Grant constraints are not applied
3721
+ # to operations that do not support an encryption context, such as
3722
+ # cryptographic operations with asymmetric KMS keys and management
3640
3723
  # operations, such as DescribeKey or RetireGrant.
3641
3724
  #
3642
3725
  # In a cryptographic operation, the encryption context in the decryption
@@ -3651,15 +3734,14 @@ module Aws::KMS
3651
3734
  # differ only by case. To require a fully case-sensitive encryption
3652
3735
  # context, use the `kms:EncryptionContext:` and
3653
3736
  # `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>.
3737
+ # details, see [kms:EncryptionContext:context-key][3] in the <i> <i>Key
3738
+ # Management Service Developer Guide</i> </i>.
3656
3739
  #
3657
3740
  #
3658
3741
  #
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
3742
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
3743
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
3744
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-encryption-context
3663
3745
  #
3664
3746
  # @!attribute [rw] encryption_context_subset
3665
3747
  # A list of key-value pairs that must be included in the encryption
@@ -3670,7 +3752,7 @@ module Aws::KMS
3670
3752
  #
3671
3753
  #
3672
3754
  #
3673
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
3755
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
3674
3756
  # @return [Hash<String,String>]
3675
3757
  #
3676
3758
  # @!attribute [rw] encryption_context_equals
@@ -3681,7 +3763,7 @@ module Aws::KMS
3681
3763
  #
3682
3764
  #
3683
3765
  #
3684
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
3766
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
3685
3767
  # @return [Hash<String,String>]
3686
3768
  #
3687
3769
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GrantConstraints AWS API Documentation
@@ -3770,11 +3852,9 @@ module Aws::KMS
3770
3852
  #
3771
3853
  # The KMS key can be a symmetric encryption KMS key, HMAC KMS key,
3772
3854
  # 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.
3855
+ # including a [multi-Region key][1] of any supported type. You cannot
3856
+ # perform this operation on a KMS key in a custom key store, or on a
3857
+ # KMS key in a different Amazon Web Services account.
3778
3858
  #
3779
3859
  # Specify the key ID or key ARN of the KMS key.
3780
3860
  #
@@ -3787,6 +3867,10 @@ module Aws::KMS
3787
3867
  #
3788
3868
  # To get the key ID and key ARN for a KMS key, use ListKeys or
3789
3869
  # DescribeKey.
3870
+ #
3871
+ #
3872
+ #
3873
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
3790
3874
  # @return [String]
3791
3875
  #
3792
3876
  # @!attribute [rw] import_token
@@ -3838,7 +3922,45 @@ module Aws::KMS
3838
3922
  #
3839
3923
  #
3840
3924
  #
3841
- # [1]: https://docs.aws.amazon.com/en_us/kms/latest/developerguide/importing-keys.html#importing-keys-expiration
3925
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-import-key-material.html#importing-keys-expiration
3926
+ # @return [String]
3927
+ #
3928
+ # @!attribute [rw] import_type
3929
+ # Indicates whether the key material being imported is previously
3930
+ # associated with this KMS key or not. This parameter is optional and
3931
+ # only usable with symmetric encryption keys. The default is
3932
+ # `EXISTING_KEY_MATERIAL`. If no key material has ever been imported
3933
+ # into the KMS key, and this parameter is omitted, the parameter
3934
+ # defaults to `NEW_KEY_MATERIAL`.
3935
+ # @return [String]
3936
+ #
3937
+ # @!attribute [rw] key_material_description
3938
+ # Description for the key material being imported. This parameter is
3939
+ # optional and only usable with symmetric encryption keys. If you do
3940
+ # not specify a key material description, KMS retains the value you
3941
+ # specified when you last imported the same key material into this KMS
3942
+ # key.
3943
+ # @return [String]
3944
+ #
3945
+ # @!attribute [rw] key_material_id
3946
+ # Identifies the key material being imported. This parameter is
3947
+ # optional and only usable with symmetric encryption keys. You cannot
3948
+ # specify a key material ID with `ImportType` set to
3949
+ # `NEW_KEY_MATERIAL`. Whenever you import key material into a
3950
+ # symmetric encryption key, KMS assigns a unique identifier to the key
3951
+ # material based on the KMS key ID and the imported key material. When
3952
+ # you re-import key material with a specified key material ID, KMS:
3953
+ #
3954
+ # * Computes the identifier for the key material
3955
+ #
3956
+ # * Matches the computed identifier against the specified key material
3957
+ # ID
3958
+ #
3959
+ # * Verifies that the key material ID is already associated with the
3960
+ # KMS key
3961
+ #
3962
+ # To get the list of key material IDs associated with a KMS key, use
3963
+ # ListKeyRotations.
3842
3964
  # @return [String]
3843
3965
  #
3844
3966
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ImportKeyMaterialRequest AWS API Documentation
@@ -3848,14 +3970,35 @@ module Aws::KMS
3848
3970
  :import_token,
3849
3971
  :encrypted_key_material,
3850
3972
  :valid_to,
3851
- :expiration_model)
3973
+ :expiration_model,
3974
+ :import_type,
3975
+ :key_material_description,
3976
+ :key_material_id)
3852
3977
  SENSITIVE = []
3853
3978
  include Aws::Structure
3854
3979
  end
3855
3980
 
3981
+ # @!attribute [rw] key_id
3982
+ # The Amazon Resource Name ([key ARN][1]) of the KMS key into which
3983
+ # key material was imported.
3984
+ #
3985
+ #
3986
+ #
3987
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN
3988
+ # @return [String]
3989
+ #
3990
+ # @!attribute [rw] key_material_id
3991
+ # Identifies the imported key material.
3992
+ # @return [String]
3993
+ #
3856
3994
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ImportKeyMaterialResponse AWS API Documentation
3857
3995
  #
3858
- class ImportKeyMaterialResponse < Aws::EmptyStructure; end
3996
+ class ImportKeyMaterialResponse < Struct.new(
3997
+ :key_id,
3998
+ :key_material_id)
3999
+ SENSITIVE = []
4000
+ include Aws::Structure
4001
+ end
3859
4002
 
3860
4003
  # The request was rejected because the specified KMS key cannot decrypt
3861
4004
  # the data. The `KeyId` in a Decrypt request and the `SourceKeyId` in a
@@ -3874,8 +4017,10 @@ module Aws::KMS
3874
4017
  end
3875
4018
 
3876
4019
  # 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.
4020
+ # expired, invalid, or does not meet expectations. For example, it is
4021
+ # not the same key material that was previously imported or KMS expected
4022
+ # new key material but the key material being imported is already
4023
+ # associated with the KMS key.
3879
4024
  #
3880
4025
  # @!attribute [rw] message
3881
4026
  # @return [String]
@@ -4182,7 +4327,7 @@ module Aws::KMS
4182
4327
  #
4183
4328
  #
4184
4329
  #
4185
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
4330
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
4186
4331
  # @return [String]
4187
4332
  #
4188
4333
  # @!attribute [rw] key_state
@@ -4209,11 +4354,12 @@ module Aws::KMS
4209
4354
  # @return [Time]
4210
4355
  #
4211
4356
  # @!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.
4357
+ # The earliest time at which any imported key material permanently
4358
+ # associated with this KMS key expires. When a key material expires,
4359
+ # KMS deletes the key material and the KMS key becomes unusable. This
4360
+ # value is present only for KMS keys whose `Origin` is `EXTERNAL` and
4361
+ # the `ExpirationModel` is `KEY_MATERIAL_EXPIRES`, otherwise this
4362
+ # value is omitted.
4217
4363
  # @return [Time]
4218
4364
  #
4219
4365
  # @!attribute [rw] origin
@@ -4232,7 +4378,7 @@ module Aws::KMS
4232
4378
  #
4233
4379
  #
4234
4380
  #
4235
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
4381
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
4236
4382
  # @return [String]
4237
4383
  #
4238
4384
  # @!attribute [rw] cloud_hsm_cluster_id
@@ -4244,7 +4390,7 @@ module Aws::KMS
4244
4390
  #
4245
4391
  #
4246
4392
  #
4247
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
4393
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
4248
4394
  # @return [String]
4249
4395
  #
4250
4396
  # @!attribute [rw] expiration_model
@@ -4367,6 +4513,16 @@ module Aws::KMS
4367
4513
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html#concept-external-key
4368
4514
  # @return [Types::XksKeyConfigurationType]
4369
4515
  #
4516
+ # @!attribute [rw] current_key_material_id
4517
+ # Identifies the current key material. This value is present for
4518
+ # symmetric encryption keys with `AWS_KMS` origin and single-Region,
4519
+ # symmetric encryption keys with `EXTERNAL` origin. These KMS keys
4520
+ # support automatic or on-demand key rotation and can have multiple
4521
+ # key materials associated with them. KMS uses the current key
4522
+ # material for both encryption and decryption, and the non-current key
4523
+ # material for decryption operations only.
4524
+ # @return [String]
4525
+ #
4370
4526
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/KeyMetadata AWS API Documentation
4371
4527
  #
4372
4528
  class KeyMetadata < Struct.new(
@@ -4394,7 +4550,8 @@ module Aws::KMS
4394
4550
  :multi_region_configuration,
4395
4551
  :pending_deletion_window_in_days,
4396
4552
  :mac_algorithms,
4397
- :xks_key_configuration)
4553
+ :xks_key_configuration,
4554
+ :current_key_material_id)
4398
4555
  SENSITIVE = []
4399
4556
  include Aws::Structure
4400
4557
  end
@@ -4413,9 +4570,9 @@ module Aws::KMS
4413
4570
  include Aws::Structure
4414
4571
  end
4415
4572
 
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*.
4573
+ # The request was rejected because a length constraint or quota was
4574
+ # exceeded. For more information, see [Quotas][1] in the *Key Management
4575
+ # Service Developer Guide*.
4419
4576
  #
4420
4577
  #
4421
4578
  #
@@ -4673,6 +4830,18 @@ module Aws::KMS
4673
4830
  # DescribeKey.
4674
4831
  # @return [String]
4675
4832
  #
4833
+ # @!attribute [rw] include_key_material
4834
+ # Use this optional parameter to control which key materials
4835
+ # associated with this key are listed in the response. The default
4836
+ # value of this parameter is `ROTATIONS_ONLY`. If you omit this
4837
+ # parameter, KMS returns information on the key materials created by
4838
+ # automatic or on-demand key rotation. When you specify a value of
4839
+ # `ALL_KEY_MATERIAL`, KMS adds the first key material and any imported
4840
+ # key material pending rotation to the response. This parameter can
4841
+ # only be used with KMS keys that support automatic or on-demand key
4842
+ # rotation.
4843
+ # @return [String]
4844
+ #
4676
4845
  # @!attribute [rw] limit
4677
4846
  # Use this parameter to specify the maximum number of items to return.
4678
4847
  # When this value is present, KMS does not return more than the
@@ -4693,6 +4862,7 @@ module Aws::KMS
4693
4862
  #
4694
4863
  class ListKeyRotationsRequest < Struct.new(
4695
4864
  :key_id,
4865
+ :include_key_material,
4696
4866
  :limit,
4697
4867
  :marker)
4698
4868
  SENSITIVE = []
@@ -4700,7 +4870,10 @@ module Aws::KMS
4700
4870
  end
4701
4871
 
4702
4872
  # @!attribute [rw] rotations
4703
- # A list of completed key material rotations.
4873
+ # A list of completed key material rotations. When the optional input
4874
+ # parameter `IncludeKeyMaterial` is specified with a value of
4875
+ # `ALL_KEY_MATERIAL`, this list includes the first key material and
4876
+ # any imported key material pending rotation.
4704
4877
  # @return [Array<Types::RotationsListEntry>]
4705
4878
  #
4706
4879
  # @!attribute [rw] next_marker
@@ -5023,6 +5196,18 @@ module Aws::KMS
5023
5196
  # that I make are not always immediately visible][2] in the *Amazon
5024
5197
  # Web Services Identity and Access Management User Guide*.
5025
5198
  #
5199
+ # <note markdown="1"> If either of the required `Resource` or `Action` elements are
5200
+ # missing from a key policy statement, the policy statement has no
5201
+ # effect. When a key policy statement is missing one of these
5202
+ # elements, the KMS console correctly reports an error, but the
5203
+ # `PutKeyPolicy` API request succeeds, even though the policy
5204
+ # statement is ineffective.
5205
+ #
5206
+ # For more information on required key policy elements, see [Elements
5207
+ # in a key policy][3] in the *Key Management Service Developer Guide*.
5208
+ #
5209
+ # </note>
5210
+ #
5026
5211
  # A key policy document can include only the following characters:
5027
5212
  #
5028
5213
  # * Printable ASCII characters from the space character (`\u0020`)
@@ -5034,18 +5219,24 @@ module Aws::KMS
5034
5219
  # * The tab (`\u0009`), line feed (`\u000A`), and carriage return
5035
5220
  # (`\u000D`) special characters
5036
5221
  #
5037
- # For information about key policies, see [Key policies in KMS][3] in
5222
+ # <note markdown="1"> If the key policy exceeds the length constraint, KMS returns a
5223
+ # `LimitExceededException`.
5224
+ #
5225
+ # </note>
5226
+ #
5227
+ # For information about key policies, see [Key policies in KMS][4] in
5038
5228
  # the *Key Management Service Developer Guide*.For help writing and
5039
5229
  # formatting a JSON policy document, see the [IAM JSON Policy
5040
- # Reference][4] in the <i> <i>Identity and Access Management User
5230
+ # Reference][5] in the <i> <i>Identity and Access Management User
5041
5231
  # Guide</i> </i>.
5042
5232
  #
5043
5233
  #
5044
5234
  #
5045
5235
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
5046
5236
  # [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
5237
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-overview.html#key-policy-elements
5238
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
5239
+ # [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
5049
5240
  # @return [String]
5050
5241
  #
5051
5242
  # @!attribute [rw] bypass_policy_lockout_safety_check
@@ -5103,7 +5294,7 @@ module Aws::KMS
5103
5294
  #
5104
5295
  #
5105
5296
  #
5106
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
5297
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
5107
5298
  # @return [Hash<String,String>]
5108
5299
  #
5109
5300
  # @!attribute [rw] source_key_id
@@ -5193,7 +5384,7 @@ module Aws::KMS
5193
5384
  #
5194
5385
  #
5195
5386
  #
5196
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
5387
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
5197
5388
  # @return [Hash<String,String>]
5198
5389
  #
5199
5390
  # @!attribute [rw] source_encryption_algorithm
@@ -5230,19 +5421,19 @@ module Aws::KMS
5230
5421
  #
5231
5422
  #
5232
5423
  # [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
5424
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
5234
5425
  # @return [Array<String>]
5235
5426
  #
5236
5427
  # @!attribute [rw] dry_run
5237
5428
  # Checks if your request will succeed. `DryRun` is an optional
5238
5429
  # parameter.
5239
5430
  #
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*.
5431
+ # To learn more about how to use this parameter, see [Testing your
5432
+ # permissions][1] in the *Key Management Service Developer Guide*.
5242
5433
  #
5243
5434
  #
5244
5435
  #
5245
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
5436
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
5246
5437
  # @return [Boolean]
5247
5438
  #
5248
5439
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ReEncryptRequest AWS API Documentation
@@ -5290,6 +5481,18 @@ module Aws::KMS
5290
5481
  # The encryption algorithm that was used to reencrypt the data.
5291
5482
  # @return [String]
5292
5483
  #
5484
+ # @!attribute [rw] source_key_material_id
5485
+ # The identifier of the key material used to originally encrypt the
5486
+ # data. This field is present only when the original encryption used a
5487
+ # symmetric encryption KMS key.
5488
+ # @return [String]
5489
+ #
5490
+ # @!attribute [rw] destination_key_material_id
5491
+ # The identifier of the key material used to reencrypt the data. This
5492
+ # field is present only when data is reencrypted using a symmetric
5493
+ # encryption KMS key.
5494
+ # @return [String]
5495
+ #
5293
5496
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ReEncryptResponse AWS API Documentation
5294
5497
  #
5295
5498
  class ReEncryptResponse < Struct.new(
@@ -5297,7 +5500,9 @@ module Aws::KMS
5297
5500
  :source_key_id,
5298
5501
  :key_id,
5299
5502
  :source_encryption_algorithm,
5300
- :destination_encryption_algorithm)
5503
+ :destination_encryption_algorithm,
5504
+ :source_key_material_id,
5505
+ :destination_key_material_id)
5301
5506
  SENSITIVE = []
5302
5507
  include Aws::Structure
5303
5508
  end
@@ -5363,33 +5568,23 @@ module Aws::KMS
5363
5568
  # [KMS service endpoints][1] in the *Amazon Web Services General
5364
5569
  # Reference*.
5365
5570
  #
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
5571
  # The replica must be in a different Amazon Web Services Region than
5376
5572
  # its primary key and other replicas of that primary key, but in the
5377
5573
  # same Amazon Web Services partition. KMS must be available in the
5378
5574
  # replica Region. If the Region is not enabled by default, the Amazon
5379
5575
  # Web Services account must be enabled in the Region. For information
5380
5576
  # about Amazon Web Services partitions, see [Amazon Resource Names
5381
- # (ARNs)][3] in the *Amazon Web Services General Reference*. For
5577
+ # (ARNs)][2] in the *Amazon Web Services General Reference*. For
5382
5578
  # information about enabling and disabling Regions, see [Enabling a
5383
- # Region][4] and [Disabling a Region][5] in the *Amazon Web Services
5579
+ # Region][3] and [Disabling a Region][4] in the *Amazon Web Services
5384
5580
  # General Reference*.
5385
5581
  #
5386
5582
  #
5387
5583
  #
5388
5584
  # [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
5585
+ # [2]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
5586
+ # [3]: https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-enable
5587
+ # [4]: https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-disable
5393
5588
  # @return [String]
5394
5589
  #
5395
5590
  # @!attribute [rw] policy
@@ -5439,7 +5634,7 @@ module Aws::KMS
5439
5634
  #
5440
5635
  #
5441
5636
  #
5442
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default
5637
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html
5443
5638
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
5444
5639
  # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
5445
5640
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
@@ -5512,7 +5707,7 @@ module Aws::KMS
5512
5707
  # When you add tags to an Amazon Web Services resource, Amazon Web
5513
5708
  # Services generates a cost allocation report with usage and costs
5514
5709
  # aggregated by tags. Tags can also be used to control access to a KMS
5515
- # key. For details, see [Tagging Keys][3].
5710
+ # key. For details, see [Tags in KMS][3].
5516
5711
  #
5517
5712
  #
5518
5713
  #
@@ -5603,12 +5798,12 @@ module Aws::KMS
5603
5798
  # Checks if your request will succeed. `DryRun` is an optional
5604
5799
  # parameter.
5605
5800
  #
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*.
5801
+ # To learn more about how to use this parameter, see [Testing your
5802
+ # permissions][1] in the *Key Management Service Developer Guide*.
5608
5803
  #
5609
5804
  #
5610
5805
  #
5611
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
5806
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
5612
5807
  # @return [Boolean]
5613
5808
  #
5614
5809
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/RetireGrantRequest AWS API Documentation
@@ -5651,12 +5846,12 @@ module Aws::KMS
5651
5846
  # Checks if your request will succeed. `DryRun` is an optional
5652
5847
  # parameter.
5653
5848
  #
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*.
5849
+ # To learn more about how to use this parameter, see [Testing your
5850
+ # permissions][1] in the *Key Management Service Developer Guide*.
5656
5851
  #
5657
5852
  #
5658
5853
  #
5659
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
5854
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
5660
5855
  # @return [Boolean]
5661
5856
  #
5662
5857
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/RevokeGrantRequest AWS API Documentation
@@ -5672,10 +5867,10 @@ module Aws::KMS
5672
5867
  # @!attribute [rw] key_id
5673
5868
  # Identifies a symmetric encryption KMS key. You cannot perform
5674
5869
  # 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.
5870
+ # multi-Region KMS keys with [imported key material][3], or KMS keys
5871
+ # in a [custom key store][4]. To perform on-demand rotation of a set
5872
+ # of related [multi-Region keys][5], invoke the on-demand rotation on
5873
+ # the primary key.
5679
5874
  #
5680
5875
  # Specify the key ID or key ARN of the KMS key.
5681
5876
  #
@@ -5694,8 +5889,8 @@ module Aws::KMS
5694
5889
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
5695
5890
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
5696
5891
  # [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
5892
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
5893
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#multi-region-rotate
5699
5894
  # @return [String]
5700
5895
  #
5701
5896
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/RotateKeyOnDemandRequest AWS API Documentation
@@ -5719,31 +5914,88 @@ module Aws::KMS
5719
5914
  include Aws::Structure
5720
5915
  end
5721
5916
 
5722
- # Contains information about completed key material rotations.
5917
+ # Each entry contains information about one of the key materials
5918
+ # associated with a KMS key.
5723
5919
  #
5724
5920
  # @!attribute [rw] key_id
5725
5921
  # Unique identifier of the key.
5726
5922
  # @return [String]
5727
5923
  #
5924
+ # @!attribute [rw] key_material_id
5925
+ # Unique identifier of the key material.
5926
+ # @return [String]
5927
+ #
5928
+ # @!attribute [rw] key_material_description
5929
+ # User-specified description of the key material. This field is only
5930
+ # present for symmetric encryption KMS keys with `EXTERNAL` origin.
5931
+ # @return [String]
5932
+ #
5933
+ # @!attribute [rw] import_state
5934
+ # Indicates if the key material is currently imported into KMS. It has
5935
+ # two possible values: `IMPORTED` or `PENDING_IMPORT`. This field is
5936
+ # only present for symmetric encryption KMS keys with `EXTERNAL`
5937
+ # origin.
5938
+ # @return [String]
5939
+ #
5940
+ # @!attribute [rw] key_material_state
5941
+ # There are three possible values for this field: `CURRENT`,
5942
+ # `NON_CURRENT` and `PENDING_ROTATION`. KMS uses `CURRENT` key
5943
+ # material for both encryption and decryption and `NON_CURRENT` key
5944
+ # material only for decryption. `PENDING_ROTATION` identifies key
5945
+ # material that has been imported for on-demand key rotation but the
5946
+ # rotation hasn't completed. Key material in `PENDING_ROTATION` is
5947
+ # not permanently associated with the KMS key. You can delete this key
5948
+ # material and import different key material in its place. The
5949
+ # `PENDING_ROTATION` value is only used in symmetric encryption keys
5950
+ # with imported key material. The other values, `CURRENT` and
5951
+ # `NON_CURRENT`, are used for all KMS keys that support automatic or
5952
+ # on-demand key rotation.
5953
+ # @return [String]
5954
+ #
5955
+ # @!attribute [rw] expiration_model
5956
+ # Indicates if the key material is configured to automatically expire.
5957
+ # There are two possible values for this field: `KEY_MATERIAL_EXPIRES`
5958
+ # and `KEY_MATERIAL_DOES_NOT_EXPIRE`. For any key material that
5959
+ # expires, the expiration date and time is indicated in `ValidTo`.
5960
+ # This field is only present for symmetric encryption KMS keys with
5961
+ # `EXTERNAL` origin.
5962
+ # @return [String]
5963
+ #
5964
+ # @!attribute [rw] valid_to
5965
+ # Date and time at which the key material expires. This field is only
5966
+ # present for symmetric encryption KMS keys with `EXTERNAL` origin in
5967
+ # rotation list entries with an `ExpirationModel` value of
5968
+ # `KEY_MATERIAL_EXPIRES`.
5969
+ # @return [Time]
5970
+ #
5728
5971
  # @!attribute [rw] rotation_date
5729
5972
  # Date and time that the key material rotation completed. Formatted as
5730
- # Unix time.
5973
+ # Unix time. This field is not present for the first key material or
5974
+ # an imported key material in `PENDING_ROTATION` state.
5731
5975
  # @return [Time]
5732
5976
  #
5733
5977
  # @!attribute [rw] rotation_type
5734
5978
  # Identifies whether the key material rotation was a scheduled
5735
- # [automatic rotation][1] or an [on-demand rotation][2].
5979
+ # [automatic rotation][1] or an [on-demand rotation][2]. This field is
5980
+ # not present for the first key material or an imported key material
5981
+ # in `PENDING_ROTATION` state.
5736
5982
  #
5737
5983
  #
5738
5984
  #
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
5985
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotating-keys-enable-disable.html
5986
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/rotating-keys-on-demand.html
5741
5987
  # @return [String]
5742
5988
  #
5743
5989
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/RotationsListEntry AWS API Documentation
5744
5990
  #
5745
5991
  class RotationsListEntry < Struct.new(
5746
5992
  :key_id,
5993
+ :key_material_id,
5994
+ :key_material_description,
5995
+ :import_state,
5996
+ :key_material_state,
5997
+ :expiration_model,
5998
+ :valid_to,
5747
5999
  :rotation_date,
5748
6000
  :rotation_type)
5749
6001
  SENSITIVE = []
@@ -5918,7 +6170,7 @@ module Aws::KMS
5918
6170
  #
5919
6171
  #
5920
6172
  #
5921
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/asymmetric-key-specs.html#key-spec-sm-offline-verification
6173
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/offline-operations.html#key-spec-sm-offline-verification
5922
6174
  # @return [String]
5923
6175
  #
5924
6176
  # @!attribute [rw] grant_tokens
@@ -5932,7 +6184,7 @@ module Aws::KMS
5932
6184
  #
5933
6185
  #
5934
6186
  # [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
6187
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
5936
6188
  # @return [Array<String>]
5937
6189
  #
5938
6190
  # @!attribute [rw] signing_algorithm
@@ -5948,12 +6200,12 @@ module Aws::KMS
5948
6200
  # Checks if your request will succeed. `DryRun` is an optional
5949
6201
  # parameter.
5950
6202
  #
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*.
6203
+ # To learn more about how to use this parameter, see [Testing your
6204
+ # permissions][1] in the *Key Management Service Developer Guide*.
5953
6205
  #
5954
6206
  #
5955
6207
  #
5956
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
6208
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
5957
6209
  # @return [Boolean]
5958
6210
  #
5959
6211
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/SignRequest AWS API Documentation
@@ -6458,19 +6710,19 @@ module Aws::KMS
6458
6710
  #
6459
6711
  #
6460
6712
  # [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
6713
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
6462
6714
  # @return [Array<String>]
6463
6715
  #
6464
6716
  # @!attribute [rw] dry_run
6465
6717
  # Checks if your request will succeed. `DryRun` is an optional
6466
6718
  # parameter.
6467
6719
  #
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*.
6720
+ # To learn more about how to use this parameter, see [Testing your
6721
+ # permissions][1] in the *Key Management Service Developer Guide*.
6470
6722
  #
6471
6723
  #
6472
6724
  #
6473
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
6725
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
6474
6726
  # @return [Boolean]
6475
6727
  #
6476
6728
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/VerifyMacRequest AWS API Documentation
@@ -6592,7 +6844,7 @@ module Aws::KMS
6592
6844
  #
6593
6845
  #
6594
6846
  #
6595
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/asymmetric-key-specs.html#key-spec-sm-offline-verification
6847
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/offline-operations.html#key-spec-sm-offline-verification
6596
6848
  # @return [String]
6597
6849
  #
6598
6850
  # @!attribute [rw] signature
@@ -6615,19 +6867,19 @@ module Aws::KMS
6615
6867
  #
6616
6868
  #
6617
6869
  # [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
6870
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
6619
6871
  # @return [Array<String>]
6620
6872
  #
6621
6873
  # @!attribute [rw] dry_run
6622
6874
  # Checks if your request will succeed. `DryRun` is an optional
6623
6875
  # parameter.
6624
6876
  #
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*.
6877
+ # To learn more about how to use this parameter, see [Testing your
6878
+ # permissions][1] in the *Key Management Service Developer Guide*.
6627
6879
  #
6628
6880
  #
6629
6881
  #
6630
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
6882
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
6631
6883
  # @return [Boolean]
6632
6884
  #
6633
6885
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/VerifyRequest AWS API Documentation