aws-sdk-kms 1.88.0 → 1.105.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
@@ -847,7 +863,10 @@ module Aws::KMS
847
863
  # * For asymmetric KMS keys with NIST-recommended elliptic curve key
848
864
  # pairs, specify `SIGN_VERIFY` or `KEY_AGREEMENT`.
849
865
  #
850
- # * For asymmetric KMS keys with `ECC_SECG_P256K1` key pairs specify
866
+ # * For asymmetric KMS keys with `ECC_SECG_P256K1` key pairs, specify
867
+ # `SIGN_VERIFY`.
868
+ #
869
+ # * For asymmetric KMS keys with ML-DSA key pairs, specify
851
870
  # `SIGN_VERIFY`.
852
871
  #
853
872
  # * For asymmetric KMS keys with SM2 key pairs (China Regions only),
@@ -855,7 +874,7 @@ module Aws::KMS
855
874
  #
856
875
  #
857
876
  #
858
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
877
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
859
878
  # @return [String]
860
879
  #
861
880
  # @!attribute [rw] customer_master_key_spec
@@ -872,8 +891,8 @@ module Aws::KMS
872
891
  # `SYMMETRIC_DEFAULT`, creates a KMS key with a 256-bit AES-GCM key
873
892
  # that is used for encryption and decryption, except in China Regions,
874
893
  # 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
894
+ # For a detailed description of all supported key specs, see [Key spec
895
+ # reference][1] in the <i> <i>Key Management Service Developer
877
896
  # Guide</i> </i>.
878
897
  #
879
898
  # The `KeySpec` determines whether the KMS key contains a symmetric
@@ -882,10 +901,11 @@ module Aws::KMS
882
901
  # KMS key is created. To further restrict the algorithms that can be
883
902
  # used with the KMS key, use a condition key in its key policy or IAM
884
903
  # 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>.
904
+ # [kms:MacAlgorithm][3], [kms:KeyAgreementAlgorithm][4], or
905
+ # [kms:SigningAlgorithm][5] in the <i> <i>Key Management Service
906
+ # Developer Guide</i> </i>.
887
907
  #
888
- # [Amazon Web Services services that are integrated with KMS][5] use
908
+ # [Amazon Web Services services that are integrated with KMS][6] use
889
909
  # symmetric encryption KMS keys to protect your data. These services
890
910
  # do not support asymmetric KMS keys or HMAC KMS keys.
891
911
  #
@@ -896,7 +916,6 @@ module Aws::KMS
896
916
  # * `SYMMETRIC_DEFAULT`
897
917
  #
898
918
  # ^
899
- #
900
919
  # * HMAC keys (symmetric)
901
920
  #
902
921
  # * `HMAC_224`
@@ -906,7 +925,6 @@ module Aws::KMS
906
925
  # * `HMAC_384`
907
926
  #
908
927
  # * `HMAC_512`
909
- #
910
928
  # * Asymmetric RSA key pairs (encryption and decryption -or- signing
911
929
  # and verification)
912
930
  #
@@ -915,7 +933,6 @@ module Aws::KMS
915
933
  # * `RSA_3072`
916
934
  #
917
935
  # * `RSA_4096`
918
- #
919
936
  # * Asymmetric NIST-recommended elliptic curve key pairs (signing and
920
937
  # verification -or- deriving shared secrets)
921
938
  #
@@ -924,7 +941,6 @@ module Aws::KMS
924
941
  # * `ECC_NIST_P384` (secp384r1)
925
942
  #
926
943
  # * `ECC_NIST_P521` (secp521r1)
927
- #
928
944
  # * Other asymmetric elliptic curve key pairs (signing and
929
945
  # verification)
930
946
  #
@@ -932,7 +948,13 @@ module Aws::KMS
932
948
  # cryptocurrencies.
933
949
  #
934
950
  # ^
951
+ # * Asymmetric ML-DSA key pairs (signing and verification)
935
952
  #
953
+ # * `ML_DSA_44`
954
+ #
955
+ # * `ML_DSA_65`
956
+ #
957
+ # * `ML_DSA_87`
936
958
  # * SM2 key pairs (encryption and decryption -or- signing and
937
959
  # verification -or- deriving shared secrets)
938
960
  #
@@ -942,11 +964,12 @@ module Aws::KMS
942
964
  #
943
965
  #
944
966
  #
945
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-types.html#symm-asymm-choose
946
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-encryption-algorithm
947
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-mac-algorithm
948
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-signing-algorithm
949
- # [5]: http://aws.amazon.com/kms/features/#AWS_Service_Integration
967
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-choose-key-spec.html
968
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-encryption-algorithm
969
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-mac-algorithm
970
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-key-agreement-algorithm
971
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-signing-algorithm
972
+ # [6]: http://aws.amazon.com/kms/features/#AWS_Service_Integration
950
973
  # @return [String]
951
974
  #
952
975
  # @!attribute [rw] origin
@@ -999,7 +1022,7 @@ module Aws::KMS
999
1022
  #
1000
1023
  #
1001
1024
  #
1002
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
1025
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
1003
1026
  # @return [String]
1004
1027
  #
1005
1028
  # @!attribute [rw] bypass_policy_lockout_safety_check
@@ -1050,7 +1073,7 @@ module Aws::KMS
1050
1073
  # When you add tags to an Amazon Web Services resource, Amazon Web
1051
1074
  # Services generates a cost allocation report with usage and costs
1052
1075
  # aggregated by tags. Tags can also be used to control access to a KMS
1053
- # key. For details, see [Tagging Keys][3].
1076
+ # key. For details, see [Tags in KMS][3].
1054
1077
  #
1055
1078
  #
1056
1079
  #
@@ -1123,7 +1146,7 @@ module Aws::KMS
1123
1146
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html#concept-external-key
1124
1147
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html
1125
1148
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html#concept-xks-proxy
1126
- # [4]: https://docs.aws.amazon.com/create-xks-keys.html#xks-key-requirements
1149
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/create-xks-keys.html#xks-key-requirements
1127
1150
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html#concept-double-encryption
1128
1151
  # @return [String]
1129
1152
  #
@@ -1452,7 +1475,6 @@ module Aws::KMS
1452
1475
  #
1453
1476
  # * The [TLS certificate][6] specifies the private DNS hostname at
1454
1477
  # which the endpoint is reachable.
1455
- #
1456
1478
  # * `XKS_VPC_ENDPOINT_SERVICE_NOT_FOUND` — KMS can't find the VPC
1457
1479
  # endpoint service that it uses to communicate with the external key
1458
1480
  # store proxy. Verify that the `XksProxyVpcEndpointServiceName` is
@@ -1532,8 +1554,8 @@ module Aws::KMS
1532
1554
  #
1533
1555
  #
1534
1556
  #
1535
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
1536
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
1557
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
1558
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
1537
1559
  # @return [Hash<String,String>]
1538
1560
  #
1539
1561
  # @!attribute [rw] grant_tokens
@@ -1547,7 +1569,7 @@ module Aws::KMS
1547
1569
  #
1548
1570
  #
1549
1571
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
1550
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
1572
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
1551
1573
  # @return [Array<String>]
1552
1574
  #
1553
1575
  # @!attribute [rw] key_id
@@ -1628,12 +1650,12 @@ module Aws::KMS
1628
1650
  # Checks if your request will succeed. `DryRun` is an optional
1629
1651
  # parameter.
1630
1652
  #
1631
- # To learn more about how to use this parameter, see [Testing your KMS
1632
- # API calls][1] in the *Key Management Service Developer Guide*.
1653
+ # To learn more about how to use this parameter, see [Testing your
1654
+ # permissions][1] in the *Key Management Service Developer Guide*.
1633
1655
  #
1634
1656
  #
1635
1657
  #
1636
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
1658
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
1637
1659
  # @return [Boolean]
1638
1660
  #
1639
1661
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DecryptRequest AWS API Documentation
@@ -1688,13 +1710,21 @@ module Aws::KMS
1688
1710
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
1689
1711
  # @return [String]
1690
1712
  #
1713
+ # @!attribute [rw] key_material_id
1714
+ # The identifier of the key material used to decrypt the ciphertext.
1715
+ # This field is present only when the operation uses a symmetric
1716
+ # encryption KMS key. This field is omitted if the request includes
1717
+ # the `Recipient` parameter.
1718
+ # @return [String]
1719
+ #
1691
1720
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DecryptResponse AWS API Documentation
1692
1721
  #
1693
1722
  class DecryptResponse < Struct.new(
1694
1723
  :key_id,
1695
1724
  :plaintext,
1696
1725
  :encryption_algorithm,
1697
- :ciphertext_for_recipient)
1726
+ :ciphertext_for_recipient,
1727
+ :key_material_id)
1698
1728
  SENSITIVE = [:plaintext]
1699
1729
  include Aws::Structure
1700
1730
  end
@@ -1746,10 +1776,43 @@ module Aws::KMS
1746
1776
  # DescribeKey.
1747
1777
  # @return [String]
1748
1778
  #
1779
+ # @!attribute [rw] key_material_id
1780
+ # Identifies the imported key material you are deleting.
1781
+ #
1782
+ # If no KeyMaterialId is specified, KMS deletes the current key
1783
+ # material.
1784
+ #
1785
+ # To get the list of key material IDs associated with a KMS key, use
1786
+ # ListKeyRotations.
1787
+ # @return [String]
1788
+ #
1749
1789
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DeleteImportedKeyMaterialRequest AWS API Documentation
1750
1790
  #
1751
1791
  class DeleteImportedKeyMaterialRequest < Struct.new(
1752
- :key_id)
1792
+ :key_id,
1793
+ :key_material_id)
1794
+ SENSITIVE = []
1795
+ include Aws::Structure
1796
+ end
1797
+
1798
+ # @!attribute [rw] key_id
1799
+ # The Amazon Resource Name ([key ARN][1]) of the KMS key from which
1800
+ # the key material was deleted.
1801
+ #
1802
+ #
1803
+ #
1804
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN
1805
+ # @return [String]
1806
+ #
1807
+ # @!attribute [rw] key_material_id
1808
+ # Identifies the deleted key material.
1809
+ # @return [String]
1810
+ #
1811
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DeleteImportedKeyMaterialResponse AWS API Documentation
1812
+ #
1813
+ class DeleteImportedKeyMaterialResponse < Struct.new(
1814
+ :key_id,
1815
+ :key_material_id)
1753
1816
  SENSITIVE = []
1754
1817
  include Aws::Structure
1755
1818
  end
@@ -1837,19 +1900,19 @@ module Aws::KMS
1837
1900
  #
1838
1901
  #
1839
1902
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
1840
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
1903
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
1841
1904
  # @return [Array<String>]
1842
1905
  #
1843
1906
  # @!attribute [rw] dry_run
1844
1907
  # Checks if your request will succeed. `DryRun` is an optional
1845
1908
  # parameter.
1846
1909
  #
1847
- # To learn more about how to use this parameter, see [Testing your KMS
1848
- # API calls][1] in the *Key Management Service Developer Guide*.
1910
+ # To learn more about how to use this parameter, see [Testing your
1911
+ # permissions][1] in the *Key Management Service Developer Guide*.
1849
1912
  #
1850
1913
  #
1851
1914
  #
1852
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
1915
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
1853
1916
  # @return [Boolean]
1854
1917
  #
1855
1918
  # @!attribute [rw] recipient
@@ -2069,7 +2132,7 @@ module Aws::KMS
2069
2132
  #
2070
2133
  #
2071
2134
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
2072
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
2135
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
2073
2136
  # @return [Array<String>]
2074
2137
  #
2075
2138
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DescribeKeyRequest AWS API Documentation
@@ -2140,7 +2203,7 @@ module Aws::KMS
2140
2203
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html#asymmetric-cmks
2141
2204
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
2142
2205
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
2143
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
2206
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
2144
2207
  # @return [String]
2145
2208
  #
2146
2209
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DisableKeyRotationRequest AWS API Documentation
@@ -2243,8 +2306,8 @@ module Aws::KMS
2243
2306
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
2244
2307
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
2245
2308
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
2246
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
2247
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate
2309
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
2310
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#multi-region-rotate
2248
2311
  # @return [String]
2249
2312
  #
2250
2313
  # @!attribute [rw] rotation_period_in_days
@@ -2330,8 +2393,8 @@ module Aws::KMS
2330
2393
  #
2331
2394
  #
2332
2395
  #
2333
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
2334
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
2396
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
2397
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
2335
2398
  # @return [Hash<String,String>]
2336
2399
  #
2337
2400
  # @!attribute [rw] grant_tokens
@@ -2345,7 +2408,7 @@ module Aws::KMS
2345
2408
  #
2346
2409
  #
2347
2410
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
2348
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
2411
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
2349
2412
  # @return [Array<String>]
2350
2413
  #
2351
2414
  # @!attribute [rw] encryption_algorithm
@@ -2365,12 +2428,12 @@ module Aws::KMS
2365
2428
  # Checks if your request will succeed. `DryRun` is an optional
2366
2429
  # parameter.
2367
2430
  #
2368
- # To learn more about how to use this parameter, see [Testing your KMS
2369
- # API calls][1] in the *Key Management Service Developer Guide*.
2431
+ # To learn more about how to use this parameter, see [Testing your
2432
+ # permissions][1] in the *Key Management Service Developer Guide*.
2370
2433
  #
2371
2434
  #
2372
2435
  #
2373
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
2436
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
2374
2437
  # @return [Boolean]
2375
2438
  #
2376
2439
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/EncryptRequest AWS API Documentation
@@ -2453,7 +2516,7 @@ module Aws::KMS
2453
2516
  #
2454
2517
  #
2455
2518
  #
2456
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
2519
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
2457
2520
  # @return [Hash<String,String>]
2458
2521
  #
2459
2522
  # @!attribute [rw] key_id
@@ -2487,9 +2550,11 @@ module Aws::KMS
2487
2550
  #
2488
2551
  # The KMS rule that restricts the use of asymmetric RSA and SM2 KMS
2489
2552
  # keys to encrypt and decrypt or to sign and verify (but not both),
2490
- # and the rule that permits you to use ECC KMS keys only to sign and
2491
- # verify, are not effective on data key pairs, which are used outside
2492
- # of KMS. The SM2 key spec is only available in China Regions.
2553
+ # the rule that permits you to use ECC KMS keys only to sign and
2554
+ # verify, and the rule that permits you to use ML-DSA key pairs to
2555
+ # sign and verify only are not effective on data key pairs, which are
2556
+ # used outside of KMS. The SM2 key spec is only available in China
2557
+ # Regions.
2493
2558
  # @return [String]
2494
2559
  #
2495
2560
  # @!attribute [rw] grant_tokens
@@ -2503,7 +2568,7 @@ module Aws::KMS
2503
2568
  #
2504
2569
  #
2505
2570
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
2506
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
2571
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
2507
2572
  # @return [Array<String>]
2508
2573
  #
2509
2574
  # @!attribute [rw] recipient
@@ -2544,12 +2609,12 @@ module Aws::KMS
2544
2609
  # Checks if your request will succeed. `DryRun` is an optional
2545
2610
  # parameter.
2546
2611
  #
2547
- # To learn more about how to use this parameter, see [Testing your KMS
2548
- # API calls][1] in the *Key Management Service Developer Guide*.
2612
+ # To learn more about how to use this parameter, see [Testing your
2613
+ # permissions][1] in the *Key Management Service Developer Guide*.
2549
2614
  #
2550
2615
  #
2551
2616
  #
2552
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
2617
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
2553
2618
  # @return [Boolean]
2554
2619
  #
2555
2620
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPairRequest AWS API Documentation
@@ -2616,6 +2681,10 @@ module Aws::KMS
2616
2681
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
2617
2682
  # @return [String]
2618
2683
  #
2684
+ # @!attribute [rw] key_material_id
2685
+ # The identifier of the key material used to encrypt the private key.
2686
+ # @return [String]
2687
+ #
2619
2688
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPairResponse AWS API Documentation
2620
2689
  #
2621
2690
  class GenerateDataKeyPairResponse < Struct.new(
@@ -2624,7 +2693,8 @@ module Aws::KMS
2624
2693
  :public_key,
2625
2694
  :key_id,
2626
2695
  :key_pair_spec,
2627
- :ciphertext_for_recipient)
2696
+ :ciphertext_for_recipient,
2697
+ :key_material_id)
2628
2698
  SENSITIVE = [:private_key_plaintext]
2629
2699
  include Aws::Structure
2630
2700
  end
@@ -2651,7 +2721,7 @@ module Aws::KMS
2651
2721
  #
2652
2722
  #
2653
2723
  #
2654
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
2724
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
2655
2725
  # @return [Hash<String,String>]
2656
2726
  #
2657
2727
  # @!attribute [rw] key_id
@@ -2685,9 +2755,11 @@ module Aws::KMS
2685
2755
  #
2686
2756
  # The KMS rule that restricts the use of asymmetric RSA and SM2 KMS
2687
2757
  # keys to encrypt and decrypt or to sign and verify (but not both),
2688
- # and the rule that permits you to use ECC KMS keys only to sign and
2689
- # verify, are not effective on data key pairs, which are used outside
2690
- # of KMS. The SM2 key spec is only available in China Regions.
2758
+ # the rule that permits you to use ECC KMS keys only to sign and
2759
+ # verify, and the rule that permits you to use ML-DSA key pairs to
2760
+ # sign and verify only are not effective on data key pairs, which are
2761
+ # used outside of KMS. The SM2 key spec is only available in China
2762
+ # Regions.
2691
2763
  # @return [String]
2692
2764
  #
2693
2765
  # @!attribute [rw] grant_tokens
@@ -2701,19 +2773,19 @@ module Aws::KMS
2701
2773
  #
2702
2774
  #
2703
2775
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
2704
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
2776
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
2705
2777
  # @return [Array<String>]
2706
2778
  #
2707
2779
  # @!attribute [rw] dry_run
2708
2780
  # Checks if your request will succeed. `DryRun` is an optional
2709
2781
  # parameter.
2710
2782
  #
2711
- # To learn more about how to use this parameter, see [Testing your KMS
2712
- # API calls][1] in the *Key Management Service Developer Guide*.
2783
+ # To learn more about how to use this parameter, see [Testing your
2784
+ # permissions][1] in the *Key Management Service Developer Guide*.
2713
2785
  #
2714
2786
  #
2715
2787
  #
2716
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
2788
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
2717
2789
  # @return [Boolean]
2718
2790
  #
2719
2791
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPairWithoutPlaintextRequest AWS API Documentation
@@ -2753,13 +2825,18 @@ module Aws::KMS
2753
2825
  # The type of data key pair that was generated.
2754
2826
  # @return [String]
2755
2827
  #
2828
+ # @!attribute [rw] key_material_id
2829
+ # The identifier of the key material used to encrypt the private key.
2830
+ # @return [String]
2831
+ #
2756
2832
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPairWithoutPlaintextResponse AWS API Documentation
2757
2833
  #
2758
2834
  class GenerateDataKeyPairWithoutPlaintextResponse < Struct.new(
2759
2835
  :private_key_ciphertext_blob,
2760
2836
  :public_key,
2761
2837
  :key_id,
2762
- :key_pair_spec)
2838
+ :key_pair_spec,
2839
+ :key_material_id)
2763
2840
  SENSITIVE = []
2764
2841
  include Aws::Structure
2765
2842
  end
@@ -2812,7 +2889,7 @@ module Aws::KMS
2812
2889
  #
2813
2890
  #
2814
2891
  #
2815
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
2892
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
2816
2893
  # @return [Hash<String,String>]
2817
2894
  #
2818
2895
  # @!attribute [rw] number_of_bytes
@@ -2845,7 +2922,7 @@ module Aws::KMS
2845
2922
  #
2846
2923
  #
2847
2924
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
2848
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
2925
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
2849
2926
  # @return [Array<String>]
2850
2927
  #
2851
2928
  # @!attribute [rw] recipient
@@ -2882,12 +2959,12 @@ module Aws::KMS
2882
2959
  # Checks if your request will succeed. `DryRun` is an optional
2883
2960
  # parameter.
2884
2961
  #
2885
- # To learn more about how to use this parameter, see [Testing your KMS
2886
- # API calls][1] in the *Key Management Service Developer Guide*.
2962
+ # To learn more about how to use this parameter, see [Testing your
2963
+ # permissions][1] in the *Key Management Service Developer Guide*.
2887
2964
  #
2888
2965
  #
2889
2966
  #
2890
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
2967
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
2891
2968
  # @return [Boolean]
2892
2969
  #
2893
2970
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyRequest AWS API Documentation
@@ -2946,13 +3023,20 @@ module Aws::KMS
2946
3023
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
2947
3024
  # @return [String]
2948
3025
  #
3026
+ # @!attribute [rw] key_material_id
3027
+ # The identifier of the key material used to encrypt the data key.
3028
+ # This field is omitted if the request includes the `Recipient`
3029
+ # parameter.
3030
+ # @return [String]
3031
+ #
2949
3032
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyResponse AWS API Documentation
2950
3033
  #
2951
3034
  class GenerateDataKeyResponse < Struct.new(
2952
3035
  :ciphertext_blob,
2953
3036
  :plaintext,
2954
3037
  :key_id,
2955
- :ciphertext_for_recipient)
3038
+ :ciphertext_for_recipient,
3039
+ :key_material_id)
2956
3040
  SENSITIVE = [:plaintext]
2957
3041
  include Aws::Structure
2958
3042
  end
@@ -3005,7 +3089,7 @@ module Aws::KMS
3005
3089
  #
3006
3090
  #
3007
3091
  #
3008
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
3092
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
3009
3093
  # @return [Hash<String,String>]
3010
3094
  #
3011
3095
  # @!attribute [rw] key_spec
@@ -3031,19 +3115,19 @@ module Aws::KMS
3031
3115
  #
3032
3116
  #
3033
3117
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
3034
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
3118
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
3035
3119
  # @return [Array<String>]
3036
3120
  #
3037
3121
  # @!attribute [rw] dry_run
3038
3122
  # Checks if your request will succeed. `DryRun` is an optional
3039
3123
  # parameter.
3040
3124
  #
3041
- # To learn more about how to use this parameter, see [Testing your KMS
3042
- # API calls][1] in the *Key Management Service Developer Guide*.
3125
+ # To learn more about how to use this parameter, see [Testing your
3126
+ # permissions][1] in the *Key Management Service Developer Guide*.
3043
3127
  #
3044
3128
  #
3045
3129
  #
3046
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
3130
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
3047
3131
  # @return [Boolean]
3048
3132
  #
3049
3133
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyWithoutPlaintextRequest AWS API Documentation
@@ -3074,11 +3158,16 @@ module Aws::KMS
3074
3158
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN
3075
3159
  # @return [String]
3076
3160
  #
3161
+ # @!attribute [rw] key_material_id
3162
+ # The identifier of the key material used to encrypt the data key.
3163
+ # @return [String]
3164
+ #
3077
3165
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyWithoutPlaintextResponse AWS API Documentation
3078
3166
  #
3079
3167
  class GenerateDataKeyWithoutPlaintextResponse < Struct.new(
3080
3168
  :ciphertext_blob,
3081
- :key_id)
3169
+ :key_id,
3170
+ :key_material_id)
3082
3171
  SENSITIVE = []
3083
3172
  include Aws::Structure
3084
3173
  end
@@ -3123,19 +3212,19 @@ module Aws::KMS
3123
3212
  #
3124
3213
  #
3125
3214
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
3126
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
3215
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
3127
3216
  # @return [Array<String>]
3128
3217
  #
3129
3218
  # @!attribute [rw] dry_run
3130
3219
  # Checks if your request will succeed. `DryRun` is an optional
3131
3220
  # parameter.
3132
3221
  #
3133
- # To learn more about how to use this parameter, see [Testing your KMS
3134
- # API calls][1] in the *Key Management Service Developer Guide*.
3222
+ # To learn more about how to use this parameter, see [Testing your
3223
+ # permissions][1] in the *Key Management Service Developer Guide*.
3135
3224
  #
3136
3225
  #
3137
3226
  #
3138
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
3227
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
3139
3228
  # @return [Boolean]
3140
3229
  #
3141
3230
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateMacRequest AWS API Documentation
@@ -3361,15 +3450,12 @@ module Aws::KMS
3361
3450
  # Identifies the date and time that an in progress on-demand rotation
3362
3451
  # was initiated.
3363
3452
  #
3364
- # The KMS API follows an [eventual consistency][1] model due to the
3365
- # distributed nature of the system. As a result, there might be a
3366
- # slight delay between initiating on-demand key rotation and the
3367
- # rotation's completion. Once the on-demand rotation is complete, use
3368
- # ListKeyRotations to view the details of the on-demand rotation.
3369
- #
3370
- #
3371
- #
3372
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
3453
+ # KMS uses a background process to perform rotations. As a result,
3454
+ # there might be a slight delay between initiating on-demand key
3455
+ # rotation and the rotation's completion. Once the on-demand rotation
3456
+ # is complete, KMS removes this field from the response. You can use
3457
+ # ListKeyRotations to view the details of the completed on-demand
3458
+ # rotation.
3373
3459
  # @return [Time]
3374
3460
  #
3375
3461
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GetKeyRotationStatusResponse AWS API Documentation
@@ -3409,9 +3495,8 @@ module Aws::KMS
3409
3495
  # @!attribute [rw] wrapping_algorithm
3410
3496
  # The algorithm you will use with the RSA public key (`PublicKey`) in
3411
3497
  # the response to protect your key material during import. For more
3412
- # information, see [Select a wrapping
3413
- # algorithm](kms/latest/developerguide/importing-keys-get-public-key-and-token.html#select-wrapping-algorithm)
3414
- # in the *Key Management Service Developer Guide*.
3498
+ # information, see [Select a wrapping algorithm][1] in the *Key
3499
+ # Management Service Developer Guide*.
3415
3500
  #
3416
3501
  # For RSA\_AES wrapping algorithms, you encrypt your key material with
3417
3502
  # an AES key that you generate, then encrypt your AES key with the RSA
@@ -3443,6 +3528,10 @@ module Aws::KMS
3443
3528
  #
3444
3529
  # * **RSAES\_PKCS1\_V1\_5** (Deprecated) — As of October 10, 2023, KMS
3445
3530
  # does not support the RSAES\_PKCS1\_V1\_5 wrapping algorithm.
3531
+ #
3532
+ #
3533
+ #
3534
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-get-public-key-and-token.html#select-wrapping-algorithm
3446
3535
  # @return [String]
3447
3536
  #
3448
3537
  # @!attribute [rw] wrapping_key_spec
@@ -3538,7 +3627,7 @@ module Aws::KMS
3538
3627
  #
3539
3628
  #
3540
3629
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
3541
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
3630
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
3542
3631
  # @return [Array<String>]
3543
3632
  #
3544
3633
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GetPublicKeyRequest AWS API Documentation
@@ -3640,9 +3729,9 @@ module Aws::KMS
3640
3729
  #
3641
3730
  # KMS applies the grant constraints only to cryptographic operations
3642
3731
  # that support an encryption context, that is, all cryptographic
3643
- # operations with a [symmetric KMS key][3]. Grant constraints are not
3644
- # applied to operations that do not support an encryption context, such
3645
- # as cryptographic operations with asymmetric KMS keys and management
3732
+ # operations with a symmetric KMS key. Grant constraints are not applied
3733
+ # to operations that do not support an encryption context, such as
3734
+ # cryptographic operations with asymmetric KMS keys and management
3646
3735
  # operations, such as DescribeKey or RetireGrant.
3647
3736
  #
3648
3737
  # In a cryptographic operation, the encryption context in the decryption
@@ -3657,15 +3746,14 @@ module Aws::KMS
3657
3746
  # differ only by case. To require a fully case-sensitive encryption
3658
3747
  # context, use the `kms:EncryptionContext:` and
3659
3748
  # `kms:EncryptionContextKeys` conditions in an IAM or key policy. For
3660
- # details, see [kms:EncryptionContext:][4] in the <i> <i>Key Management
3661
- # Service Developer Guide</i> </i>.
3749
+ # details, see [kms:EncryptionContext:context-key][3] in the <i> <i>Key
3750
+ # Management Service Developer Guide</i> </i>.
3662
3751
  #
3663
3752
  #
3664
3753
  #
3665
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
3666
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
3667
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-concepts.html#symmetric-cmks
3668
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-encryption-context
3754
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
3755
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
3756
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-encryption-context
3669
3757
  #
3670
3758
  # @!attribute [rw] encryption_context_subset
3671
3759
  # A list of key-value pairs that must be included in the encryption
@@ -3676,7 +3764,7 @@ module Aws::KMS
3676
3764
  #
3677
3765
  #
3678
3766
  #
3679
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
3767
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
3680
3768
  # @return [Hash<String,String>]
3681
3769
  #
3682
3770
  # @!attribute [rw] encryption_context_equals
@@ -3687,7 +3775,7 @@ module Aws::KMS
3687
3775
  #
3688
3776
  #
3689
3777
  #
3690
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
3778
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
3691
3779
  # @return [Hash<String,String>]
3692
3780
  #
3693
3781
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GrantConstraints AWS API Documentation
@@ -3776,11 +3864,9 @@ module Aws::KMS
3776
3864
  #
3777
3865
  # The KMS key can be a symmetric encryption KMS key, HMAC KMS key,
3778
3866
  # asymmetric encryption KMS key, or asymmetric signing KMS key,
3779
- # including a [multi-Region
3780
- # key](kms/latest/developerguide/multi-region-keys-overview.html) of
3781
- # any supported type. You cannot perform this operation on a KMS key
3782
- # in a custom key store, or on a KMS key in a different Amazon Web
3783
- # Services account.
3867
+ # including a [multi-Region key][1] of any supported type. You cannot
3868
+ # perform this operation on a KMS key in a custom key store, or on a
3869
+ # KMS key in a different Amazon Web Services account.
3784
3870
  #
3785
3871
  # Specify the key ID or key ARN of the KMS key.
3786
3872
  #
@@ -3793,6 +3879,10 @@ module Aws::KMS
3793
3879
  #
3794
3880
  # To get the key ID and key ARN for a KMS key, use ListKeys or
3795
3881
  # DescribeKey.
3882
+ #
3883
+ #
3884
+ #
3885
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
3796
3886
  # @return [String]
3797
3887
  #
3798
3888
  # @!attribute [rw] import_token
@@ -3844,7 +3934,45 @@ module Aws::KMS
3844
3934
  #
3845
3935
  #
3846
3936
  #
3847
- # [1]: https://docs.aws.amazon.com/en_us/kms/latest/developerguide/importing-keys.html#importing-keys-expiration
3937
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-import-key-material.html#importing-keys-expiration
3938
+ # @return [String]
3939
+ #
3940
+ # @!attribute [rw] import_type
3941
+ # Indicates whether the key material being imported is previously
3942
+ # associated with this KMS key or not. This parameter is optional and
3943
+ # only usable with symmetric encryption keys. The default is
3944
+ # `EXISTING_KEY_MATERIAL`. If no key material has ever been imported
3945
+ # into the KMS key, and this parameter is omitted, the parameter
3946
+ # defaults to `NEW_KEY_MATERIAL`.
3947
+ # @return [String]
3948
+ #
3949
+ # @!attribute [rw] key_material_description
3950
+ # Description for the key material being imported. This parameter is
3951
+ # optional and only usable with symmetric encryption keys. If you do
3952
+ # not specify a key material description, KMS retains the value you
3953
+ # specified when you last imported the same key material into this KMS
3954
+ # key.
3955
+ # @return [String]
3956
+ #
3957
+ # @!attribute [rw] key_material_id
3958
+ # Identifies the key material being imported. This parameter is
3959
+ # optional and only usable with symmetric encryption keys. You cannot
3960
+ # specify a key material ID with `ImportType` set to
3961
+ # `NEW_KEY_MATERIAL`. Whenever you import key material into a
3962
+ # symmetric encryption key, KMS assigns a unique identifier to the key
3963
+ # material based on the KMS key ID and the imported key material. When
3964
+ # you re-import key material with a specified key material ID, KMS:
3965
+ #
3966
+ # * Computes the identifier for the key material
3967
+ #
3968
+ # * Matches the computed identifier against the specified key material
3969
+ # ID
3970
+ #
3971
+ # * Verifies that the key material ID is already associated with the
3972
+ # KMS key
3973
+ #
3974
+ # To get the list of key material IDs associated with a KMS key, use
3975
+ # ListKeyRotations.
3848
3976
  # @return [String]
3849
3977
  #
3850
3978
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ImportKeyMaterialRequest AWS API Documentation
@@ -3854,14 +3982,35 @@ module Aws::KMS
3854
3982
  :import_token,
3855
3983
  :encrypted_key_material,
3856
3984
  :valid_to,
3857
- :expiration_model)
3985
+ :expiration_model,
3986
+ :import_type,
3987
+ :key_material_description,
3988
+ :key_material_id)
3858
3989
  SENSITIVE = []
3859
3990
  include Aws::Structure
3860
3991
  end
3861
3992
 
3993
+ # @!attribute [rw] key_id
3994
+ # The Amazon Resource Name ([key ARN][1]) of the KMS key into which
3995
+ # key material was imported.
3996
+ #
3997
+ #
3998
+ #
3999
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN
4000
+ # @return [String]
4001
+ #
4002
+ # @!attribute [rw] key_material_id
4003
+ # Identifies the imported key material.
4004
+ # @return [String]
4005
+ #
3862
4006
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ImportKeyMaterialResponse AWS API Documentation
3863
4007
  #
3864
- class ImportKeyMaterialResponse < Aws::EmptyStructure; end
4008
+ class ImportKeyMaterialResponse < Struct.new(
4009
+ :key_id,
4010
+ :key_material_id)
4011
+ SENSITIVE = []
4012
+ include Aws::Structure
4013
+ end
3865
4014
 
3866
4015
  # The request was rejected because the specified KMS key cannot decrypt
3867
4016
  # the data. The `KeyId` in a Decrypt request and the `SourceKeyId` in a
@@ -3880,8 +4029,10 @@ module Aws::KMS
3880
4029
  end
3881
4030
 
3882
4031
  # The request was rejected because the key material in the request is,
3883
- # expired, invalid, or is not the same key material that was previously
3884
- # imported into this KMS key.
4032
+ # expired, invalid, or does not meet expectations. For example, it is
4033
+ # not the same key material that was previously imported or KMS expected
4034
+ # new key material but the key material being imported is already
4035
+ # associated with the KMS key.
3885
4036
  #
3886
4037
  # @!attribute [rw] message
3887
4038
  # @return [String]
@@ -4188,7 +4339,7 @@ module Aws::KMS
4188
4339
  #
4189
4340
  #
4190
4341
  #
4191
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
4342
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
4192
4343
  # @return [String]
4193
4344
  #
4194
4345
  # @!attribute [rw] key_state
@@ -4215,11 +4366,12 @@ module Aws::KMS
4215
4366
  # @return [Time]
4216
4367
  #
4217
4368
  # @!attribute [rw] valid_to
4218
- # The time at which the imported key material expires. When the key
4219
- # material expires, KMS deletes the key material and the KMS key
4220
- # becomes unusable. This value is present only for KMS keys whose
4221
- # `Origin` is `EXTERNAL` and whose `ExpirationModel` is
4222
- # `KEY_MATERIAL_EXPIRES`, otherwise this value is omitted.
4369
+ # The earliest time at which any imported key material permanently
4370
+ # associated with this KMS key expires. When a key material expires,
4371
+ # KMS deletes the key material and the KMS key becomes unusable. This
4372
+ # value is present only for KMS keys whose `Origin` is `EXTERNAL` and
4373
+ # the `ExpirationModel` is `KEY_MATERIAL_EXPIRES`, otherwise this
4374
+ # value is omitted.
4223
4375
  # @return [Time]
4224
4376
  #
4225
4377
  # @!attribute [rw] origin
@@ -4238,7 +4390,7 @@ module Aws::KMS
4238
4390
  #
4239
4391
  #
4240
4392
  #
4241
- # [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
4242
4394
  # @return [String]
4243
4395
  #
4244
4396
  # @!attribute [rw] cloud_hsm_cluster_id
@@ -4250,7 +4402,7 @@ module Aws::KMS
4250
4402
  #
4251
4403
  #
4252
4404
  #
4253
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
4405
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
4254
4406
  # @return [String]
4255
4407
  #
4256
4408
  # @!attribute [rw] expiration_model
@@ -4373,6 +4525,16 @@ module Aws::KMS
4373
4525
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html#concept-external-key
4374
4526
  # @return [Types::XksKeyConfigurationType]
4375
4527
  #
4528
+ # @!attribute [rw] current_key_material_id
4529
+ # Identifies the current key material. This value is present for
4530
+ # symmetric encryption keys with `AWS_KMS` origin and single-Region,
4531
+ # symmetric encryption keys with `EXTERNAL` origin. These KMS keys
4532
+ # support automatic or on-demand key rotation and can have multiple
4533
+ # key materials associated with them. KMS uses the current key
4534
+ # material for both encryption and decryption, and the non-current key
4535
+ # material for decryption operations only.
4536
+ # @return [String]
4537
+ #
4376
4538
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/KeyMetadata AWS API Documentation
4377
4539
  #
4378
4540
  class KeyMetadata < Struct.new(
@@ -4400,7 +4562,8 @@ module Aws::KMS
4400
4562
  :multi_region_configuration,
4401
4563
  :pending_deletion_window_in_days,
4402
4564
  :mac_algorithms,
4403
- :xks_key_configuration)
4565
+ :xks_key_configuration,
4566
+ :current_key_material_id)
4404
4567
  SENSITIVE = []
4405
4568
  include Aws::Structure
4406
4569
  end
@@ -4419,9 +4582,9 @@ module Aws::KMS
4419
4582
  include Aws::Structure
4420
4583
  end
4421
4584
 
4422
- # The request was rejected because a quota was exceeded. For more
4423
- # information, see [Quotas][1] in the *Key Management Service Developer
4424
- # Guide*.
4585
+ # The request was rejected because a length constraint or quota was
4586
+ # exceeded. For more information, see [Quotas][1] in the *Key Management
4587
+ # Service Developer Guide*.
4425
4588
  #
4426
4589
  #
4427
4590
  #
@@ -4679,6 +4842,18 @@ module Aws::KMS
4679
4842
  # DescribeKey.
4680
4843
  # @return [String]
4681
4844
  #
4845
+ # @!attribute [rw] include_key_material
4846
+ # Use this optional parameter to control which key materials
4847
+ # associated with this key are listed in the response. The default
4848
+ # value of this parameter is `ROTATIONS_ONLY`. If you omit this
4849
+ # parameter, KMS returns information on the key materials created by
4850
+ # automatic or on-demand key rotation. When you specify a value of
4851
+ # `ALL_KEY_MATERIAL`, KMS adds the first key material and any imported
4852
+ # key material pending rotation to the response. This parameter can
4853
+ # only be used with KMS keys that support automatic or on-demand key
4854
+ # rotation.
4855
+ # @return [String]
4856
+ #
4682
4857
  # @!attribute [rw] limit
4683
4858
  # Use this parameter to specify the maximum number of items to return.
4684
4859
  # When this value is present, KMS does not return more than the
@@ -4699,6 +4874,7 @@ module Aws::KMS
4699
4874
  #
4700
4875
  class ListKeyRotationsRequest < Struct.new(
4701
4876
  :key_id,
4877
+ :include_key_material,
4702
4878
  :limit,
4703
4879
  :marker)
4704
4880
  SENSITIVE = []
@@ -4706,7 +4882,10 @@ module Aws::KMS
4706
4882
  end
4707
4883
 
4708
4884
  # @!attribute [rw] rotations
4709
- # A list of completed key material rotations.
4885
+ # A list of completed key material rotations. When the optional input
4886
+ # parameter `IncludeKeyMaterial` is specified with a value of
4887
+ # `ALL_KEY_MATERIAL`, this list includes the first key material and
4888
+ # any imported key material pending rotation.
4710
4889
  # @return [Array<Types::RotationsListEntry>]
4711
4890
  #
4712
4891
  # @!attribute [rw] next_marker
@@ -5029,6 +5208,18 @@ module Aws::KMS
5029
5208
  # that I make are not always immediately visible][2] in the *Amazon
5030
5209
  # Web Services Identity and Access Management User Guide*.
5031
5210
  #
5211
+ # <note markdown="1"> If either of the required `Resource` or `Action` elements are
5212
+ # missing from a key policy statement, the policy statement has no
5213
+ # effect. When a key policy statement is missing one of these
5214
+ # elements, the KMS console correctly reports an error, but the
5215
+ # `PutKeyPolicy` API request succeeds, even though the policy
5216
+ # statement is ineffective.
5217
+ #
5218
+ # For more information on required key policy elements, see [Elements
5219
+ # in a key policy][3] in the *Key Management Service Developer Guide*.
5220
+ #
5221
+ # </note>
5222
+ #
5032
5223
  # A key policy document can include only the following characters:
5033
5224
  #
5034
5225
  # * Printable ASCII characters from the space character (`\u0020`)
@@ -5040,18 +5231,24 @@ module Aws::KMS
5040
5231
  # * The tab (`\u0009`), line feed (`\u000A`), and carriage return
5041
5232
  # (`\u000D`) special characters
5042
5233
  #
5043
- # For information about key policies, see [Key policies in KMS][3] in
5234
+ # <note markdown="1"> If the key policy exceeds the length constraint, KMS returns a
5235
+ # `LimitExceededException`.
5236
+ #
5237
+ # </note>
5238
+ #
5239
+ # For information about key policies, see [Key policies in KMS][4] in
5044
5240
  # the *Key Management Service Developer Guide*.For help writing and
5045
5241
  # formatting a JSON policy document, see the [IAM JSON Policy
5046
- # Reference][4] in the <i> <i>Identity and Access Management User
5242
+ # Reference][5] in the <i> <i>Identity and Access Management User
5047
5243
  # Guide</i> </i>.
5048
5244
  #
5049
5245
  #
5050
5246
  #
5051
5247
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
5052
5248
  # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
5053
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
5054
- # [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
5249
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-overview.html#key-policy-elements
5250
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
5251
+ # [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
5055
5252
  # @return [String]
5056
5253
  #
5057
5254
  # @!attribute [rw] bypass_policy_lockout_safety_check
@@ -5109,7 +5306,7 @@ module Aws::KMS
5109
5306
  #
5110
5307
  #
5111
5308
  #
5112
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
5309
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
5113
5310
  # @return [Hash<String,String>]
5114
5311
  #
5115
5312
  # @!attribute [rw] source_key_id
@@ -5199,7 +5396,7 @@ module Aws::KMS
5199
5396
  #
5200
5397
  #
5201
5398
  #
5202
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
5399
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
5203
5400
  # @return [Hash<String,String>]
5204
5401
  #
5205
5402
  # @!attribute [rw] source_encryption_algorithm
@@ -5236,19 +5433,19 @@ module Aws::KMS
5236
5433
  #
5237
5434
  #
5238
5435
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
5239
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
5436
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
5240
5437
  # @return [Array<String>]
5241
5438
  #
5242
5439
  # @!attribute [rw] dry_run
5243
5440
  # Checks if your request will succeed. `DryRun` is an optional
5244
5441
  # parameter.
5245
5442
  #
5246
- # To learn more about how to use this parameter, see [Testing your KMS
5247
- # API calls][1] in the *Key Management Service Developer Guide*.
5443
+ # To learn more about how to use this parameter, see [Testing your
5444
+ # permissions][1] in the *Key Management Service Developer Guide*.
5248
5445
  #
5249
5446
  #
5250
5447
  #
5251
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
5448
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
5252
5449
  # @return [Boolean]
5253
5450
  #
5254
5451
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ReEncryptRequest AWS API Documentation
@@ -5296,6 +5493,18 @@ module Aws::KMS
5296
5493
  # The encryption algorithm that was used to reencrypt the data.
5297
5494
  # @return [String]
5298
5495
  #
5496
+ # @!attribute [rw] source_key_material_id
5497
+ # The identifier of the key material used to originally encrypt the
5498
+ # data. This field is present only when the original encryption used a
5499
+ # symmetric encryption KMS key.
5500
+ # @return [String]
5501
+ #
5502
+ # @!attribute [rw] destination_key_material_id
5503
+ # The identifier of the key material used to reencrypt the data. This
5504
+ # field is present only when data is reencrypted using a symmetric
5505
+ # encryption KMS key.
5506
+ # @return [String]
5507
+ #
5299
5508
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ReEncryptResponse AWS API Documentation
5300
5509
  #
5301
5510
  class ReEncryptResponse < Struct.new(
@@ -5303,7 +5512,9 @@ module Aws::KMS
5303
5512
  :source_key_id,
5304
5513
  :key_id,
5305
5514
  :source_encryption_algorithm,
5306
- :destination_encryption_algorithm)
5515
+ :destination_encryption_algorithm,
5516
+ :source_key_material_id,
5517
+ :destination_key_material_id)
5307
5518
  SENSITIVE = []
5308
5519
  include Aws::Structure
5309
5520
  end
@@ -5369,33 +5580,23 @@ module Aws::KMS
5369
5580
  # [KMS service endpoints][1] in the *Amazon Web Services General
5370
5581
  # Reference*.
5371
5582
  #
5372
- # <note markdown="1"> HMAC KMS keys are not supported in all Amazon Web Services Regions.
5373
- # If you try to replicate an HMAC KMS key in an Amazon Web Services
5374
- # Region in which HMAC keys are not supported, the `ReplicateKey`
5375
- # operation returns an `UnsupportedOperationException`. For a list of
5376
- # Regions in which HMAC KMS keys are supported, see [HMAC keys in
5377
- # KMS][2] in the *Key Management Service Developer Guide*.
5378
- #
5379
- # </note>
5380
- #
5381
5583
  # The replica must be in a different Amazon Web Services Region than
5382
5584
  # its primary key and other replicas of that primary key, but in the
5383
5585
  # same Amazon Web Services partition. KMS must be available in the
5384
5586
  # replica Region. If the Region is not enabled by default, the Amazon
5385
5587
  # Web Services account must be enabled in the Region. For information
5386
5588
  # about Amazon Web Services partitions, see [Amazon Resource Names
5387
- # (ARNs)][3] in the *Amazon Web Services General Reference*. For
5589
+ # (ARNs)][2] in the *Amazon Web Services General Reference*. For
5388
5590
  # information about enabling and disabling Regions, see [Enabling a
5389
- # Region][4] and [Disabling a Region][5] in the *Amazon Web Services
5591
+ # Region][3] and [Disabling a Region][4] in the *Amazon Web Services
5390
5592
  # General Reference*.
5391
5593
  #
5392
5594
  #
5393
5595
  #
5394
5596
  # [1]: https://docs.aws.amazon.com/general/latest/gr/kms.html#kms_region
5395
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
5396
- # [3]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
5397
- # [4]: https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-enable
5398
- # [5]: https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-disable
5597
+ # [2]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
5598
+ # [3]: https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-enable
5599
+ # [4]: https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-disable
5399
5600
  # @return [String]
5400
5601
  #
5401
5602
  # @!attribute [rw] policy
@@ -5445,7 +5646,7 @@ module Aws::KMS
5445
5646
  #
5446
5647
  #
5447
5648
  #
5448
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default
5649
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html
5449
5650
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
5450
5651
  # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
5451
5652
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
@@ -5518,7 +5719,7 @@ module Aws::KMS
5518
5719
  # When you add tags to an Amazon Web Services resource, Amazon Web
5519
5720
  # Services generates a cost allocation report with usage and costs
5520
5721
  # aggregated by tags. Tags can also be used to control access to a KMS
5521
- # key. For details, see [Tagging Keys][3].
5722
+ # key. For details, see [Tags in KMS][3].
5522
5723
  #
5523
5724
  #
5524
5725
  #
@@ -5609,12 +5810,12 @@ module Aws::KMS
5609
5810
  # Checks if your request will succeed. `DryRun` is an optional
5610
5811
  # parameter.
5611
5812
  #
5612
- # To learn more about how to use this parameter, see [Testing your KMS
5613
- # API calls][1] in the *Key Management Service Developer Guide*.
5813
+ # To learn more about how to use this parameter, see [Testing your
5814
+ # permissions][1] in the *Key Management Service Developer Guide*.
5614
5815
  #
5615
5816
  #
5616
5817
  #
5617
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
5818
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
5618
5819
  # @return [Boolean]
5619
5820
  #
5620
5821
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/RetireGrantRequest AWS API Documentation
@@ -5657,12 +5858,12 @@ module Aws::KMS
5657
5858
  # Checks if your request will succeed. `DryRun` is an optional
5658
5859
  # parameter.
5659
5860
  #
5660
- # To learn more about how to use this parameter, see [Testing your KMS
5661
- # API calls][1] in the *Key Management Service Developer Guide*.
5861
+ # To learn more about how to use this parameter, see [Testing your
5862
+ # permissions][1] in the *Key Management Service Developer Guide*.
5662
5863
  #
5663
5864
  #
5664
5865
  #
5665
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
5866
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
5666
5867
  # @return [Boolean]
5667
5868
  #
5668
5869
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/RevokeGrantRequest AWS API Documentation
@@ -5678,10 +5879,10 @@ module Aws::KMS
5678
5879
  # @!attribute [rw] key_id
5679
5880
  # Identifies a symmetric encryption KMS key. You cannot perform
5680
5881
  # on-demand rotation of [asymmetric KMS keys][1], [HMAC KMS keys][2],
5681
- # KMS keys with [imported key material][3], or KMS keys in a [custom
5682
- # key store][4]. To perform on-demand rotation of a set of related
5683
- # [multi-Region keys][5], invoke the on-demand rotation on the primary
5684
- # key.
5882
+ # multi-Region KMS keys with [imported key material][3], or KMS keys
5883
+ # in a [custom key store][4]. To perform on-demand rotation of a set
5884
+ # of related [multi-Region keys][5], invoke the on-demand rotation on
5885
+ # the primary key.
5685
5886
  #
5686
5887
  # Specify the key ID or key ARN of the KMS key.
5687
5888
  #
@@ -5700,8 +5901,8 @@ module Aws::KMS
5700
5901
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
5701
5902
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
5702
5903
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
5703
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
5704
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate
5904
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
5905
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#multi-region-rotate
5705
5906
  # @return [String]
5706
5907
  #
5707
5908
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/RotateKeyOnDemandRequest AWS API Documentation
@@ -5725,31 +5926,88 @@ module Aws::KMS
5725
5926
  include Aws::Structure
5726
5927
  end
5727
5928
 
5728
- # Contains information about completed key material rotations.
5929
+ # Each entry contains information about one of the key materials
5930
+ # associated with a KMS key.
5729
5931
  #
5730
5932
  # @!attribute [rw] key_id
5731
5933
  # Unique identifier of the key.
5732
5934
  # @return [String]
5733
5935
  #
5936
+ # @!attribute [rw] key_material_id
5937
+ # Unique identifier of the key material.
5938
+ # @return [String]
5939
+ #
5940
+ # @!attribute [rw] key_material_description
5941
+ # User-specified description of the key material. This field is only
5942
+ # present for symmetric encryption KMS keys with `EXTERNAL` origin.
5943
+ # @return [String]
5944
+ #
5945
+ # @!attribute [rw] import_state
5946
+ # Indicates if the key material is currently imported into KMS. It has
5947
+ # two possible values: `IMPORTED` or `PENDING_IMPORT`. This field is
5948
+ # only present for symmetric encryption KMS keys with `EXTERNAL`
5949
+ # origin.
5950
+ # @return [String]
5951
+ #
5952
+ # @!attribute [rw] key_material_state
5953
+ # There are three possible values for this field: `CURRENT`,
5954
+ # `NON_CURRENT` and `PENDING_ROTATION`. KMS uses `CURRENT` key
5955
+ # material for both encryption and decryption and `NON_CURRENT` key
5956
+ # material only for decryption. `PENDING_ROTATION` identifies key
5957
+ # material that has been imported for on-demand key rotation but the
5958
+ # rotation hasn't completed. Key material in `PENDING_ROTATION` is
5959
+ # not permanently associated with the KMS key. You can delete this key
5960
+ # material and import different key material in its place. The
5961
+ # `PENDING_ROTATION` value is only used in symmetric encryption keys
5962
+ # with imported key material. The other values, `CURRENT` and
5963
+ # `NON_CURRENT`, are used for all KMS keys that support automatic or
5964
+ # on-demand key rotation.
5965
+ # @return [String]
5966
+ #
5967
+ # @!attribute [rw] expiration_model
5968
+ # Indicates if the key material is configured to automatically expire.
5969
+ # There are two possible values for this field: `KEY_MATERIAL_EXPIRES`
5970
+ # and `KEY_MATERIAL_DOES_NOT_EXPIRE`. For any key material that
5971
+ # expires, the expiration date and time is indicated in `ValidTo`.
5972
+ # This field is only present for symmetric encryption KMS keys with
5973
+ # `EXTERNAL` origin.
5974
+ # @return [String]
5975
+ #
5976
+ # @!attribute [rw] valid_to
5977
+ # Date and time at which the key material expires. This field is only
5978
+ # present for symmetric encryption KMS keys with `EXTERNAL` origin in
5979
+ # rotation list entries with an `ExpirationModel` value of
5980
+ # `KEY_MATERIAL_EXPIRES`.
5981
+ # @return [Time]
5982
+ #
5734
5983
  # @!attribute [rw] rotation_date
5735
5984
  # Date and time that the key material rotation completed. Formatted as
5736
- # Unix time.
5985
+ # Unix time. This field is not present for the first key material or
5986
+ # an imported key material in `PENDING_ROTATION` state.
5737
5987
  # @return [Time]
5738
5988
  #
5739
5989
  # @!attribute [rw] rotation_type
5740
5990
  # Identifies whether the key material rotation was a scheduled
5741
- # [automatic rotation][1] or an [on-demand rotation][2].
5991
+ # [automatic rotation][1] or an [on-demand rotation][2]. This field is
5992
+ # not present for the first key material or an imported key material
5993
+ # in `PENDING_ROTATION` state.
5742
5994
  #
5743
5995
  #
5744
5996
  #
5745
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotating-keys-enable-disable
5746
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotating-keys-on-demand
5997
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotating-keys-enable-disable.html
5998
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/rotating-keys-on-demand.html
5747
5999
  # @return [String]
5748
6000
  #
5749
6001
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/RotationsListEntry AWS API Documentation
5750
6002
  #
5751
6003
  class RotationsListEntry < Struct.new(
5752
6004
  :key_id,
6005
+ :key_material_id,
6006
+ :key_material_description,
6007
+ :import_state,
6008
+ :key_material_state,
6009
+ :expiration_model,
6010
+ :valid_to,
5753
6011
  :rotation_date,
5754
6012
  :rotation_type)
5755
6013
  SENSITIVE = []
@@ -5887,27 +6145,34 @@ module Aws::KMS
5887
6145
  # Tells KMS whether the value of the `Message` parameter should be
5888
6146
  # hashed as part of the signing algorithm. Use `RAW` for unhashed
5889
6147
  # messages; use `DIGEST` for message digests, which are already
5890
- # hashed.
6148
+ # hashed; use `EXTERNAL_MU` for 64-byte representative μ used in
6149
+ # ML-DSA signing as defined in NIST FIPS 204 Section 6.2.
5891
6150
  #
5892
6151
  # When the value of `MessageType` is `RAW`, KMS uses the standard
5893
6152
  # signing algorithm, which begins with a hash function. When the value
5894
6153
  # is `DIGEST`, KMS skips the hashing step in the signing algorithm.
6154
+ # When the value is `EXTERNAL_MU` KMS skips the concatenated hashing
6155
+ # of the public key hash and the message done in the ML-DSA signing
6156
+ # algorithm.
5895
6157
  #
5896
- # Use the `DIGEST` value only when the value of the `Message`
5897
- # parameter is a message digest. If you use the `DIGEST` value with an
5898
- # unhashed message, the security of the signing operation can be
5899
- # compromised.
6158
+ # Use the `DIGEST` or `EXTERNAL_MU` value only when the value of the
6159
+ # `Message` parameter is a message digest. If you use the `DIGEST`
6160
+ # value with an unhashed message, the security of the signing
6161
+ # operation can be compromised.
5900
6162
  #
5901
- # When the value of `MessageType`is `DIGEST`, the length of the
6163
+ # When the value of `MessageType` is `DIGEST`, the length of the
5902
6164
  # `Message` value must match the length of hashed messages for the
5903
6165
  # specified signing algorithm.
5904
6166
  #
6167
+ # When the value of `MessageType` is `EXTERNAL_MU` the length of the
6168
+ # `Message` value must be 64 bytes.
6169
+ #
5905
6170
  # You can submit a message digest and omit the `MessageType` or
5906
6171
  # specify `RAW` so the digest is hashed again while signing. However,
5907
6172
  # this can cause verification failures when verifying with a system
5908
6173
  # that assumes a single hash.
5909
6174
  #
5910
- # The hashing algorithm in that `Sign` uses is based on the
6175
+ # The hashing algorithm that `Sign` uses is based on the
5911
6176
  # `SigningAlgorithm` value.
5912
6177
  #
5913
6178
  # * Signing algorithms that end in SHA\_256 use the SHA\_256 hashing
@@ -5919,12 +6184,15 @@ module Aws::KMS
5919
6184
  # * Signing algorithms that end in SHA\_512 use the SHA\_512 hashing
5920
6185
  # algorithm.
5921
6186
  #
6187
+ # * Signing algorithms that end in SHAKE\_256 use the SHAKE\_256
6188
+ # hashing algorithm.
6189
+ #
5922
6190
  # * SM2DSA uses the SM3 hashing algorithm. For details, see [Offline
5923
6191
  # verification with SM2 key pairs][1].
5924
6192
  #
5925
6193
  #
5926
6194
  #
5927
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/asymmetric-key-specs.html#key-spec-sm-offline-verification
6195
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/offline-operations.html#key-spec-sm-offline-verification
5928
6196
  # @return [String]
5929
6197
  #
5930
6198
  # @!attribute [rw] grant_tokens
@@ -5938,7 +6206,7 @@ module Aws::KMS
5938
6206
  #
5939
6207
  #
5940
6208
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
5941
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
6209
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
5942
6210
  # @return [Array<String>]
5943
6211
  #
5944
6212
  # @!attribute [rw] signing_algorithm
@@ -5954,12 +6222,12 @@ module Aws::KMS
5954
6222
  # Checks if your request will succeed. `DryRun` is an optional
5955
6223
  # parameter.
5956
6224
  #
5957
- # To learn more about how to use this parameter, see [Testing your KMS
5958
- # API calls][1] in the *Key Management Service Developer Guide*.
6225
+ # To learn more about how to use this parameter, see [Testing your
6226
+ # permissions][1] in the *Key Management Service Developer Guide*.
5959
6227
  #
5960
6228
  #
5961
6229
  #
5962
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
6230
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
5963
6231
  # @return [Boolean]
5964
6232
  #
5965
6233
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/SignRequest AWS API Documentation
@@ -6464,19 +6732,19 @@ module Aws::KMS
6464
6732
  #
6465
6733
  #
6466
6734
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
6467
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
6735
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
6468
6736
  # @return [Array<String>]
6469
6737
  #
6470
6738
  # @!attribute [rw] dry_run
6471
6739
  # Checks if your request will succeed. `DryRun` is an optional
6472
6740
  # parameter.
6473
6741
  #
6474
- # To learn more about how to use this parameter, see [Testing your KMS
6475
- # API calls][1] in the *Key Management Service Developer Guide*.
6742
+ # To learn more about how to use this parameter, see [Testing your
6743
+ # permissions][1] in the *Key Management Service Developer Guide*.
6476
6744
  #
6477
6745
  #
6478
6746
  #
6479
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
6747
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
6480
6748
  # @return [Boolean]
6481
6749
  #
6482
6750
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/VerifyMacRequest AWS API Documentation
@@ -6560,28 +6828,35 @@ module Aws::KMS
6560
6828
  # Tells KMS whether the value of the `Message` parameter should be
6561
6829
  # hashed as part of the signing algorithm. Use `RAW` for unhashed
6562
6830
  # messages; use `DIGEST` for message digests, which are already
6563
- # hashed.
6831
+ # hashed; use `EXTERNAL_MU` for 64-byte representative μ used in
6832
+ # ML-DSA signing as defined in NIST FIPS 204 Section 6.2.
6564
6833
  #
6565
6834
  # When the value of `MessageType` is `RAW`, KMS uses the standard
6566
6835
  # signing algorithm, which begins with a hash function. When the value
6567
6836
  # is `DIGEST`, KMS skips the hashing step in the signing algorithm.
6837
+ # When the value is `EXTERNAL_MU` KMS skips the concatenated hashing
6838
+ # of the public key hash and the message done in the ML-DSA signing
6839
+ # algorithm.
6568
6840
  #
6569
- # Use the `DIGEST` value only when the value of the `Message`
6570
- # parameter is a message digest. If you use the `DIGEST` value with an
6571
- # unhashed message, the security of the verification operation can be
6572
- # compromised.
6841
+ # Use the `DIGEST` or `EXTERNAL_MU` value only when the value of the
6842
+ # `Message` parameter is a message digest. If you use the `DIGEST`
6843
+ # value with an unhashed message, the security of the signing
6844
+ # operation can be compromised.
6573
6845
  #
6574
- # When the value of `MessageType`is `DIGEST`, the length of the
6846
+ # When the value of `MessageType` is `DIGEST`, the length of the
6575
6847
  # `Message` value must match the length of hashed messages for the
6576
6848
  # specified signing algorithm.
6577
6849
  #
6850
+ # When the value of `MessageType` is `EXTERNAL_MU` the length of the
6851
+ # `Message` value must be 64 bytes.
6852
+ #
6578
6853
  # You can submit a message digest and omit the `MessageType` or
6579
6854
  # specify `RAW` so the digest is hashed again while signing. However,
6580
6855
  # if the signed message is hashed once while signing, but twice while
6581
6856
  # verifying, verification fails, even when the message hasn't
6582
6857
  # changed.
6583
6858
  #
6584
- # The hashing algorithm in that `Verify` uses is based on the
6859
+ # The hashing algorithm that `Verify` uses is based on the
6585
6860
  # `SigningAlgorithm` value.
6586
6861
  #
6587
6862
  # * Signing algorithms that end in SHA\_256 use the SHA\_256 hashing
@@ -6593,12 +6868,15 @@ module Aws::KMS
6593
6868
  # * Signing algorithms that end in SHA\_512 use the SHA\_512 hashing
6594
6869
  # algorithm.
6595
6870
  #
6871
+ # * Signing algorithms that end in SHAKE\_256 use the SHAKE\_256
6872
+ # hashing algorithm.
6873
+ #
6596
6874
  # * SM2DSA uses the SM3 hashing algorithm. For details, see [Offline
6597
6875
  # verification with SM2 key pairs][1].
6598
6876
  #
6599
6877
  #
6600
6878
  #
6601
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/asymmetric-key-specs.html#key-spec-sm-offline-verification
6879
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/offline-operations.html#key-spec-sm-offline-verification
6602
6880
  # @return [String]
6603
6881
  #
6604
6882
  # @!attribute [rw] signature
@@ -6621,19 +6899,19 @@ module Aws::KMS
6621
6899
  #
6622
6900
  #
6623
6901
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
6624
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
6902
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
6625
6903
  # @return [Array<String>]
6626
6904
  #
6627
6905
  # @!attribute [rw] dry_run
6628
6906
  # Checks if your request will succeed. `DryRun` is an optional
6629
6907
  # parameter.
6630
6908
  #
6631
- # To learn more about how to use this parameter, see [Testing your KMS
6632
- # API calls][1] in the *Key Management Service Developer Guide*.
6909
+ # To learn more about how to use this parameter, see [Testing your
6910
+ # permissions][1] in the *Key Management Service Developer Guide*.
6633
6911
  #
6634
6912
  #
6635
6913
  #
6636
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
6914
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
6637
6915
  # @return [Boolean]
6638
6916
  #
6639
6917
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/VerifyRequest AWS API Documentation
@@ -7003,3 +7281,4 @@ module Aws::KMS
7003
7281
 
7004
7282
  end
7005
7283
  end
7284
+