aws-sdk-kms 1.57.0 → 1.59.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -30,7 +30,7 @@ require 'aws-sdk-core/plugins/http_checksum.rb'
30
30
  require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
31
  require 'aws-sdk-core/plugins/defaults_mode.rb'
32
32
  require 'aws-sdk-core/plugins/recursion_detection.rb'
33
- require 'aws-sdk-core/plugins/signature_v4.rb'
33
+ require 'aws-sdk-core/plugins/sign.rb'
34
34
  require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
35
35
 
36
36
  Aws::Plugins::GlobalConfiguration.add_identifier(:kms)
@@ -79,8 +79,9 @@ module Aws::KMS
79
79
  add_plugin(Aws::Plugins::ChecksumAlgorithm)
80
80
  add_plugin(Aws::Plugins::DefaultsMode)
81
81
  add_plugin(Aws::Plugins::RecursionDetection)
82
- add_plugin(Aws::Plugins::SignatureV4)
82
+ add_plugin(Aws::Plugins::Sign)
83
83
  add_plugin(Aws::Plugins::Protocols::JsonRpc)
84
+ add_plugin(Aws::KMS::Plugins::Endpoints)
84
85
 
85
86
  # @overload initialize(options)
86
87
  # @param [Hash] options
@@ -297,6 +298,19 @@ module Aws::KMS
297
298
  # ** Please note ** When response stubbing is enabled, no HTTP
298
299
  # requests are made, and retries are disabled.
299
300
  #
301
+ # @option options [Aws::TokenProvider] :token_provider
302
+ # A Bearer Token Provider. This can be an instance of any one of the
303
+ # following classes:
304
+ #
305
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
306
+ # tokens.
307
+ #
308
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
309
+ # access token generated from `aws login`.
310
+ #
311
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
312
+ # will be used to search for tokens configured for your profile in shared configuration files.
313
+ #
300
314
  # @option options [Boolean] :use_dualstack_endpoint
301
315
  # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
302
316
  # will be used if available.
@@ -310,6 +324,9 @@ module Aws::KMS
310
324
  # When `true`, request parameters are validated before
311
325
  # sending the request.
312
326
  #
327
+ # @option options [Aws::KMS::EndpointProvider] :endpoint_provider
328
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::KMS::EndpointParameters`
329
+ #
313
330
  # @option options [URI::HTTP,String] :http_proxy A proxy to send
314
331
  # requests through. Formatted like 'http://proxy.com:123'.
315
332
  #
@@ -674,7 +691,7 @@ module Aws::KMS
674
691
  # Creates a [custom key store][1] that is associated with an [CloudHSM
675
692
  # cluster][2] that you own and manage.
676
693
  #
677
- # This operation is part of the [Custom Key Store feature][1] feature in
694
+ # This operation is part of the [custom key store feature][1] feature in
678
695
  # KMS, which combines the convenience and extensive integration of KMS
679
696
  # with the isolation and control of a single-tenant key store.
680
697
  #
@@ -724,7 +741,7 @@ module Aws::KMS
724
741
  # Specifies a friendly name for the custom key store. The name must be
725
742
  # unique in your Amazon Web Services account.
726
743
  #
727
- # @option params [required, String] :cloud_hsm_cluster_id
744
+ # @option params [String] :cloud_hsm_cluster_id
728
745
  # Identifies the CloudHSM cluster for the custom key store. Enter the
729
746
  # cluster ID of any active CloudHSM cluster that is not already
730
747
  # associated with a custom key store. To find the cluster ID, use the
@@ -734,7 +751,7 @@ module Aws::KMS
734
751
  #
735
752
  # [1]: https://docs.aws.amazon.com/cloudhsm/latest/APIReference/API_DescribeClusters.html
736
753
  #
737
- # @option params [required, String] :trust_anchor_certificate
754
+ # @option params [String] :trust_anchor_certificate
738
755
  # Enter the content of the trust anchor certificate for the cluster.
739
756
  # This is the content of the `customerCA.crt` file that you created when
740
757
  # you [initialized the cluster][1].
@@ -743,7 +760,7 @@ module Aws::KMS
743
760
  #
744
761
  # [1]: https://docs.aws.amazon.com/cloudhsm/latest/userguide/initialize-cluster.html
745
762
  #
746
- # @option params [required, String] :key_store_password
763
+ # @option params [String] :key_store_password
747
764
  # Enter the password of the [ `kmsuser` crypto user (CU) account][1] in
748
765
  # the specified CloudHSM cluster. KMS logs into the cluster as this user
749
766
  # to manage key material on your behalf.
@@ -783,9 +800,9 @@ module Aws::KMS
783
800
  #
784
801
  # resp = client.create_custom_key_store({
785
802
  # custom_key_store_name: "CustomKeyStoreNameType", # required
786
- # cloud_hsm_cluster_id: "CloudHsmClusterIdType", # required
787
- # trust_anchor_certificate: "TrustAnchorCertificateType", # required
788
- # key_store_password: "KeyStorePasswordType", # required
803
+ # cloud_hsm_cluster_id: "CloudHsmClusterIdType",
804
+ # trust_anchor_certificate: "TrustAnchorCertificateType",
805
+ # key_store_password: "KeyStorePasswordType",
789
806
  # })
790
807
  #
791
808
  # @example Response structure
@@ -1079,7 +1096,9 @@ module Aws::KMS
1079
1096
  # : To create a symmetric encryption KMS key, you aren't required to
1080
1097
  # specify any parameters. The default value for `KeySpec`,
1081
1098
  # `SYMMETRIC_DEFAULT`, and the default value for `KeyUsage`,
1082
- # `ENCRYPT_DECRYPT`, create a symmetric encryption KMS key.
1099
+ # `ENCRYPT_DECRYPT`, create a symmetric encryption KMS key. For
1100
+ # technical details, see [ SYMMETRIC\_DEFAULT key spec][2] in the *Key
1101
+ # Management Service Developer Guide*.
1083
1102
  #
1084
1103
  # If you need a key for basic encryption and decryption or you are
1085
1104
  # creating a KMS key to protect your resources in an Amazon Web
@@ -1100,15 +1119,16 @@ module Aws::KMS
1100
1119
  # to encrypt and decrypt or sign and verify. You can't change these
1101
1120
  # properties after the KMS key is created.
1102
1121
  #
1103
- # Asymmetric KMS keys contain an RSA key pair or an Elliptic Curve
1104
- # (ECC) key pair. The private key in an asymmetric KMS key never
1105
- # leaves KMS unencrypted. However, you can use the GetPublicKey
1106
- # operation to download the public key so it can be used outside of
1107
- # KMS. KMS keys with RSA key pairs can be used to encrypt or decrypt
1108
- # data or sign and verify messages (but not both). KMS keys with ECC
1109
- # key pairs can be used only to sign and verify messages. For
1110
- # information about asymmetric KMS keys, see [Asymmetric KMS keys][2]
1111
- # in the *Key Management Service Developer Guide*.
1122
+ # Asymmetric KMS keys contain an RSA key pair, Elliptic Curve (ECC)
1123
+ # key pair, or an SM2 key pair (China Regions only). The private key
1124
+ # in an asymmetric KMS key never leaves KMS unencrypted. However, you
1125
+ # can use the GetPublicKey operation to download the public key so it
1126
+ # can be used outside of KMS. KMS keys with RSA or SM2 key pairs can
1127
+ # be used to encrypt or decrypt data or sign and verify messages (but
1128
+ # not both). KMS keys with ECC key pairs can be used only to sign and
1129
+ # verify messages. For information about asymmetric KMS keys, see
1130
+ # [Asymmetric KMS keys][3] in the *Key Management Service Developer
1131
+ # Guide*.
1112
1132
  #
1113
1133
  #
1114
1134
  #
@@ -1130,7 +1150,7 @@ module Aws::KMS
1130
1150
  # Region in which HMAC keys are not supported, the `CreateKey`
1131
1151
  # operation returns an `UnsupportedOperationException`. For a list of
1132
1152
  # Regions in which HMAC KMS keys are supported, see [HMAC keys in
1133
- # KMS][3] in the *Key Management Service Developer Guide*.
1153
+ # KMS][4] in the *Key Management Service Developer Guide*.
1134
1154
  #
1135
1155
  #
1136
1156
  #
@@ -1158,7 +1178,7 @@ module Aws::KMS
1158
1178
  # to encrypt data in one Amazon Web Services Region and decrypt it in
1159
1179
  # a different Amazon Web Services Region without re-encrypting the
1160
1180
  # data or making a cross-Region call. For more information about
1161
- # multi-Region keys, see [Multi-Region keys in KMS][4] in the *Key
1181
+ # multi-Region keys, see [Multi-Region keys in KMS][5] in the *Key
1162
1182
  # Management Service Developer Guide*.
1163
1183
  #
1164
1184
  #
@@ -1170,7 +1190,7 @@ module Aws::KMS
1170
1190
  # token, and use the public key to encrypt your key material. Then,
1171
1191
  # use ImportKeyMaterial with your import token to import the key
1172
1192
  # material. For step-by-step instructions, see [Importing Key
1173
- # Material][5] in the <i> <i>Key Management Service Developer
1193
+ # Material][6] in the <i> <i>Key Management Service Developer
1174
1194
  # Guide</i> </i>.
1175
1195
  #
1176
1196
  # This feature supports only symmetric encryption KMS keys, including
@@ -1182,14 +1202,14 @@ module Aws::KMS
1182
1202
  # the `MultiRegion` parameter with a value of `True`. To create
1183
1203
  # replicas of the multi-Region primary key, use the ReplicateKey
1184
1204
  # operation. For more information about multi-Region keys, see
1185
- # [Multi-Region keys in KMS][4] in the *Key Management Service
1205
+ # [Multi-Region keys in KMS][5] in the *Key Management Service
1186
1206
  # Developer Guide*.
1187
1207
  #
1188
1208
  #
1189
1209
  #
1190
1210
  # Custom key store
1191
1211
  #
1192
- # : To create a symmetric encryption KMS key in a [custom key store][6],
1212
+ # : To create a symmetric encryption KMS key in a [custom key store][7],
1193
1213
  # use the `CustomKeyStoreId` parameter to specify the custom key
1194
1214
  # store. You must also use the `Origin` parameter with a value of
1195
1215
  # `AWS_CLOUDHSM`. The CloudHSM cluster that is associated with the
@@ -1199,16 +1219,16 @@ module Aws::KMS
1199
1219
  # Custom key stores support only symmetric encryption KMS keys. You
1200
1220
  # cannot create an HMAC KMS key or an asymmetric KMS key in a custom
1201
1221
  # key store. For information about custom key stores in KMS see
1202
- # [Custom key stores in KMS][6] in the <i> <i>Key Management Service
1222
+ # [Custom key stores in KMS][7] in the <i> <i>Key Management Service
1203
1223
  # Developer Guide</i> </i>.
1204
1224
  #
1205
1225
  # **Cross-account use**\: No. You cannot use this operation to create a
1206
1226
  # KMS key in a different Amazon Web Services account.
1207
1227
  #
1208
- # **Required permissions**\: [kms:CreateKey][7] (IAM policy). To use the
1209
- # `Tags` parameter, [kms:TagResource][7] (IAM policy). For examples and
1228
+ # **Required permissions**\: [kms:CreateKey][8] (IAM policy). To use the
1229
+ # `Tags` parameter, [kms:TagResource][8] (IAM policy). For examples and
1210
1230
  # information about related permissions, see [Allow a user to create KMS
1211
- # keys][8] in the *Key Management Service Developer Guide*.
1231
+ # keys][9] in the *Key Management Service Developer Guide*.
1212
1232
  #
1213
1233
  # **Related operations:**
1214
1234
  #
@@ -1221,13 +1241,14 @@ module Aws::KMS
1221
1241
  #
1222
1242
  #
1223
1243
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms-keys
1224
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
1225
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
1226
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
1227
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
1228
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
1229
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
1230
- # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies.html#iam-policy-example-create-key
1244
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/asymmetric-key-specs.html#key-spec-symmetric-default
1245
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
1246
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
1247
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
1248
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
1249
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
1250
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
1251
+ # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies.html#iam-policy-example-create-key
1231
1252
  #
1232
1253
  # @option params [String] :policy
1233
1254
  # The key policy to attach to the KMS key. If you do not specify a key
@@ -1255,31 +1276,30 @@ module Aws::KMS
1255
1276
  # visible][3] in the *Amazon Web Services Identity and Access
1256
1277
  # Management User Guide*.
1257
1278
  #
1258
- # A key policy document must conform to the following rules.
1259
- #
1260
- # * Up to 32 kilobytes (32768 bytes)
1279
+ # A key policy document can include only the following characters:
1261
1280
  #
1262
- # * Must be UTF-8 encoded
1281
+ # * Printable ASCII characters from the space character (`\u0020`)
1282
+ # through the end of the ASCII character range.
1263
1283
  #
1264
- # * The only Unicode characters that are permitted in a key policy
1265
- # document are the horizontal tab (U+0009), linefeed (U+000A),
1266
- # carriage return (U+000D), and characters in the range U+0020 to
1267
- # U+00FF.
1284
+ # * Printable characters in the Basic Latin and Latin-1 Supplement
1285
+ # character set (through `\u00FF`).
1268
1286
  #
1269
- # * The `Sid` element in a key policy statement can include spaces.
1270
- # (Spaces are prohibited in the `Sid` element of an IAM policy
1271
- # document.)
1287
+ # * The tab (`\u0009`), line feed (`\u000A`), and carriage return
1288
+ # (`\u000D`) special characters
1272
1289
  #
1273
- # For help writing and formatting a JSON policy document, see the [IAM
1274
- # JSON Policy Reference][4] in the <i> <i>Identity and Access Management
1275
- # User Guide</i> </i>.
1290
+ # For information about key policies, see [Key policies in KMS][4] in
1291
+ # the *Key Management Service Developer Guide*. For help writing and
1292
+ # formatting a JSON policy document, see the [IAM JSON Policy
1293
+ # Reference][5] in the <i> <i>Identity and Access Management User
1294
+ # Guide</i> </i>.
1276
1295
  #
1277
1296
  #
1278
1297
  #
1279
1298
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default
1280
1299
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam
1281
1300
  # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
1282
- # [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
1301
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
1302
+ # [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
1283
1303
  #
1284
1304
  # @option params [String] :description
1285
1305
  # A description of the KMS key.
@@ -1311,6 +1331,9 @@ module Aws::KMS
1311
1331
  # * For asymmetric KMS keys with ECC key material, specify
1312
1332
  # `SIGN_VERIFY`.
1313
1333
  #
1334
+ # * For asymmetric KMS keys with SM2 key material (China Regions only),
1335
+ # specify `ENCRYPT_DECRYPT` or `SIGN_VERIFY`.
1336
+ #
1314
1337
  #
1315
1338
  #
1316
1339
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
@@ -1325,10 +1348,11 @@ module Aws::KMS
1325
1348
  #
1326
1349
  # @option params [String] :key_spec
1327
1350
  # Specifies the type of KMS key to create. The default value,
1328
- # `SYMMETRIC_DEFAULT`, creates a KMS key with a 256-bit symmetric key
1329
- # for encryption and decryption. For help choosing a key spec for your
1330
- # KMS key, see [Choosing a KMS key type][1] in the <i> <i>Key Management
1331
- # Service Developer Guide</i> </i>.
1351
+ # `SYMMETRIC_DEFAULT`, creates a KMS key with a 256-bit AES-GCM key that
1352
+ # is used for encryption and decryption, except in China Regions, where
1353
+ # it creates a 128-bit symmetric key that uses SM4 encryption. For help
1354
+ # choosing a key spec for your KMS key, see [Choosing a KMS key type][1]
1355
+ # in the <i> <i>Key Management Service Developer Guide</i> </i>.
1332
1356
  #
1333
1357
  # The `KeySpec` determines whether the KMS key contains a symmetric key
1334
1358
  # or an asymmetric key pair. It also determines the cryptographic
@@ -1347,7 +1371,7 @@ module Aws::KMS
1347
1371
  #
1348
1372
  # * Symmetric encryption key (default)
1349
1373
  #
1350
- # * `SYMMETRIC_DEFAULT` (AES-256-GCM)
1374
+ # * `SYMMETRIC_DEFAULT`
1351
1375
  #
1352
1376
  # ^
1353
1377
  #
@@ -1383,6 +1407,12 @@ module Aws::KMS
1383
1407
  #
1384
1408
  # ^
1385
1409
  #
1410
+ # * SM2 key pairs (China Regions only)
1411
+ #
1412
+ # * `SM2`
1413
+ #
1414
+ # ^
1415
+ #
1386
1416
  #
1387
1417
  #
1388
1418
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-types.html#symm-asymm-choose
@@ -1431,7 +1461,7 @@ module Aws::KMS
1431
1461
  # The response includes the custom key store ID and the ID of the
1432
1462
  # CloudHSM cluster.
1433
1463
  #
1434
- # This operation is part of the [Custom Key Store feature][1] feature in
1464
+ # This operation is part of the [custom key store feature][1] feature in
1435
1465
  # KMS, which combines the convenience and extensive integration of KMS
1436
1466
  # with the isolation and control of a single-tenant key store.
1437
1467
  #
@@ -1767,8 +1797,8 @@ module Aws::KMS
1767
1797
  # policy: "PolicyType",
1768
1798
  # description: "DescriptionType",
1769
1799
  # key_usage: "SIGN_VERIFY", # accepts SIGN_VERIFY, ENCRYPT_DECRYPT, GENERATE_VERIFY_MAC
1770
- # customer_master_key_spec: "RSA_2048", # accepts RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521, ECC_SECG_P256K1, SYMMETRIC_DEFAULT, HMAC_224, HMAC_256, HMAC_384, HMAC_512
1771
- # key_spec: "RSA_2048", # accepts RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521, ECC_SECG_P256K1, SYMMETRIC_DEFAULT, HMAC_224, HMAC_256, HMAC_384, HMAC_512
1800
+ # customer_master_key_spec: "RSA_2048", # accepts RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521, ECC_SECG_P256K1, SYMMETRIC_DEFAULT, HMAC_224, HMAC_256, HMAC_384, HMAC_512, SM2
1801
+ # key_spec: "RSA_2048", # accepts RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521, ECC_SECG_P256K1, SYMMETRIC_DEFAULT, HMAC_224, HMAC_256, HMAC_384, HMAC_512, SM2
1772
1802
  # origin: "AWS_KMS", # accepts AWS_KMS, EXTERNAL, AWS_CLOUDHSM
1773
1803
  # custom_key_store_id: "CustomKeyStoreIdType",
1774
1804
  # bypass_policy_lockout_safety_check: false,
@@ -1798,12 +1828,12 @@ module Aws::KMS
1798
1828
  # resp.key_metadata.cloud_hsm_cluster_id #=> String
1799
1829
  # resp.key_metadata.expiration_model #=> String, one of "KEY_MATERIAL_EXPIRES", "KEY_MATERIAL_DOES_NOT_EXPIRE"
1800
1830
  # resp.key_metadata.key_manager #=> String, one of "AWS", "CUSTOMER"
1801
- # resp.key_metadata.customer_master_key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512"
1802
- # resp.key_metadata.key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512"
1831
+ # resp.key_metadata.customer_master_key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512", "SM2"
1832
+ # resp.key_metadata.key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512", "SM2"
1803
1833
  # resp.key_metadata.encryption_algorithms #=> Array
1804
- # resp.key_metadata.encryption_algorithms[0] #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256"
1834
+ # resp.key_metadata.encryption_algorithms[0] #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
1805
1835
  # resp.key_metadata.signing_algorithms #=> Array
1806
- # resp.key_metadata.signing_algorithms[0] #=> String, one of "RSASSA_PSS_SHA_256", "RSASSA_PSS_SHA_384", "RSASSA_PSS_SHA_512", "RSASSA_PKCS1_V1_5_SHA_256", "RSASSA_PKCS1_V1_5_SHA_384", "RSASSA_PKCS1_V1_5_SHA_512", "ECDSA_SHA_256", "ECDSA_SHA_384", "ECDSA_SHA_512"
1836
+ # resp.key_metadata.signing_algorithms[0] #=> String, one of "RSASSA_PSS_SHA_256", "RSASSA_PSS_SHA_384", "RSASSA_PSS_SHA_512", "RSASSA_PKCS1_V1_5_SHA_256", "RSASSA_PKCS1_V1_5_SHA_384", "RSASSA_PKCS1_V1_5_SHA_512", "ECDSA_SHA_256", "ECDSA_SHA_384", "ECDSA_SHA_512", "SM2DSA"
1807
1837
  # resp.key_metadata.multi_region #=> Boolean
1808
1838
  # resp.key_metadata.multi_region_configuration.multi_region_key_type #=> String, one of "PRIMARY", "REPLICA"
1809
1839
  # resp.key_metadata.multi_region_configuration.primary_key.arn #=> String
@@ -2024,14 +2054,14 @@ module Aws::KMS
2024
2054
  # },
2025
2055
  # grant_tokens: ["GrantTokenType"],
2026
2056
  # key_id: "KeyIdType",
2027
- # encryption_algorithm: "SYMMETRIC_DEFAULT", # accepts SYMMETRIC_DEFAULT, RSAES_OAEP_SHA_1, RSAES_OAEP_SHA_256
2057
+ # encryption_algorithm: "SYMMETRIC_DEFAULT", # accepts SYMMETRIC_DEFAULT, RSAES_OAEP_SHA_1, RSAES_OAEP_SHA_256, SM2PKE
2028
2058
  # })
2029
2059
  #
2030
2060
  # @example Response structure
2031
2061
  #
2032
2062
  # resp.key_id #=> String
2033
2063
  # resp.plaintext #=> String
2034
- # resp.encryption_algorithm #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256"
2064
+ # resp.encryption_algorithm #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
2035
2065
  #
2036
2066
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/Decrypt AWS API Documentation
2037
2067
  #
@@ -2120,15 +2150,15 @@ module Aws::KMS
2120
2150
  # CloudHSM cluster that is associated with the custom key store, or
2121
2151
  # affect any users or keys in the cluster.
2122
2152
  #
2123
- # The custom key store that you delete cannot contain any KMS [KMS
2124
- # keys][2]. Before deleting the key store, verify that you will never
2125
- # need to use any of the KMS keys in the key store for any
2126
- # [cryptographic operations][3]. Then, use ScheduleKeyDeletion to delete
2127
- # the KMS keys from the key store. When the scheduled waiting period
2128
- # expires, the `ScheduleKeyDeletion` operation deletes the KMS keys.
2129
- # Then it makes a best effort to delete the key material from the
2130
- # associated cluster. However, you might need to manually [delete the
2131
- # orphaned key material][4] from the cluster and its backups.
2153
+ # The custom key store that you delete cannot contain any [KMS keys][2].
2154
+ # Before deleting the key store, verify that you will never need to use
2155
+ # any of the KMS keys in the key store for any [cryptographic
2156
+ # operations][3]. Then, use ScheduleKeyDeletion to delete the KMS keys
2157
+ # from the key store. When the scheduled waiting period expires, the
2158
+ # `ScheduleKeyDeletion` operation deletes the KMS keys. Then it makes a
2159
+ # best effort to delete the key material from the associated cluster.
2160
+ # However, you might need to manually [delete the orphaned key
2161
+ # material][4] from the cluster and its backups.
2132
2162
  #
2133
2163
  # After all KMS keys are deleted from KMS, use DisconnectCustomKeyStore
2134
2164
  # to disconnect the key store from KMS. Then, you can delete the custom
@@ -2143,7 +2173,7 @@ module Aws::KMS
2143
2173
  # If the operation succeeds, it returns a JSON object with no
2144
2174
  # properties.
2145
2175
  #
2146
- # This operation is part of the [Custom Key Store feature][1] feature in
2176
+ # This operation is part of the [custom key store feature][1] feature in
2147
2177
  # KMS, which combines the convenience and extensive integration of KMS
2148
2178
  # with the isolation and control of a single-tenant key store.
2149
2179
  #
@@ -2287,7 +2317,7 @@ module Aws::KMS
2287
2317
  # Gets information about [custom key stores][1] in the account and
2288
2318
  # Region.
2289
2319
  #
2290
- # This operation is part of the [Custom Key Store feature][1] feature in
2320
+ # This operation is part of the [custom key store feature][1] feature in
2291
2321
  # KMS, which combines the convenience and extensive integration of KMS
2292
2322
  # with the isolation and control of a single-tenant key store.
2293
2323
  #
@@ -2372,6 +2402,8 @@ module Aws::KMS
2372
2402
  # * {Types::DescribeCustomKeyStoresResponse#next_marker #next_marker} => String
2373
2403
  # * {Types::DescribeCustomKeyStoresResponse#truncated #truncated} => Boolean
2374
2404
  #
2405
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2406
+ #
2375
2407
  #
2376
2408
  # @example Example: To get detailed information about custom key stores in the account and Region
2377
2409
  #
@@ -2427,7 +2459,7 @@ module Aws::KMS
2427
2459
  # resp.custom_key_stores[0].cloud_hsm_cluster_id #=> String
2428
2460
  # resp.custom_key_stores[0].trust_anchor_certificate #=> String
2429
2461
  # resp.custom_key_stores[0].connection_state #=> String, one of "CONNECTED", "CONNECTING", "FAILED", "DISCONNECTED", "DISCONNECTING"
2430
- # resp.custom_key_stores[0].connection_error_code #=> String, one of "INVALID_CREDENTIALS", "CLUSTER_NOT_FOUND", "NETWORK_ERRORS", "INTERNAL_ERROR", "INSUFFICIENT_CLOUDHSM_HSMS", "USER_LOCKED_OUT", "USER_NOT_FOUND", "USER_LOGGED_IN", "SUBNET_NOT_FOUND"
2462
+ # resp.custom_key_stores[0].connection_error_code #=> String, one of "INVALID_CREDENTIALS", "CLUSTER_NOT_FOUND", "NETWORK_ERRORS", "INTERNAL_ERROR", "INSUFFICIENT_CLOUDHSM_HSMS", "USER_LOCKED_OUT", "USER_NOT_FOUND", "USER_LOGGED_IN", "SUBNET_NOT_FOUND", "INSUFFICIENT_FREE_ADDRESSES_IN_SUBNET"
2431
2463
  # resp.custom_key_stores[0].creation_date #=> Time
2432
2464
  # resp.next_marker #=> String
2433
2465
  # resp.truncated #=> Boolean
@@ -2464,7 +2496,7 @@ module Aws::KMS
2464
2496
  # * Whether automatic key rotation is enabled on the KMS key. To get
2465
2497
  # this information, use GetKeyRotationStatus. Also, some key states
2466
2498
  # prevent a KMS key from being automatically rotated. For details, see
2467
- # [How Automatic Key Rotation Works][3] in *Key Management Service
2499
+ # [How Automatic Key Rotation Works][3] in the *Key Management Service
2468
2500
  # Developer Guide*.
2469
2501
  #
2470
2502
  # * Tags on the KMS key. To get this information, use ListResourceTags.
@@ -2724,12 +2756,12 @@ module Aws::KMS
2724
2756
  # resp.key_metadata.cloud_hsm_cluster_id #=> String
2725
2757
  # resp.key_metadata.expiration_model #=> String, one of "KEY_MATERIAL_EXPIRES", "KEY_MATERIAL_DOES_NOT_EXPIRE"
2726
2758
  # resp.key_metadata.key_manager #=> String, one of "AWS", "CUSTOMER"
2727
- # resp.key_metadata.customer_master_key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512"
2728
- # resp.key_metadata.key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512"
2759
+ # resp.key_metadata.customer_master_key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512", "SM2"
2760
+ # resp.key_metadata.key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512", "SM2"
2729
2761
  # resp.key_metadata.encryption_algorithms #=> Array
2730
- # resp.key_metadata.encryption_algorithms[0] #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256"
2762
+ # resp.key_metadata.encryption_algorithms[0] #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
2731
2763
  # resp.key_metadata.signing_algorithms #=> Array
2732
- # resp.key_metadata.signing_algorithms[0] #=> String, one of "RSASSA_PSS_SHA_256", "RSASSA_PSS_SHA_384", "RSASSA_PSS_SHA_512", "RSASSA_PKCS1_V1_5_SHA_256", "RSASSA_PKCS1_V1_5_SHA_384", "RSASSA_PKCS1_V1_5_SHA_512", "ECDSA_SHA_256", "ECDSA_SHA_384", "ECDSA_SHA_512"
2764
+ # resp.key_metadata.signing_algorithms[0] #=> String, one of "RSASSA_PSS_SHA_256", "RSASSA_PSS_SHA_384", "RSASSA_PSS_SHA_512", "RSASSA_PKCS1_V1_5_SHA_256", "RSASSA_PKCS1_V1_5_SHA_384", "RSASSA_PKCS1_V1_5_SHA_512", "ECDSA_SHA_256", "ECDSA_SHA_384", "ECDSA_SHA_512", "SM2DSA"
2733
2765
  # resp.key_metadata.multi_region #=> Boolean
2734
2766
  # resp.key_metadata.multi_region_configuration.multi_region_key_type #=> String, one of "PRIMARY", "REPLICA"
2735
2767
  # resp.key_metadata.multi_region_configuration.primary_key.arn #=> String
@@ -2940,7 +2972,7 @@ module Aws::KMS
2940
2972
  # If the operation succeeds, it returns a JSON object with no
2941
2973
  # properties.
2942
2974
  #
2943
- # This operation is part of the [Custom Key Store feature][1] feature in
2975
+ # This operation is part of the [custom key store feature][1] feature in
2944
2976
  # KMS, which combines the convenience and extensive integration of KMS
2945
2977
  # with the isolation and control of a single-tenant key store.
2946
2978
  #
@@ -3204,7 +3236,7 @@ module Aws::KMS
3204
3236
  #
3205
3237
  # If you specify an asymmetric KMS key, you must also specify the
3206
3238
  # encryption algorithm. The algorithm must be compatible with the KMS
3207
- # key type.
3239
+ # key spec.
3208
3240
  #
3209
3241
  # When you use an asymmetric KMS key to encrypt or reencrypt data, be
3210
3242
  # sure to record the KMS key and encryption algorithm that you choose.
@@ -3246,6 +3278,8 @@ module Aws::KMS
3246
3278
  #
3247
3279
  # * `RSAES_OAEP_SHA_256`\: 446 bytes
3248
3280
  #
3281
+ # * `SM2PKE`\: 1024 bytes (China Regions only)
3282
+ #
3249
3283
  # The KMS key that you use for this operation must be in a compatible
3250
3284
  # key state. For details, see [Key states of KMS keys][2] in the *Key
3251
3285
  # Management Service Developer Guide*.
@@ -3374,14 +3408,14 @@ module Aws::KMS
3374
3408
  # "EncryptionContextKey" => "EncryptionContextValue",
3375
3409
  # },
3376
3410
  # grant_tokens: ["GrantTokenType"],
3377
- # encryption_algorithm: "SYMMETRIC_DEFAULT", # accepts SYMMETRIC_DEFAULT, RSAES_OAEP_SHA_1, RSAES_OAEP_SHA_256
3411
+ # encryption_algorithm: "SYMMETRIC_DEFAULT", # accepts SYMMETRIC_DEFAULT, RSAES_OAEP_SHA_1, RSAES_OAEP_SHA_256, SM2PKE
3378
3412
  # })
3379
3413
  #
3380
3414
  # @example Response structure
3381
3415
  #
3382
3416
  # resp.ciphertext_blob #=> String
3383
3417
  # resp.key_id #=> String
3384
- # resp.encryption_algorithm #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256"
3418
+ # resp.encryption_algorithm #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
3385
3419
  #
3386
3420
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/Encrypt AWS API Documentation
3387
3421
  #
@@ -3403,9 +3437,16 @@ module Aws::KMS
3403
3437
  # To generate a data key, specify the symmetric encryption KMS key that
3404
3438
  # will be used to encrypt the data key. You cannot use an asymmetric KMS
3405
3439
  # key to encrypt data keys. To get the type of your KMS key, use the
3406
- # DescribeKey operation. You must also specify the length of the data
3407
- # key. Use either the `KeySpec` or `NumberOfBytes` parameters (but not
3408
- # both). For 128-bit and 256-bit data keys, use the `KeySpec` parameter.
3440
+ # DescribeKey operation.
3441
+ #
3442
+ # You must also specify the length of the data key. Use either the
3443
+ # `KeySpec` or `NumberOfBytes` parameters (but not both). For 128-bit
3444
+ # and 256-bit data keys, use the `KeySpec` parameter.
3445
+ #
3446
+ # To generate an SM4 data key (China Regions only), specify a `KeySpec`
3447
+ # value of `AES_128` or `NumberOfBytes` value of `128`. The symmetric
3448
+ # encryption key used in China Regions to encrypt your data key is an
3449
+ # SM4 encryption key.
3409
3450
  #
3410
3451
  # To get only an encrypted copy of the data key, use
3411
3452
  # GenerateDataKeyWithoutPlaintext. To generate an asymmetric data key
@@ -3632,10 +3673,11 @@ module Aws::KMS
3632
3673
  # type and origin of your KMS key, use the DescribeKey operation.
3633
3674
  #
3634
3675
  # Use the `KeyPairSpec` parameter to choose an RSA or Elliptic Curve
3635
- # (ECC) data key pair. KMS recommends that your use ECC key pairs for
3636
- # signing, and use RSA key pairs for either encryption or signing, but
3637
- # not both. However, KMS cannot enforce any restrictions on the use of
3638
- # data key pairs outside of KMS.
3676
+ # (ECC) data key pair. In China Regions, you can also choose an SM2 data
3677
+ # key pair. KMS recommends that you use ECC key pairs for signing, and
3678
+ # use RSA and SM2 key pairs for either encryption or signing, but not
3679
+ # both. However, KMS cannot enforce any restrictions on the use of data
3680
+ # key pairs outside of KMS.
3639
3681
  #
3640
3682
  # If you are using the data key pair to encrypt data, or for any
3641
3683
  # operation where you don't immediately need a private key, consider
@@ -3738,10 +3780,12 @@ module Aws::KMS
3738
3780
  # @option params [required, String] :key_pair_spec
3739
3781
  # Determines the type of data key pair that is generated.
3740
3782
  #
3741
- # The KMS rule that restricts the use of asymmetric RSA KMS keys to
3742
- # encrypt and decrypt or to sign and verify (but not both), and the rule
3743
- # that permits you to use ECC KMS keys only to sign and verify, are not
3744
- # effective on data key pairs, which are used outside of KMS.
3783
+ # The KMS rule that restricts the use of asymmetric RSA and SM2 KMS keys
3784
+ # to encrypt and decrypt or to sign and verify (but not both), and the
3785
+ # rule that permits you to use ECC KMS keys only to sign and verify, are
3786
+ # not effective on data key pairs, which are used outside of KMS. The
3787
+ # SM2 key spec is only available in China Regions. RSA and ECC
3788
+ # asymmetric key pairs are also available in China Regions.
3745
3789
  #
3746
3790
  # @option params [Array<String>] :grant_tokens
3747
3791
  # A list of grant tokens.
@@ -3791,7 +3835,7 @@ module Aws::KMS
3791
3835
  # "EncryptionContextKey" => "EncryptionContextValue",
3792
3836
  # },
3793
3837
  # key_id: "KeyIdType", # required
3794
- # key_pair_spec: "RSA_2048", # required, accepts RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521, ECC_SECG_P256K1
3838
+ # key_pair_spec: "RSA_2048", # required, accepts RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521, ECC_SECG_P256K1, SM2
3795
3839
  # grant_tokens: ["GrantTokenType"],
3796
3840
  # })
3797
3841
  #
@@ -3801,7 +3845,7 @@ module Aws::KMS
3801
3845
  # resp.private_key_plaintext #=> String
3802
3846
  # resp.public_key #=> String
3803
3847
  # resp.key_id #=> String
3804
- # resp.key_pair_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1"
3848
+ # resp.key_pair_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SM2"
3805
3849
  #
3806
3850
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPair AWS API Documentation
3807
3851
  #
@@ -3831,10 +3875,11 @@ module Aws::KMS
3831
3875
  # type and origin of your KMS key, use the DescribeKey operation.
3832
3876
  #
3833
3877
  # Use the `KeyPairSpec` parameter to choose an RSA or Elliptic Curve
3834
- # (ECC) data key pair. KMS recommends that your use ECC key pairs for
3835
- # signing, and use RSA key pairs for either encryption or signing, but
3836
- # not both. However, KMS cannot enforce any restrictions on the use of
3837
- # data key pairs outside of KMS.
3878
+ # (ECC) data key pair. In China Regions, you can also choose an SM2 data
3879
+ # key pair. KMS recommends that you use ECC key pairs for signing, and
3880
+ # use RSA and SM2 key pairs for either encryption or signing, but not
3881
+ # both. However, KMS cannot enforce any restrictions on the use of data
3882
+ # key pairs outside of KMS.
3838
3883
  #
3839
3884
  # `GenerateDataKeyPairWithoutPlaintext` returns a unique data key pair
3840
3885
  # for each request. The bytes in the key are not related to the caller
@@ -3927,10 +3972,12 @@ module Aws::KMS
3927
3972
  # @option params [required, String] :key_pair_spec
3928
3973
  # Determines the type of data key pair that is generated.
3929
3974
  #
3930
- # The KMS rule that restricts the use of asymmetric RSA KMS keys to
3931
- # encrypt and decrypt or to sign and verify (but not both), and the rule
3932
- # that permits you to use ECC KMS keys only to sign and verify, are not
3933
- # effective on data key pairs, which are used outside of KMS.
3975
+ # The KMS rule that restricts the use of asymmetric RSA and SM2 KMS keys
3976
+ # to encrypt and decrypt or to sign and verify (but not both), and the
3977
+ # rule that permits you to use ECC KMS keys only to sign and verify, are
3978
+ # not effective on data key pairs, which are used outside of KMS. The
3979
+ # SM2 key spec is only available in China Regions. RSA and ECC
3980
+ # asymmetric key pairs are also available in China Regions.
3934
3981
  #
3935
3982
  # @option params [Array<String>] :grant_tokens
3936
3983
  # A list of grant tokens.
@@ -3978,7 +4025,7 @@ module Aws::KMS
3978
4025
  # "EncryptionContextKey" => "EncryptionContextValue",
3979
4026
  # },
3980
4027
  # key_id: "KeyIdType", # required
3981
- # key_pair_spec: "RSA_2048", # required, accepts RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521, ECC_SECG_P256K1
4028
+ # key_pair_spec: "RSA_2048", # required, accepts RSA_2048, RSA_3072, RSA_4096, ECC_NIST_P256, ECC_NIST_P384, ECC_NIST_P521, ECC_SECG_P256K1, SM2
3982
4029
  # grant_tokens: ["GrantTokenType"],
3983
4030
  # })
3984
4031
  #
@@ -3987,7 +4034,7 @@ module Aws::KMS
3987
4034
  # resp.private_key_ciphertext_blob #=> String
3988
4035
  # resp.public_key #=> String
3989
4036
  # resp.key_id #=> String
3990
- # resp.key_pair_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1"
4037
+ # resp.key_pair_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SM2"
3991
4038
  #
3992
4039
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPairWithoutPlaintext AWS API Documentation
3993
4040
  #
@@ -4315,6 +4362,9 @@ module Aws::KMS
4315
4362
 
4316
4363
  # Returns a random byte string that is cryptographically secure.
4317
4364
  #
4365
+ # You must use the `NumberOfBytes` parameter to specify the length of
4366
+ # the random byte string. There is no default value for string length.
4367
+ #
4318
4368
  # By default, the random byte string is generated in KMS. To generate
4319
4369
  # the byte string in the CloudHSM cluster that is associated with a
4320
4370
  # [custom key store][1], specify the custom key store ID.
@@ -4328,6 +4378,9 @@ module Aws::KMS
4328
4378
  # For more information about entropy and random number generation, see
4329
4379
  # [Key Management Service Cryptographic Details][4].
4330
4380
  #
4381
+ # **Cross-account use**\: Not applicable. `GenerateRandom` does not use
4382
+ # any account-specific resources, such as KMS keys.
4383
+ #
4331
4384
  # **Required permissions**\: [kms:GenerateRandom][5] (IAM policy)
4332
4385
  #
4333
4386
  #
@@ -4339,7 +4392,7 @@ module Aws::KMS
4339
4392
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
4340
4393
  #
4341
4394
  # @option params [Integer] :number_of_bytes
4342
- # The length of the byte string.
4395
+ # The length of the random byte string. This parameter is required.
4343
4396
  #
4344
4397
  # @option params [String] :custom_key_store_id
4345
4398
  # Generates the random byte string in the CloudHSM cluster that is
@@ -4726,8 +4779,12 @@ module Aws::KMS
4726
4779
  # the public key within KMS, you benefit from the authentication,
4727
4780
  # authorization, and logging that are part of every KMS operation. You
4728
4781
  # also reduce of risk of encrypting data that cannot be decrypted. These
4729
- # features are not effective outside of KMS. For details, see [Special
4730
- # Considerations for Downloading Public Keys][2].
4782
+ # features are not effective outside of KMS.
4783
+ #
4784
+ # To verify a signature outside of KMS with an SM2 public key (China
4785
+ # Regions only), you must specify the distinguishing ID. By default, KMS
4786
+ # uses `1234567812345678` as the distinguishing ID. For more
4787
+ # information, see [Offline verification with SM2 key pairs][2].
4731
4788
  #
4732
4789
  # To help you use the public key safely outside of KMS, `GetPublicKey`
4733
4790
  # returns important information about the public key in the response,
@@ -4764,7 +4821,7 @@ module Aws::KMS
4764
4821
  #
4765
4822
  #
4766
4823
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
4767
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/download-public-key.html#download-public-key-considerations
4824
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/asymmetric-key-specs.html#key-spec-sm-offline-verification
4768
4825
  # [3]: https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html#KMS-GetPublicKey-response-KeySpec
4769
4826
  # [4]: https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html#KMS-GetPublicKey-response-KeyUsage
4770
4827
  # [5]: https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html#KMS-GetPublicKey-response-EncryptionAlgorithms
@@ -4851,13 +4908,13 @@ module Aws::KMS
4851
4908
  #
4852
4909
  # resp.key_id #=> String
4853
4910
  # resp.public_key #=> String
4854
- # resp.customer_master_key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512"
4855
- # resp.key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512"
4911
+ # resp.customer_master_key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512", "SM2"
4912
+ # resp.key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512", "SM2"
4856
4913
  # resp.key_usage #=> String, one of "SIGN_VERIFY", "ENCRYPT_DECRYPT", "GENERATE_VERIFY_MAC"
4857
4914
  # resp.encryption_algorithms #=> Array
4858
- # resp.encryption_algorithms[0] #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256"
4915
+ # resp.encryption_algorithms[0] #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
4859
4916
  # resp.signing_algorithms #=> Array
4860
- # resp.signing_algorithms[0] #=> String, one of "RSASSA_PSS_SHA_256", "RSASSA_PSS_SHA_384", "RSASSA_PSS_SHA_512", "RSASSA_PKCS1_V1_5_SHA_256", "RSASSA_PKCS1_V1_5_SHA_384", "RSASSA_PKCS1_V1_5_SHA_512", "ECDSA_SHA_256", "ECDSA_SHA_384", "ECDSA_SHA_512"
4917
+ # resp.signing_algorithms[0] #=> String, one of "RSASSA_PSS_SHA_256", "RSASSA_PSS_SHA_384", "RSASSA_PSS_SHA_512", "RSASSA_PKCS1_V1_5_SHA_256", "RSASSA_PKCS1_V1_5_SHA_384", "RSASSA_PKCS1_V1_5_SHA_512", "ECDSA_SHA_256", "ECDSA_SHA_384", "ECDSA_SHA_512", "SM2DSA"
4861
4918
  #
4862
4919
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GetPublicKey AWS API Documentation
4863
4920
  #
@@ -5654,6 +5711,8 @@ module Aws::KMS
5654
5711
  # * {Types::ListResourceTagsResponse#next_marker #next_marker} => String
5655
5712
  # * {Types::ListResourceTagsResponse#truncated #truncated} => Boolean
5656
5713
  #
5714
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
5715
+ #
5657
5716
  #
5658
5717
  # @example Example: To list tags for a KMS key
5659
5718
  #
@@ -5782,6 +5841,8 @@ module Aws::KMS
5782
5841
  # * {Types::ListGrantsResponse#next_marker #next_marker} => String
5783
5842
  # * {Types::ListGrantsResponse#truncated #truncated} => Boolean
5784
5843
  #
5844
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
5845
+ #
5785
5846
  #
5786
5847
  # @example Example: To list grants that the specified principal can retire
5787
5848
  #
@@ -5910,25 +5971,29 @@ module Aws::KMS
5910
5971
  # visible][2] in the *Amazon Web Services Identity and Access
5911
5972
  # Management User Guide*.
5912
5973
  #
5913
- # A key policy document must conform to the following rules.
5974
+ # A key policy document can include only the following characters:
5914
5975
  #
5915
- # * Up to 32 kilobytes (32768 bytes)
5976
+ # * Printable ASCII characters from the space character (`\u0020`)
5977
+ # through the end of the ASCII character range.
5916
5978
  #
5917
- # * Must be UTF-8 encoded
5979
+ # * Printable characters in the Basic Latin and Latin-1 Supplement
5980
+ # character set (through `\u00FF`).
5918
5981
  #
5919
- # * The only Unicode characters that are permitted in a key policy
5920
- # document are the horizontal tab (U+0009), linefeed (U+000A),
5921
- # carriage return (U+000D), and characters in the range U+0020 to
5922
- # U+00FF.
5982
+ # * The tab (`\u0009`), line feed (`\u000A`), and carriage return
5983
+ # (`\u000D`) special characters
5923
5984
  #
5924
- # * The `Sid` element in a key policy statement can include spaces.
5925
- # (Spaces are prohibited in the `Sid` element of an IAM policy
5926
- # document.)
5985
+ # For information about key policies, see [Key policies in KMS][3] in
5986
+ # the *Key Management Service Developer Guide*. For help writing and
5987
+ # formatting a JSON policy document, see the [IAM JSON Policy
5988
+ # Reference][4] in the <i> <i>Identity and Access Management User
5989
+ # Guide</i> </i>.
5927
5990
  #
5928
5991
  #
5929
5992
  #
5930
5993
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam
5931
5994
  # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
5995
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
5996
+ # [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
5932
5997
  #
5933
5998
  # @option params [Boolean] :bypass_policy_lockout_safety_check
5934
5999
  # A flag to indicate whether to bypass the key policy lockout safety
@@ -6260,8 +6325,8 @@ module Aws::KMS
6260
6325
  # destination_encryption_context: {
6261
6326
  # "EncryptionContextKey" => "EncryptionContextValue",
6262
6327
  # },
6263
- # source_encryption_algorithm: "SYMMETRIC_DEFAULT", # accepts SYMMETRIC_DEFAULT, RSAES_OAEP_SHA_1, RSAES_OAEP_SHA_256
6264
- # destination_encryption_algorithm: "SYMMETRIC_DEFAULT", # accepts SYMMETRIC_DEFAULT, RSAES_OAEP_SHA_1, RSAES_OAEP_SHA_256
6328
+ # source_encryption_algorithm: "SYMMETRIC_DEFAULT", # accepts SYMMETRIC_DEFAULT, RSAES_OAEP_SHA_1, RSAES_OAEP_SHA_256, SM2PKE
6329
+ # destination_encryption_algorithm: "SYMMETRIC_DEFAULT", # accepts SYMMETRIC_DEFAULT, RSAES_OAEP_SHA_1, RSAES_OAEP_SHA_256, SM2PKE
6265
6330
  # grant_tokens: ["GrantTokenType"],
6266
6331
  # })
6267
6332
  #
@@ -6270,8 +6335,8 @@ module Aws::KMS
6270
6335
  # resp.ciphertext_blob #=> String
6271
6336
  # resp.source_key_id #=> String
6272
6337
  # resp.key_id #=> String
6273
- # resp.source_encryption_algorithm #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256"
6274
- # resp.destination_encryption_algorithm #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256"
6338
+ # resp.source_encryption_algorithm #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
6339
+ # resp.destination_encryption_algorithm #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
6275
6340
  #
6276
6341
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ReEncrypt AWS API Documentation
6277
6342
  #
@@ -6466,26 +6531,30 @@ module Aws::KMS
6466
6531
  # visible][3] in the <i> <i>Identity and Access Management User
6467
6532
  # Guide</i> </i>.
6468
6533
  #
6469
- # A key policy document must conform to the following rules.
6534
+ # A key policy document can include only the following characters:
6470
6535
  #
6471
- # * Up to 32 kilobytes (32768 bytes)
6536
+ # * Printable ASCII characters from the space character (`\u0020`)
6537
+ # through the end of the ASCII character range.
6472
6538
  #
6473
- # * Must be UTF-8 encoded
6539
+ # * Printable characters in the Basic Latin and Latin-1 Supplement
6540
+ # character set (through `\u00FF`).
6474
6541
  #
6475
- # * The only Unicode characters that are permitted in a key policy
6476
- # document are the horizontal tab (U+0009), linefeed (U+000A),
6477
- # carriage return (U+000D), and characters in the range U+0020 to
6478
- # U+00FF.
6542
+ # * The tab (`\u0009`), line feed (`\u000A`), and carriage return
6543
+ # (`\u000D`) special characters
6479
6544
  #
6480
- # * The `Sid` element in a key policy statement can include spaces.
6481
- # (Spaces are prohibited in the `Sid` element of an IAM policy
6482
- # document.)
6545
+ # For information about key policies, see [Key policies in KMS][4] in
6546
+ # the *Key Management Service Developer Guide*. For help writing and
6547
+ # formatting a JSON policy document, see the [IAM JSON Policy
6548
+ # Reference][5] in the <i> <i>Identity and Access Management User
6549
+ # Guide</i> </i>.
6483
6550
  #
6484
6551
  #
6485
6552
  #
6486
6553
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default
6487
6554
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam
6488
6555
  # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
6556
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
6557
+ # [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
6489
6558
  #
6490
6559
  # @option params [Boolean] :bypass_policy_lockout_safety_check
6491
6560
  # A flag to indicate whether to bypass the key policy lockout safety
@@ -6637,12 +6706,12 @@ module Aws::KMS
6637
6706
  # resp.replica_key_metadata.cloud_hsm_cluster_id #=> String
6638
6707
  # resp.replica_key_metadata.expiration_model #=> String, one of "KEY_MATERIAL_EXPIRES", "KEY_MATERIAL_DOES_NOT_EXPIRE"
6639
6708
  # resp.replica_key_metadata.key_manager #=> String, one of "AWS", "CUSTOMER"
6640
- # resp.replica_key_metadata.customer_master_key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512"
6641
- # resp.replica_key_metadata.key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512"
6709
+ # resp.replica_key_metadata.customer_master_key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512", "SM2"
6710
+ # resp.replica_key_metadata.key_spec #=> String, one of "RSA_2048", "RSA_3072", "RSA_4096", "ECC_NIST_P256", "ECC_NIST_P384", "ECC_NIST_P521", "ECC_SECG_P256K1", "SYMMETRIC_DEFAULT", "HMAC_224", "HMAC_256", "HMAC_384", "HMAC_512", "SM2"
6642
6711
  # resp.replica_key_metadata.encryption_algorithms #=> Array
6643
- # resp.replica_key_metadata.encryption_algorithms[0] #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256"
6712
+ # resp.replica_key_metadata.encryption_algorithms[0] #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
6644
6713
  # resp.replica_key_metadata.signing_algorithms #=> Array
6645
- # resp.replica_key_metadata.signing_algorithms[0] #=> String, one of "RSASSA_PSS_SHA_256", "RSASSA_PSS_SHA_384", "RSASSA_PSS_SHA_512", "RSASSA_PKCS1_V1_5_SHA_256", "RSASSA_PKCS1_V1_5_SHA_384", "RSASSA_PKCS1_V1_5_SHA_512", "ECDSA_SHA_256", "ECDSA_SHA_384", "ECDSA_SHA_512"
6714
+ # resp.replica_key_metadata.signing_algorithms[0] #=> String, one of "RSASSA_PSS_SHA_256", "RSASSA_PSS_SHA_384", "RSASSA_PSS_SHA_512", "RSASSA_PKCS1_V1_5_SHA_256", "RSASSA_PKCS1_V1_5_SHA_384", "RSASSA_PKCS1_V1_5_SHA_512", "ECDSA_SHA_256", "ECDSA_SHA_384", "ECDSA_SHA_512", "SM2DSA"
6646
6715
  # resp.replica_key_metadata.multi_region #=> Boolean
6647
6716
  # resp.replica_key_metadata.multi_region_configuration.multi_region_key_type #=> String, one of "PRIMARY", "REPLICA"
6648
6717
  # resp.replica_key_metadata.multi_region_configuration.primary_key.arn #=> String
@@ -7144,14 +7213,14 @@ module Aws::KMS
7144
7213
  # message: "data", # required
7145
7214
  # message_type: "RAW", # accepts RAW, DIGEST
7146
7215
  # grant_tokens: ["GrantTokenType"],
7147
- # signing_algorithm: "RSASSA_PSS_SHA_256", # required, accepts RSASSA_PSS_SHA_256, RSASSA_PSS_SHA_384, RSASSA_PSS_SHA_512, RSASSA_PKCS1_V1_5_SHA_256, RSASSA_PKCS1_V1_5_SHA_384, RSASSA_PKCS1_V1_5_SHA_512, ECDSA_SHA_256, ECDSA_SHA_384, ECDSA_SHA_512
7216
+ # signing_algorithm: "RSASSA_PSS_SHA_256", # required, accepts RSASSA_PSS_SHA_256, RSASSA_PSS_SHA_384, RSASSA_PSS_SHA_512, RSASSA_PKCS1_V1_5_SHA_256, RSASSA_PKCS1_V1_5_SHA_384, RSASSA_PKCS1_V1_5_SHA_512, ECDSA_SHA_256, ECDSA_SHA_384, ECDSA_SHA_512, SM2DSA
7148
7217
  # })
7149
7218
  #
7150
7219
  # @example Response structure
7151
7220
  #
7152
7221
  # resp.key_id #=> String
7153
7222
  # resp.signature #=> String
7154
- # resp.signing_algorithm #=> String, one of "RSASSA_PSS_SHA_256", "RSASSA_PSS_SHA_384", "RSASSA_PSS_SHA_512", "RSASSA_PKCS1_V1_5_SHA_256", "RSASSA_PKCS1_V1_5_SHA_384", "RSASSA_PKCS1_V1_5_SHA_512", "ECDSA_SHA_256", "ECDSA_SHA_384", "ECDSA_SHA_512"
7223
+ # resp.signing_algorithm #=> String, one of "RSASSA_PSS_SHA_256", "RSASSA_PSS_SHA_384", "RSASSA_PSS_SHA_512", "RSASSA_PKCS1_V1_5_SHA_256", "RSASSA_PKCS1_V1_5_SHA_384", "RSASSA_PKCS1_V1_5_SHA_512", "ECDSA_SHA_256", "ECDSA_SHA_384", "ECDSA_SHA_512", "SM2DSA"
7155
7224
  #
7156
7225
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/Sign AWS API Documentation
7157
7226
  #
@@ -7442,7 +7511,7 @@ module Aws::KMS
7442
7511
  # @option params [required, String] :alias_name
7443
7512
  # Identifies the alias that is changing its KMS key. This value must
7444
7513
  # begin with `alias/` followed by the alias name, such as
7445
- # `alias/ExampleAlias`. You cannot use UpdateAlias to change the alias
7514
+ # `alias/ExampleAlias`. You cannot use `UpdateAlias` to change the alias
7446
7515
  # name.
7447
7516
  #
7448
7517
  # @option params [required, String] :target_key_id
@@ -7541,7 +7610,7 @@ module Aws::KMS
7541
7610
  # If the operation succeeds, it returns a JSON object with no
7542
7611
  # properties.
7543
7612
  #
7544
- # This operation is part of the [Custom Key Store feature][3] feature in
7613
+ # This operation is part of the [custom key store feature][3] feature in
7545
7614
  # KMS, which combines the convenience and extensive integration of KMS
7546
7615
  # with the isolation and control of a single-tenant key store.
7547
7616
  #
@@ -7888,7 +7957,11 @@ module Aws::KMS
7888
7957
  # You can also verify the digital signature by using the public key of
7889
7958
  # the KMS key outside of KMS. Use the GetPublicKey operation to download
7890
7959
  # the public key in the asymmetric KMS key and then use the public key
7891
- # to verify the signature outside of KMS. The advantage of using the
7960
+ # to verify the signature outside of KMS. To verify a signature outside
7961
+ # of KMS with an SM2 public key, you must specify the distinguishing ID.
7962
+ # By default, KMS uses `1234567812345678` as the distinguishing ID. For
7963
+ # more information, see [Offline verification with SM2 key pairs][2] in
7964
+ # *Key Management Service Developer Guide*. The advantage of using the
7892
7965
  # `Verify` operation is that it is performed within KMS. As a result,
7893
7966
  # it's easy to call, the operation is performed within the FIPS
7894
7967
  # boundary, it is logged in CloudTrail, and you can use key policy and
@@ -7896,22 +7969,23 @@ module Aws::KMS
7896
7969
  # signatures.
7897
7970
  #
7898
7971
  # The KMS key that you use for this operation must be in a compatible
7899
- # key state. For details, see [Key states of KMS keys][2] in the *Key
7972
+ # key state. For details, see [Key states of KMS keys][3] in the *Key
7900
7973
  # Management Service Developer Guide*.
7901
7974
  #
7902
7975
  # **Cross-account use**\: Yes. To perform this operation with a KMS key
7903
7976
  # in a different Amazon Web Services account, specify the key ARN or
7904
7977
  # alias ARN in the value of the `KeyId` parameter.
7905
7978
  #
7906
- # **Required permissions**\: [kms:Verify][3] (key policy)
7979
+ # **Required permissions**\: [kms:Verify][4] (key policy)
7907
7980
  #
7908
7981
  # **Related operations**\: Sign
7909
7982
  #
7910
7983
  #
7911
7984
  #
7912
7985
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
7913
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
7914
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
7986
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/asymmetric-key-specs.html#key-spec-sm-offline-verification
7987
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
7988
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
7915
7989
  #
7916
7990
  # @option params [required, String] :key_id
7917
7991
  # Identifies the asymmetric KMS key that will be used to verify the
@@ -8010,7 +8084,7 @@ module Aws::KMS
8010
8084
  # message: "data", # required
8011
8085
  # message_type: "RAW", # accepts RAW, DIGEST
8012
8086
  # signature: "data", # required
8013
- # signing_algorithm: "RSASSA_PSS_SHA_256", # required, accepts RSASSA_PSS_SHA_256, RSASSA_PSS_SHA_384, RSASSA_PSS_SHA_512, RSASSA_PKCS1_V1_5_SHA_256, RSASSA_PKCS1_V1_5_SHA_384, RSASSA_PKCS1_V1_5_SHA_512, ECDSA_SHA_256, ECDSA_SHA_384, ECDSA_SHA_512
8087
+ # signing_algorithm: "RSASSA_PSS_SHA_256", # required, accepts RSASSA_PSS_SHA_256, RSASSA_PSS_SHA_384, RSASSA_PSS_SHA_512, RSASSA_PKCS1_V1_5_SHA_256, RSASSA_PKCS1_V1_5_SHA_384, RSASSA_PKCS1_V1_5_SHA_512, ECDSA_SHA_256, ECDSA_SHA_384, ECDSA_SHA_512, SM2DSA
8014
8088
  # grant_tokens: ["GrantTokenType"],
8015
8089
  # })
8016
8090
  #
@@ -8018,7 +8092,7 @@ module Aws::KMS
8018
8092
  #
8019
8093
  # resp.key_id #=> String
8020
8094
  # resp.signature_valid #=> Boolean
8021
- # resp.signing_algorithm #=> String, one of "RSASSA_PSS_SHA_256", "RSASSA_PSS_SHA_384", "RSASSA_PSS_SHA_512", "RSASSA_PKCS1_V1_5_SHA_256", "RSASSA_PKCS1_V1_5_SHA_384", "RSASSA_PKCS1_V1_5_SHA_512", "ECDSA_SHA_256", "ECDSA_SHA_384", "ECDSA_SHA_512"
8095
+ # resp.signing_algorithm #=> String, one of "RSASSA_PSS_SHA_256", "RSASSA_PSS_SHA_384", "RSASSA_PSS_SHA_512", "RSASSA_PKCS1_V1_5_SHA_256", "RSASSA_PKCS1_V1_5_SHA_384", "RSASSA_PKCS1_V1_5_SHA_512", "ECDSA_SHA_256", "ECDSA_SHA_384", "ECDSA_SHA_512", "SM2DSA"
8022
8096
  #
8023
8097
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/Verify AWS API Documentation
8024
8098
  #
@@ -8164,7 +8238,7 @@ module Aws::KMS
8164
8238
  params: params,
8165
8239
  config: config)
8166
8240
  context[:gem_name] = 'aws-sdk-kms'
8167
- context[:gem_version] = '1.57.0'
8241
+ context[:gem_version] = '1.59.0'
8168
8242
  Seahorse::Client::Request.new(handlers, context)
8169
8243
  end
8170
8244