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.
@@ -7,35 +7,34 @@
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
10
- require 'seahorse/client/plugins/content_length.rb'
11
- require 'aws-sdk-core/plugins/credentials_configuration.rb'
12
- require 'aws-sdk-core/plugins/logging.rb'
13
- require 'aws-sdk-core/plugins/param_converter.rb'
14
- require 'aws-sdk-core/plugins/param_validator.rb'
15
- require 'aws-sdk-core/plugins/user_agent.rb'
16
- require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
17
- require 'aws-sdk-core/plugins/retry_errors.rb'
18
- require 'aws-sdk-core/plugins/global_configuration.rb'
19
- require 'aws-sdk-core/plugins/regional_endpoint.rb'
20
- require 'aws-sdk-core/plugins/endpoint_discovery.rb'
21
- require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
- require 'aws-sdk-core/plugins/response_paging.rb'
23
- require 'aws-sdk-core/plugins/stub_responses.rb'
24
- require 'aws-sdk-core/plugins/idempotency_token.rb'
25
- require 'aws-sdk-core/plugins/invocation_id.rb'
26
- require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
27
- require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
28
- require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
29
- require 'aws-sdk-core/plugins/transfer_encoding.rb'
30
- require 'aws-sdk-core/plugins/http_checksum.rb'
31
- require 'aws-sdk-core/plugins/checksum_algorithm.rb'
32
- require 'aws-sdk-core/plugins/request_compression.rb'
33
- require 'aws-sdk-core/plugins/defaults_mode.rb'
34
- require 'aws-sdk-core/plugins/recursion_detection.rb'
35
- require 'aws-sdk-core/plugins/sign.rb'
36
- require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
37
-
38
- Aws::Plugins::GlobalConfiguration.add_identifier(:kms)
10
+ require 'seahorse/client/plugins/content_length'
11
+ require 'aws-sdk-core/plugins/credentials_configuration'
12
+ require 'aws-sdk-core/plugins/logging'
13
+ require 'aws-sdk-core/plugins/param_converter'
14
+ require 'aws-sdk-core/plugins/param_validator'
15
+ require 'aws-sdk-core/plugins/user_agent'
16
+ require 'aws-sdk-core/plugins/helpful_socket_errors'
17
+ require 'aws-sdk-core/plugins/retry_errors'
18
+ require 'aws-sdk-core/plugins/global_configuration'
19
+ require 'aws-sdk-core/plugins/regional_endpoint'
20
+ require 'aws-sdk-core/plugins/endpoint_discovery'
21
+ require 'aws-sdk-core/plugins/endpoint_pattern'
22
+ require 'aws-sdk-core/plugins/response_paging'
23
+ require 'aws-sdk-core/plugins/stub_responses'
24
+ require 'aws-sdk-core/plugins/idempotency_token'
25
+ require 'aws-sdk-core/plugins/invocation_id'
26
+ require 'aws-sdk-core/plugins/jsonvalue_converter'
27
+ require 'aws-sdk-core/plugins/client_metrics_plugin'
28
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin'
29
+ require 'aws-sdk-core/plugins/transfer_encoding'
30
+ require 'aws-sdk-core/plugins/http_checksum'
31
+ require 'aws-sdk-core/plugins/checksum_algorithm'
32
+ require 'aws-sdk-core/plugins/request_compression'
33
+ require 'aws-sdk-core/plugins/defaults_mode'
34
+ require 'aws-sdk-core/plugins/recursion_detection'
35
+ require 'aws-sdk-core/plugins/telemetry'
36
+ require 'aws-sdk-core/plugins/sign'
37
+ require 'aws-sdk-core/plugins/protocols/json_rpc'
39
38
 
40
39
  module Aws::KMS
41
40
  # An API client for KMS. To construct a client, you need to configure a `:region` and `:credentials`.
@@ -83,6 +82,7 @@ module Aws::KMS
83
82
  add_plugin(Aws::Plugins::RequestCompression)
84
83
  add_plugin(Aws::Plugins::DefaultsMode)
85
84
  add_plugin(Aws::Plugins::RecursionDetection)
85
+ add_plugin(Aws::Plugins::Telemetry)
86
86
  add_plugin(Aws::Plugins::Sign)
87
87
  add_plugin(Aws::Plugins::Protocols::JsonRpc)
88
88
  add_plugin(Aws::KMS::Plugins::Endpoints)
@@ -128,13 +128,15 @@ module Aws::KMS
128
128
  # locations will be searched for credentials:
129
129
  #
130
130
  # * `Aws.config[:credentials]`
131
- # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
132
- # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
131
+ # * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
132
+ # `:account_id` options.
133
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'],
134
+ # ENV['AWS_SESSION_TOKEN'], and ENV['AWS_ACCOUNT_ID']
133
135
  # * `~/.aws/credentials`
134
136
  # * `~/.aws/config`
135
137
  # * EC2/ECS IMDS instance profile - When used by default, the timeouts
136
138
  # are very aggressive. Construct and pass an instance of
137
- # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
139
+ # `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
138
140
  # enable retries and extended timeouts. Instance profile credential
139
141
  # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
140
142
  # to true.
@@ -153,6 +155,8 @@ module Aws::KMS
153
155
  #
154
156
  # @option options [String] :access_key_id
155
157
  #
158
+ # @option options [String] :account_id
159
+ #
156
160
  # @option options [Boolean] :active_endpoint_cache (false)
157
161
  # When set to `true`, a thread polling for endpoints will be running in
158
162
  # the background every 60 secs (default). Defaults to `false`.
@@ -196,8 +200,7 @@ module Aws::KMS
196
200
  # accepted modes and the configuration defaults that are included.
197
201
  #
198
202
  # @option options [Boolean] :disable_host_prefix_injection (false)
199
- # Set to true to disable SDK automatically adding host prefix
200
- # to default service endpoint when available.
203
+ # When `true`, the SDK will not prepend the modeled host prefix to the endpoint.
201
204
  #
202
205
  # @option options [Boolean] :disable_request_compression (false)
203
206
  # When set to 'true' the request body will not be compressed
@@ -253,11 +256,34 @@ module Aws::KMS
253
256
  # Used when loading credentials from the shared credentials file
254
257
  # at HOME/.aws/credentials. When not specified, 'default' is used.
255
258
  #
259
+ # @option options [String] :request_checksum_calculation ("when_supported")
260
+ # Determines when a checksum will be calculated for request payloads. Values are:
261
+ #
262
+ # * `when_supported` - (default) When set, a checksum will be
263
+ # calculated for all request payloads of operations modeled with the
264
+ # `httpChecksum` trait where `requestChecksumRequired` is `true` and/or a
265
+ # `requestAlgorithmMember` is modeled.
266
+ # * `when_required` - When set, a checksum will only be calculated for
267
+ # request payloads of operations modeled with the `httpChecksum` trait where
268
+ # `requestChecksumRequired` is `true` or where a `requestAlgorithmMember`
269
+ # is modeled and supplied.
270
+ #
256
271
  # @option options [Integer] :request_min_compression_size_bytes (10240)
257
272
  # The minimum size in bytes that triggers compression for request
258
273
  # bodies. The value must be non-negative integer value between 0
259
274
  # and 10485780 bytes inclusive.
260
275
  #
276
+ # @option options [String] :response_checksum_validation ("when_supported")
277
+ # Determines when checksum validation will be performed on response payloads. Values are:
278
+ #
279
+ # * `when_supported` - (default) When set, checksum validation is performed on all
280
+ # response payloads of operations modeled with the `httpChecksum` trait where
281
+ # `responseAlgorithms` is modeled, except when no modeled checksum algorithms
282
+ # are supported.
283
+ # * `when_required` - When set, checksum validation is not performed on
284
+ # response payloads of operations unless the checksum algorithm is supported and
285
+ # the `requestValidationModeMember` member is set to `ENABLED`.
286
+ #
261
287
  # @option options [Proc] :retry_backoff
262
288
  # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
263
289
  # This option is only used in the `legacy` retry mode.
@@ -337,6 +363,16 @@ module Aws::KMS
337
363
  # ** Please note ** When response stubbing is enabled, no HTTP
338
364
  # requests are made, and retries are disabled.
339
365
  #
366
+ # @option options [Aws::Telemetry::TelemetryProviderBase] :telemetry_provider (Aws::Telemetry::NoOpTelemetryProvider)
367
+ # Allows you to provide a telemetry provider, which is used to
368
+ # emit telemetry data. By default, uses `NoOpTelemetryProvider` which
369
+ # will not record or emit any telemetry data. The SDK supports the
370
+ # following telemetry providers:
371
+ #
372
+ # * OpenTelemetry (OTel) - To use the OTel provider, install and require the
373
+ # `opentelemetry-sdk` gem and then, pass in an instance of a
374
+ # `Aws::Telemetry::OTelProvider` for telemetry provider.
375
+ #
340
376
  # @option options [Aws::TokenProvider] :token_provider
341
377
  # A Bearer Token Provider. This can be an instance of any one of the
342
378
  # following classes:
@@ -364,7 +400,9 @@ module Aws::KMS
364
400
  # sending the request.
365
401
  #
366
402
  # @option options [Aws::KMS::EndpointProvider] :endpoint_provider
367
- # 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`
403
+ # The endpoint provider used to resolve endpoints. Any object that responds to
404
+ # `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to
405
+ # `Aws::KMS::EndpointParameters`.
368
406
  #
369
407
  # @option options [Float] :http_continue_timeout (1)
370
408
  # The number of seconds to wait for a 100-continue response before sending the
@@ -420,6 +458,12 @@ module Aws::KMS
420
458
  # @option options [String] :ssl_ca_store
421
459
  # Sets the X509::Store to verify peer certificate.
422
460
  #
461
+ # @option options [OpenSSL::X509::Certificate] :ssl_cert
462
+ # Sets a client certificate when creating http connections.
463
+ #
464
+ # @option options [OpenSSL::PKey] :ssl_key
465
+ # Sets a client key when creating http connections.
466
+ #
423
467
  # @option options [Float] :ssl_timeout
424
468
  # Sets the SSL timeout in seconds
425
469
  #
@@ -459,7 +503,7 @@ module Aws::KMS
459
503
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html
460
504
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
461
505
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
462
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
506
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
463
507
  #
464
508
  # @option params [required, String] :key_id
465
509
  # Identifies the KMS key whose deletion is being canceled.
@@ -531,9 +575,9 @@ module Aws::KMS
531
575
  # custom key store is connected. To get the connection state of the
532
576
  # custom key store, use the DescribeCustomKeyStores operation.
533
577
  #
534
- # This operation is part of the [custom key stores][1] feature in KMS,
535
- # which combines the convenience and extensive integration of KMS with
536
- # the isolation and control of a key store that you own and manage.
578
+ # This operation is part of the custom key stores feature in KMS, which
579
+ # combines the convenience and extensive integration of KMS with the
580
+ # isolation and control of a key store that you own and manage.
537
581
  #
538
582
  # The `ConnectCustomKeyStore` operation might fail for various reasons.
539
583
  # To find the reason, use the DescribeCustomKeyStores operation and see
@@ -607,14 +651,14 @@ module Aws::KMS
607
651
  #
608
652
  #
609
653
  #
610
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
654
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
611
655
  # [2]: https://docs.aws.amazon.com/cloudhsm/latest/APIReference/API_DescribeClusters.html
612
656
  # [3]: https://docs.aws.amazon.com/cloudhsm/latest/APIReference/API_CreateHsm.html
613
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-concepts.html#concept-kmsuser
657
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-cloudhsm.html#concept-kmsuser
614
658
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html
615
659
  # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/xks-troubleshooting.html
616
660
  # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
617
- # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
661
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
618
662
  #
619
663
  # @option params [required, String] :custom_key_store_id
620
664
  # Enter the key store ID of the custom key store that you want to
@@ -676,7 +720,7 @@ module Aws::KMS
676
720
  #
677
721
  # The alias must be unique in the account and Region, but you can have
678
722
  # aliases with the same name in different Regions. For detailed
679
- # information about aliases, see [Using aliases][3] in the *Key
723
+ # information about aliases, see [Aliases in KMS][3] in the *Key
680
724
  # Management Service Developer Guide*.
681
725
  #
682
726
  # This operation does not return a response. To get the alias that you
@@ -712,12 +756,12 @@ module Aws::KMS
712
756
  #
713
757
  #
714
758
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/abac.html
715
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
759
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
716
760
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html
717
761
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
718
762
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
719
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html#alias-access
720
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
763
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/alias-access.html
764
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
721
765
  #
722
766
  # @option params [required, String] :alias_name
723
767
  # Specifies the alias name. This value must begin with `alias/` followed
@@ -744,7 +788,7 @@ module Aws::KMS
744
788
  # A valid key ID is required. If you supply a null or empty string
745
789
  # value, this operation returns an error.
746
790
  #
747
- # For help finding the key ID and ARN, see [Finding the Key ID and
791
+ # For help finding the key ID and ARN, see [Find the key ID and key
748
792
  # ARN][2] in the <i> <i>Key Management Service Developer Guide</i> </i>.
749
793
  #
750
794
  # Specify the key ID or key ARN of the KMS key.
@@ -762,7 +806,7 @@ module Aws::KMS
762
806
  #
763
807
  #
764
808
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
765
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/viewing-keys.html#find-cmk-id-arn
809
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/find-cmk-id-arn.html
766
810
  #
767
811
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
768
812
  #
@@ -800,9 +844,9 @@ module Aws::KMS
800
844
  # stores][4] backed by an external key store proxy and external key
801
845
  # manager outside of Amazon Web Services.
802
846
  #
803
- # This operation is part of the [custom key stores][1] feature in KMS,
804
- # which combines the convenience and extensive integration of KMS with
805
- # the isolation and control of a key store that you own and manage.
847
+ # This operation is part of the custom key stores feature in KMS, which
848
+ # combines the convenience and extensive integration of KMS with the
849
+ # isolation and control of a key store that you own and manage.
806
850
  #
807
851
  # Before you create the custom key store, the required elements must be
808
852
  # in place and operational. We recommend that you use the test tools
@@ -855,9 +899,6 @@ module Aws::KMS
855
899
  # immediately, you might want to connect it to verify that all settings
856
900
  # are correct and then disconnect it until you are ready to use it.
857
901
  #
858
- # For help with failures, see [Troubleshooting a custom key store][7] in
859
- # the *Key Management Service Developer Guide*.
860
- #
861
902
  # **Cross-account use**: No. You cannot perform this operation on a
862
903
  # custom key store in a different Amazon Web Services account.
863
904
  #
@@ -880,7 +921,7 @@ module Aws::KMS
880
921
  #
881
922
  #
882
923
  #
883
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
924
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
884
925
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-cloudhsm.html
885
926
  # [3]: https://docs.aws.amazon.com/cloudhsm/latest/userguide/clusters.html
886
927
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html
@@ -889,7 +930,7 @@ module Aws::KMS
889
930
  # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html
890
931
  # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/xks-troubleshooting.html
891
932
  # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
892
- # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
933
+ # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
893
934
  #
894
935
  # @option params [required, String] :custom_key_store_name
895
936
  # Specifies a friendly name for the custom key store. The name must be
@@ -943,7 +984,7 @@ module Aws::KMS
943
984
  #
944
985
  #
945
986
  #
946
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-concepts.html#concept-kmsuser
987
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-cloudhsm.html#concept-kmsuser
947
988
  #
948
989
  # @option params [String] :custom_key_store_type
949
990
  # Specifies the type of custom key store. The default value is
@@ -1044,7 +1085,7 @@ module Aws::KMS
1044
1085
  # `RawSecretAccessKey`, a secret key, and `AccessKeyId`, a unique
1045
1086
  # identifier for the `RawSecretAccessKey`. For character requirements,
1046
1087
  # see
1047
- # [XksProxyAuthenticationCredentialType](kms/latest/APIReference/API_XksProxyAuthenticationCredentialType.html).
1088
+ # [XksProxyAuthenticationCredentialType](API_XksProxyAuthenticationCredentialType.html).
1048
1089
  #
1049
1090
  # KMS uses this authentication credential to sign requests to the
1050
1091
  # external key store proxy on your behalf. This credential is unrelated
@@ -1084,7 +1125,7 @@ module Aws::KMS
1084
1125
  #
1085
1126
  #
1086
1127
  #
1087
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/plan-xks-keystore.html#choose-xks-connectivity
1128
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/choose-xks-connectivity.html
1088
1129
  #
1089
1130
  # @return [Types::CreateCustomKeyStoreResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1090
1131
  #
@@ -1193,8 +1234,9 @@ module Aws::KMS
1193
1234
  #
1194
1235
  # For detailed information about grants, including grant terminology,
1195
1236
  # see [Grants in KMS][1] in the <i> <i>Key Management Service Developer
1196
- # Guide</i> </i>. For examples of working with grants in several
1197
- # programming languages, see [Programming grants][2].
1237
+ # Guide</i> </i>. For examples of creating grants in several programming
1238
+ # languages, see [Use CreateGrant with an Amazon Web Services SDK or
1239
+ # CLI][2].
1198
1240
  #
1199
1241
  # The `CreateGrant` operation returns a `GrantToken` and a `GrantId`.
1200
1242
  #
@@ -1240,11 +1282,11 @@ module Aws::KMS
1240
1282
  #
1241
1283
  #
1242
1284
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html
1243
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-grants.html
1244
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
1285
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/example_kms_CreateGrant_section.html
1286
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
1245
1287
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
1246
1288
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
1247
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
1289
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
1248
1290
  #
1249
1291
  # @option params [required, String] :key_id
1250
1292
  # Identifies the KMS key for the grant. The grant gives principals
@@ -1297,7 +1339,7 @@ module Aws::KMS
1297
1339
  #
1298
1340
  # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
1299
1341
  # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns
1300
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#grant-delete
1342
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-delete.html
1301
1343
  #
1302
1344
  # @option params [required, Array<String>] :operations
1303
1345
  # A list of operations that the grant permits.
@@ -1366,7 +1408,7 @@ module Aws::KMS
1366
1408
  #
1367
1409
  #
1368
1410
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
1369
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
1411
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
1370
1412
  #
1371
1413
  # @option params [String] :name
1372
1414
  # A friendly name for the grant. Use this value to prevent the
@@ -1392,12 +1434,12 @@ module Aws::KMS
1392
1434
  # Checks if your request will succeed. `DryRun` is an optional
1393
1435
  # parameter.
1394
1436
  #
1395
- # To learn more about how to use this parameter, see [Testing your KMS
1396
- # API calls][1] in the *Key Management Service Developer Guide*.
1437
+ # To learn more about how to use this parameter, see [Testing your
1438
+ # permissions][1] in the *Key Management Service Developer Guide*.
1397
1439
  #
1398
1440
  #
1399
1441
  #
1400
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
1442
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
1401
1443
  #
1402
1444
  # @return [Types::CreateGrantResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1403
1445
  #
@@ -1467,8 +1509,7 @@ module Aws::KMS
1467
1509
  # A KMS key is a logical representation of a cryptographic key. In
1468
1510
  # addition to the key material used in cryptographic operations, a KMS
1469
1511
  # key includes metadata, such as the key ID, key policy, creation date,
1470
- # description, and key state. For details, see [Managing keys][2] in the
1471
- # *Key Management Service Developer Guide*
1512
+ # description, and key state.
1472
1513
  #
1473
1514
  # Use the parameters of `CreateKey` to specify the type of KMS key, the
1474
1515
  # source of its key material, its key policy, description, tags, and
@@ -1514,20 +1555,21 @@ module Aws::KMS
1514
1555
  # properties after the KMS key is created.
1515
1556
  #
1516
1557
  # Asymmetric KMS keys contain an RSA key pair, Elliptic Curve (ECC)
1517
- # key pair, or an SM2 key pair (China Regions only). The private key
1518
- # in an asymmetric KMS key never leaves KMS unencrypted. However, you
1519
- # can use the GetPublicKey operation to download the public key so it
1520
- # can be used outside of KMS. Each KMS key can have only one key
1521
- # usage. KMS keys with RSA key pairs can be used to encrypt and
1522
- # decrypt data or sign and verify messages (but not both). KMS keys
1523
- # with NIST-recommended ECC key pairs can be used to sign and verify
1524
- # messages or derive shared secrets (but not both). KMS keys with
1525
- # `ECC_SECG_P256K1` can be used only to sign and verify messages. KMS
1526
- # keys with SM2 key pairs (China Regions only) can be used to either
1527
- # encrypt and decrypt data, sign and verify messages, or derive shared
1528
- # secrets (you must choose one key usage type). For information about
1529
- # asymmetric KMS keys, see [Asymmetric KMS keys][3] in the *Key
1530
- # Management Service Developer Guide*.
1558
+ # key pair, ML-DSA key pair or an SM2 key pair (China Regions only).
1559
+ # The private key in an asymmetric KMS key never leaves KMS
1560
+ # unencrypted. However, you can use the GetPublicKey operation to
1561
+ # download the public key so it can be used outside of KMS. Each KMS
1562
+ # key can have only one key usage. KMS keys with RSA key pairs can be
1563
+ # used to encrypt and decrypt data or sign and verify messages (but
1564
+ # not both). KMS keys with NIST-recommended ECC key pairs can be used
1565
+ # to sign and verify messages or derive shared secrets (but not both).
1566
+ # KMS keys with `ECC_SECG_P256K1` can be used only to sign and verify
1567
+ # messages. KMS keys with ML-DSA key pairs can be used to sign and
1568
+ # verify messages. KMS keys with SM2 key pairs (China Regions only)
1569
+ # can be used to either encrypt and decrypt data, sign and verify
1570
+ # messages, or derive shared secrets (you must choose one key usage
1571
+ # type). For information about asymmetric KMS keys, see [Asymmetric
1572
+ # KMS keys][2] in the *Key Management Service Developer Guide*.
1531
1573
  #
1532
1574
  #
1533
1575
  #
@@ -1570,7 +1612,7 @@ module Aws::KMS
1570
1612
  # to encrypt data in one Amazon Web Services Region and decrypt it in
1571
1613
  # a different Amazon Web Services Region without re-encrypting the
1572
1614
  # data or making a cross-Region call. For more information about
1573
- # multi-Region keys, see [Multi-Region keys in KMS][4] in the *Key
1615
+ # multi-Region keys, see [Multi-Region keys in KMS][3] in the *Key
1574
1616
  # Management Service Developer Guide*.
1575
1617
  #
1576
1618
  #
@@ -1582,7 +1624,7 @@ module Aws::KMS
1582
1624
  # token. Use the wrapping public key to encrypt your key material.
1583
1625
  # Then, use ImportKeyMaterial with your import token to import the key
1584
1626
  # material. For step-by-step instructions, see [Importing Key
1585
- # Material][5] in the <i> <i>Key Management Service Developer
1627
+ # Material][4] in the <i> <i>Key Management Service Developer
1586
1628
  # Guide</i> </i>.
1587
1629
  #
1588
1630
  # You can import key material into KMS keys of all supported KMS key
@@ -1595,23 +1637,22 @@ module Aws::KMS
1595
1637
  # the `Origin` parameter of `CreateKey` with a value of `EXTERNAL` and
1596
1638
  # the `MultiRegion` parameter with a value of `True`. To create
1597
1639
  # replicas of the multi-Region primary key, use the ReplicateKey
1598
- # operation. For instructions, see [Importing key material into
1599
- # multi-Region keys][6]. For more information about multi-Region keys,
1600
- # see [Multi-Region keys in KMS][4] in the *Key Management Service
1601
- # Developer Guide*.
1640
+ # operation. For instructions, see [Importing key material step 1][5].
1641
+ # For more information about multi-Region keys, see [Multi-Region keys
1642
+ # in KMS][3] in the *Key Management Service Developer Guide*.
1602
1643
  #
1603
1644
  #
1604
1645
  #
1605
1646
  # Custom key store
1606
1647
  #
1607
- # : A [custom key store][7] lets you protect your Amazon Web Services
1648
+ # : A [custom key store][6] lets you protect your Amazon Web Services
1608
1649
  # resources using keys in a backing key store that you own and manage.
1609
1650
  # When you request a cryptographic operation with a KMS key in a
1610
1651
  # custom key store, the operation is performed in the backing key
1611
1652
  # store using its cryptographic keys.
1612
1653
  #
1613
- # KMS supports [CloudHSM key stores][8] backed by an CloudHSM cluster
1614
- # and [external key stores][9] backed by an external key manager
1654
+ # KMS supports [CloudHSM key stores][7] backed by an CloudHSM cluster
1655
+ # and [external key stores][8] backed by an external key manager
1615
1656
  # outside of Amazon Web Services. When you create a KMS key in an
1616
1657
  # CloudHSM key store, KMS generates an encryption key in the CloudHSM
1617
1658
  # cluster and associates it with the KMS key. When you create a KMS
@@ -1636,13 +1677,13 @@ module Aws::KMS
1636
1677
  # `ENCRYPT_DECRYPT` to create a symmetric encryption key. No other key
1637
1678
  # type is supported in a custom key store.
1638
1679
  #
1639
- # To create a KMS key in an [CloudHSM key store][8], use the `Origin`
1680
+ # To create a KMS key in an [CloudHSM key store][9], use the `Origin`
1640
1681
  # parameter with a value of `AWS_CLOUDHSM`. The CloudHSM cluster that
1641
1682
  # is associated with the custom key store must have at least two
1642
1683
  # active HSMs in different Availability Zones in the Amazon Web
1643
1684
  # Services Region.
1644
1685
  #
1645
- # To create a KMS key in an [external key store][9], use the `Origin`
1686
+ # To create a KMS key in an [external key store][10], use the `Origin`
1646
1687
  # parameter with a value of `EXTERNAL_KEY_STORE` and an `XksKeyId`
1647
1688
  # parameter that identifies an existing external key.
1648
1689
  #
@@ -1655,10 +1696,10 @@ module Aws::KMS
1655
1696
  # **Cross-account use**: No. You cannot use this operation to create a
1656
1697
  # KMS key in a different Amazon Web Services account.
1657
1698
  #
1658
- # **Required permissions**: [kms:CreateKey][10] (IAM policy). To use the
1659
- # `Tags` parameter, [kms:TagResource][10] (IAM policy). For examples and
1699
+ # **Required permissions**: [kms:CreateKey][11] (IAM policy). To use the
1700
+ # `Tags` parameter, [kms:TagResource][11] (IAM policy). For examples and
1660
1701
  # information about related permissions, see [Allow a user to create KMS
1661
- # keys][11] in the *Key Management Service Developer Guide*.
1702
+ # keys][12] in the *Key Management Service Developer Guide*.
1662
1703
  #
1663
1704
  # **Related operations:**
1664
1705
  #
@@ -1669,22 +1710,23 @@ module Aws::KMS
1669
1710
  # * ScheduleKeyDeletion
1670
1711
  #
1671
1712
  # **Eventual consistency**: The KMS API follows an eventual consistency
1672
- # model. For more information, see [KMS eventual consistency][12].
1713
+ # model. For more information, see [KMS eventual consistency][13].
1673
1714
  #
1674
1715
  #
1675
1716
  #
1676
1717
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms-keys
1677
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/getting-started.html
1678
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
1679
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
1680
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
1681
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-import.html
1682
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
1683
- # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-cloudhsm.html
1684
- # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html
1685
- # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
1686
- # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies.html#iam-policy-example-create-key
1687
- # [12]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
1718
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
1719
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
1720
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
1721
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-create-cmk.html
1722
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
1723
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-cloudhsm.html
1724
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html
1725
+ # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/create-cmk-keystore.html
1726
+ # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/create-xks-keys.html
1727
+ # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
1728
+ # [12]: https://docs.aws.amazon.com/kms/latest/developerguide/customer-managed-policies.html#iam-policy-example-create-key
1729
+ # [13]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
1688
1730
  #
1689
1731
  # @option params [String] :policy
1690
1732
  # The key policy to attach to the KMS key.
@@ -1706,22 +1748,38 @@ module Aws::KMS
1706
1748
  # not always immediately visible][2] in the *Amazon Web Services
1707
1749
  # Identity and Access Management User Guide*.
1708
1750
  #
1751
+ # <note markdown="1"> If either of the required `Resource` or `Action` elements are missing
1752
+ # from a key policy statement, the policy statement has no effect. When
1753
+ # a key policy statement is missing one of these elements, the KMS
1754
+ # console correctly reports an error, but the `CreateKey` and
1755
+ # `PutKeyPolicy` API requests succeed, even though the policy statement
1756
+ # is ineffective.
1757
+ #
1758
+ # For more information on required key policy elements, see [Elements in
1759
+ # a key policy][3] in the *Key Management Service Developer Guide*.
1760
+ #
1761
+ # </note>
1762
+ #
1709
1763
  # If you do not provide a key policy, KMS attaches a default key policy
1710
- # to the KMS key. For more information, see [Default key policy][3] in
1764
+ # to the KMS key. For more information, see [Default key policy][4] in
1711
1765
  # the *Key Management Service Developer Guide*.
1712
1766
  #
1713
- # The key policy size quota is 32 kilobytes (32768 bytes).
1767
+ # <note markdown="1"> If the key policy exceeds the length constraint, KMS returns a
1768
+ # `LimitExceededException`.
1769
+ #
1770
+ # </note>
1714
1771
  #
1715
1772
  # For help writing and formatting a JSON policy document, see the [IAM
1716
- # JSON Policy Reference][4] in the <i> <i>Identity and Access Management
1773
+ # JSON Policy Reference][5] in the <i> <i>Identity and Access Management
1717
1774
  # User Guide</i> </i>.
1718
1775
  #
1719
1776
  #
1720
1777
  #
1721
1778
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
1722
1779
  # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
1723
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default
1724
- # [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
1780
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-overview.html#key-policy-elements
1781
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html
1782
+ # [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
1725
1783
  #
1726
1784
  # @option params [String] :description
1727
1785
  # A description of the KMS key. Use a description that helps you decide
@@ -1755,7 +1813,10 @@ module Aws::KMS
1755
1813
  # * For asymmetric KMS keys with NIST-recommended elliptic curve key
1756
1814
  # pairs, specify `SIGN_VERIFY` or `KEY_AGREEMENT`.
1757
1815
  #
1758
- # * For asymmetric KMS keys with `ECC_SECG_P256K1` key pairs specify
1816
+ # * For asymmetric KMS keys with `ECC_SECG_P256K1` key pairs, specify
1817
+ # `SIGN_VERIFY`.
1818
+ #
1819
+ # * For asymmetric KMS keys with ML-DSA key pairs, specify
1759
1820
  # `SIGN_VERIFY`.
1760
1821
  #
1761
1822
  # * For asymmetric KMS keys with SM2 key pairs (China Regions only),
@@ -1763,7 +1824,7 @@ module Aws::KMS
1763
1824
  #
1764
1825
  #
1765
1826
  #
1766
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
1827
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
1767
1828
  #
1768
1829
  # @option params [String] :customer_master_key_spec
1769
1830
  # Instead, use the `KeySpec` parameter.
@@ -1777,20 +1838,21 @@ module Aws::KMS
1777
1838
  # Specifies the type of KMS key to create. The default value,
1778
1839
  # `SYMMETRIC_DEFAULT`, creates a KMS key with a 256-bit AES-GCM key that
1779
1840
  # is used for encryption and decryption, except in China Regions, where
1780
- # it creates a 128-bit symmetric key that uses SM4 encryption. For help
1781
- # choosing a key spec for your KMS key, see [Choosing a KMS key type][1]
1782
- # in the <i> <i>Key Management Service Developer Guide</i> </i>.
1841
+ # it creates a 128-bit symmetric key that uses SM4 encryption. For a
1842
+ # detailed description of all supported key specs, see [Key spec
1843
+ # reference][1] in the <i> <i>Key Management Service Developer Guide</i>
1844
+ # </i>.
1783
1845
  #
1784
1846
  # The `KeySpec` determines whether the KMS key contains a symmetric key
1785
1847
  # or an asymmetric key pair. It also determines the algorithms that the
1786
1848
  # KMS key supports. You can't change the `KeySpec` after the KMS key is
1787
1849
  # created. To further restrict the algorithms that can be used with the
1788
1850
  # KMS key, use a condition key in its key policy or IAM policy. For more
1789
- # information, see [kms:EncryptionAlgorithm][2], [kms:MacAlgorithm][3]
1790
- # or [kms:Signing Algorithm][4] in the <i> <i>Key Management Service
1791
- # Developer Guide</i> </i>.
1851
+ # information, see [kms:EncryptionAlgorithm][2], [kms:MacAlgorithm][3],
1852
+ # [kms:KeyAgreementAlgorithm][4], or [kms:SigningAlgorithm][5] in the
1853
+ # <i> <i>Key Management Service Developer Guide</i> </i>.
1792
1854
  #
1793
- # [Amazon Web Services services that are integrated with KMS][5] use
1855
+ # [Amazon Web Services services that are integrated with KMS][6] use
1794
1856
  # symmetric encryption KMS keys to protect your data. These services do
1795
1857
  # not support asymmetric KMS keys or HMAC KMS keys.
1796
1858
  #
@@ -1801,7 +1863,6 @@ module Aws::KMS
1801
1863
  # * `SYMMETRIC_DEFAULT`
1802
1864
  #
1803
1865
  # ^
1804
- #
1805
1866
  # * HMAC keys (symmetric)
1806
1867
  #
1807
1868
  # * `HMAC_224`
@@ -1811,7 +1872,6 @@ module Aws::KMS
1811
1872
  # * `HMAC_384`
1812
1873
  #
1813
1874
  # * `HMAC_512`
1814
- #
1815
1875
  # * Asymmetric RSA key pairs (encryption and decryption -or- signing and
1816
1876
  # verification)
1817
1877
  #
@@ -1820,7 +1880,6 @@ module Aws::KMS
1820
1880
  # * `RSA_3072`
1821
1881
  #
1822
1882
  # * `RSA_4096`
1823
- #
1824
1883
  # * Asymmetric NIST-recommended elliptic curve key pairs (signing and
1825
1884
  # verification -or- deriving shared secrets)
1826
1885
  #
@@ -1829,13 +1888,18 @@ module Aws::KMS
1829
1888
  # * `ECC_NIST_P384` (secp384r1)
1830
1889
  #
1831
1890
  # * `ECC_NIST_P521` (secp521r1)
1832
- #
1833
1891
  # * Other asymmetric elliptic curve key pairs (signing and verification)
1834
1892
  #
1835
1893
  # * `ECC_SECG_P256K1` (secp256k1), commonly used for cryptocurrencies.
1836
1894
  #
1837
1895
  # ^
1896
+ # * Asymmetric ML-DSA key pairs (signing and verification)
1897
+ #
1898
+ # * `ML_DSA_44`
1838
1899
  #
1900
+ # * `ML_DSA_65`
1901
+ #
1902
+ # * `ML_DSA_87`
1839
1903
  # * SM2 key pairs (encryption and decryption -or- signing and
1840
1904
  # verification -or- deriving shared secrets)
1841
1905
  #
@@ -1845,11 +1909,12 @@ module Aws::KMS
1845
1909
  #
1846
1910
  #
1847
1911
  #
1848
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-types.html#symm-asymm-choose
1849
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-encryption-algorithm
1850
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-mac-algorithm
1851
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-signing-algorithm
1852
- # [5]: http://aws.amazon.com/kms/features/#AWS_Service_Integration
1912
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-choose-key-spec.html
1913
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-encryption-algorithm
1914
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-mac-algorithm
1915
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-key-agreement-algorithm
1916
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-signing-algorithm
1917
+ # [6]: http://aws.amazon.com/kms/features/#AWS_Service_Integration
1853
1918
  #
1854
1919
  # @option params [String] :origin
1855
1920
  # The source of the key material for the KMS key. You cannot change the
@@ -1899,7 +1964,7 @@ module Aws::KMS
1899
1964
  #
1900
1965
  #
1901
1966
  #
1902
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
1967
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
1903
1968
  #
1904
1969
  # @option params [Boolean] :bypass_policy_lockout_safety_check
1905
1970
  # Skips ("bypasses") the key policy lockout safety check. The default
@@ -1947,7 +2012,7 @@ module Aws::KMS
1947
2012
  # When you add tags to an Amazon Web Services resource, Amazon Web
1948
2013
  # Services generates a cost allocation report with usage and costs
1949
2014
  # aggregated by tags. Tags can also be used to control access to a KMS
1950
- # key. For details, see [Tagging Keys][3].
2015
+ # key. For details, see [Tags in KMS][3].
1951
2016
  #
1952
2017
  #
1953
2018
  #
@@ -2018,7 +2083,7 @@ module Aws::KMS
2018
2083
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html#concept-external-key
2019
2084
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html
2020
2085
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html#concept-xks-proxy
2021
- # [4]: https://docs.aws.amazon.com/create-xks-keys.html#xks-key-requirements
2086
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/create-xks-keys.html#xks-key-requirements
2022
2087
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html#concept-double-encryption
2023
2088
  #
2024
2089
  # @return [Types::CreateKeyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -2040,6 +2105,7 @@ module Aws::KMS
2040
2105
  # aws_account_id: "111122223333",
2041
2106
  # arn: "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
2042
2107
  # creation_date: Time.parse("2017-07-05T14:04:55-07:00"),
2108
+ # current_key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6",
2043
2109
  # customer_master_key_spec: "SYMMETRIC_DEFAULT",
2044
2110
  # description: "",
2045
2111
  # enabled: true,
@@ -2092,8 +2158,7 @@ module Aws::KMS
2092
2158
  # @example Example: To create an asymmetric elliptic curve KMS key for signing and verification
2093
2159
  #
2094
2160
  # # This example creates a KMS key that contains an asymmetric elliptic curve (ECC) key pair for signing and verification.
2095
- # # The key usage is required even though "SIGN_VERIFY" is the only valid value for ECC KMS keys. The key spec and key usage
2096
- # # can't be changed after the key is created.
2161
+ # # The key spec and key usage can't be changed after the key is created.
2097
2162
  #
2098
2163
  # resp = client.create_key({
2099
2164
  # key_spec: "ECC_NIST_P521", # Describes the type of key material in the KMS key.
@@ -2154,6 +2219,38 @@ module Aws::KMS
2154
2219
  # }, # Detailed information about the KMS key that this operation creates.
2155
2220
  # }
2156
2221
  #
2222
+ # @example Example: To create an asymmetric ML-DSA KMS key for signing and verification
2223
+ #
2224
+ # # This example creates a module-lattice digital signature algorithm (ML-DSA) key for signing and verification. The
2225
+ # # key-usage parameter is required even though SIGN_VERIFY is the only valid value for ML-DSA keys.
2226
+ #
2227
+ # resp = client.create_key({
2228
+ # key_spec: "ML_DSA_65", # Describes the type of key material in the KMS key.
2229
+ # key_usage: "SIGN_VERIFY", # The cryptographic operations for which you can use the KMS key.
2230
+ # })
2231
+ #
2232
+ # resp.to_h outputs the following:
2233
+ # {
2234
+ # key_metadata: {
2235
+ # aws_account_id: "111122223333",
2236
+ # arn: "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
2237
+ # creation_date: Time.parse(1748371316.734),
2238
+ # customer_master_key_spec: "ML_DSA_65",
2239
+ # description: "",
2240
+ # enabled: true,
2241
+ # key_id: "1234abcd-12ab-34cd-56ef-1234567890ab",
2242
+ # key_manager: "CUSTOMER",
2243
+ # key_spec: "ML_DSA_65",
2244
+ # key_state: "Enabled",
2245
+ # key_usage: "SIGN_VERIFY",
2246
+ # multi_region: false,
2247
+ # origin: "AWS_KMS",
2248
+ # signing_algorithms: [
2249
+ # "ML_DSA_SHAKE_256",
2250
+ # ],
2251
+ # }, # Detailed information about the KMS key that this operation creates.
2252
+ # }
2253
+ #
2157
2254
  # @example Example: To create a multi-Region primary KMS key
2158
2255
  #
2159
2256
  # # This example creates a multi-Region primary symmetric encryption key. Because the default values for all parameters
@@ -2169,6 +2266,7 @@ module Aws::KMS
2169
2266
  # aws_account_id: "111122223333",
2170
2267
  # arn: "arn:aws:kms:us-west-2:111122223333:key/mrk-1234abcd12ab34cd56ef12345678990ab",
2171
2268
  # creation_date: Time.parse("2021-09-02T016:15:21-09:00"),
2269
+ # current_key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6",
2172
2270
  # customer_master_key_spec: "SYMMETRIC_DEFAULT",
2173
2271
  # description: "",
2174
2272
  # enabled: true,
@@ -2305,7 +2403,7 @@ module Aws::KMS
2305
2403
  # description: "DescriptionType",
2306
2404
  # key_usage: "SIGN_VERIFY", # accepts SIGN_VERIFY, ENCRYPT_DECRYPT, GENERATE_VERIFY_MAC, KEY_AGREEMENT
2307
2405
  # 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
2308
- # 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
2406
+ # 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, ML_DSA_44, ML_DSA_65, ML_DSA_87
2309
2407
  # origin: "AWS_KMS", # accepts AWS_KMS, EXTERNAL, AWS_CLOUDHSM, EXTERNAL_KEY_STORE
2310
2408
  # custom_key_store_id: "CustomKeyStoreIdType",
2311
2409
  # bypass_policy_lockout_safety_check: false,
@@ -2337,11 +2435,11 @@ module Aws::KMS
2337
2435
  # resp.key_metadata.expiration_model #=> String, one of "KEY_MATERIAL_EXPIRES", "KEY_MATERIAL_DOES_NOT_EXPIRE"
2338
2436
  # resp.key_metadata.key_manager #=> String, one of "AWS", "CUSTOMER"
2339
2437
  # 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"
2340
- # 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"
2438
+ # 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", "ML_DSA_44", "ML_DSA_65", "ML_DSA_87"
2341
2439
  # resp.key_metadata.encryption_algorithms #=> Array
2342
2440
  # resp.key_metadata.encryption_algorithms[0] #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
2343
2441
  # resp.key_metadata.signing_algorithms #=> Array
2344
- # 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"
2442
+ # 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", "ML_DSA_SHAKE_256"
2345
2443
  # resp.key_metadata.key_agreement_algorithms #=> Array
2346
2444
  # resp.key_metadata.key_agreement_algorithms[0] #=> String, one of "ECDH"
2347
2445
  # resp.key_metadata.multi_region #=> Boolean
@@ -2355,6 +2453,7 @@ module Aws::KMS
2355
2453
  # resp.key_metadata.mac_algorithms #=> Array
2356
2454
  # resp.key_metadata.mac_algorithms[0] #=> String, one of "HMAC_SHA_224", "HMAC_SHA_256", "HMAC_SHA_384", "HMAC_SHA_512"
2357
2455
  # resp.key_metadata.xks_key_configuration.id #=> String
2456
+ # resp.key_metadata.current_key_material_id #=> String
2358
2457
  #
2359
2458
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/CreateKey AWS API Documentation
2360
2459
  #
@@ -2405,15 +2504,14 @@ module Aws::KMS
2405
2504
  # key that you intend.
2406
2505
  #
2407
2506
  # Whenever possible, use key policies to give users permission to call
2408
- # the `Decrypt` operation on a particular KMS key, instead of using
2409
- # &amp;IAM; policies. Otherwise, you might create an &amp;IAM; policy
2410
- # that gives the user `Decrypt` permission on all KMS keys. This user
2411
- # could decrypt ciphertext that was encrypted by KMS keys in other
2412
- # accounts if the key policy for the cross-account KMS key permits it.
2413
- # If you must use an IAM policy for `Decrypt` permissions, limit the
2414
- # user to particular KMS keys or particular trusted accounts. For
2415
- # details, see [Best practices for IAM policies][4] in the *Key
2416
- # Management Service Developer Guide*.
2507
+ # the `Decrypt` operation on a particular KMS key, instead of using IAM
2508
+ # policies. Otherwise, you might create an IAM policy that gives the
2509
+ # user `Decrypt` permission on all KMS keys. This user could decrypt
2510
+ # ciphertext that was encrypted by KMS keys in other accounts if the key
2511
+ # policy for the cross-account KMS key permits it. If you must use an
2512
+ # IAM policy for `Decrypt` permissions, limit the user to particular KMS
2513
+ # keys or particular trusted accounts. For details, see [Best practices
2514
+ # for IAM policies][4] in the *Key Management Service Developer Guide*.
2417
2515
  #
2418
2516
  # `Decrypt` also supports [Amazon Web Services Nitro Enclaves][5], which
2419
2517
  # provide an isolated compute environment in Amazon EC2. To call
@@ -2461,7 +2559,7 @@ module Aws::KMS
2461
2559
  # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
2462
2560
  # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
2463
2561
  # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
2464
- # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
2562
+ # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
2465
2563
  #
2466
2564
  # @option params [required, String, StringIO, File] :ciphertext_blob
2467
2565
  # Ciphertext to be decrypted. The blob includes metadata.
@@ -2486,8 +2584,8 @@ module Aws::KMS
2486
2584
  #
2487
2585
  #
2488
2586
  #
2489
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
2490
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
2587
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
2588
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
2491
2589
  #
2492
2590
  # @option params [Array<String>] :grant_tokens
2493
2591
  # A list of grant tokens.
@@ -2500,7 +2598,7 @@ module Aws::KMS
2500
2598
  #
2501
2599
  #
2502
2600
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
2503
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
2601
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
2504
2602
  #
2505
2603
  # @option params [String] :key_id
2506
2604
  # Specifies the KMS key that KMS uses to decrypt the ciphertext.
@@ -2576,12 +2674,12 @@ module Aws::KMS
2576
2674
  # Checks if your request will succeed. `DryRun` is an optional
2577
2675
  # parameter.
2578
2676
  #
2579
- # To learn more about how to use this parameter, see [Testing your KMS
2580
- # API calls][1] in the *Key Management Service Developer Guide*.
2677
+ # To learn more about how to use this parameter, see [Testing your
2678
+ # permissions][1] in the *Key Management Service Developer Guide*.
2581
2679
  #
2582
2680
  #
2583
2681
  #
2584
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
2682
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
2585
2683
  #
2586
2684
  # @return [Types::DecryptResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2587
2685
  #
@@ -2589,6 +2687,7 @@ module Aws::KMS
2589
2687
  # * {Types::DecryptResponse#plaintext #plaintext} => String
2590
2688
  # * {Types::DecryptResponse#encryption_algorithm #encryption_algorithm} => String
2591
2689
  # * {Types::DecryptResponse#ciphertext_for_recipient #ciphertext_for_recipient} => String
2690
+ # * {Types::DecryptResponse#key_material_id #key_material_id} => String
2592
2691
  #
2593
2692
  #
2594
2693
  # @example Example: To decrypt data with a symmetric encryption KMS key
@@ -2605,6 +2704,7 @@ module Aws::KMS
2605
2704
  # {
2606
2705
  # encryption_algorithm: "SYMMETRIC_DEFAULT", # The encryption algorithm that was used to decrypt the ciphertext. SYMMETRIC_DEFAULT is the only valid value for symmetric encryption in AWS KMS.
2607
2706
  # key_id: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", # The Amazon Resource Name (ARN) of the KMS key that was used to decrypt the data.
2707
+ # key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # The identifier of the key material used to decrypt the ciphertext.
2608
2708
  # plaintext: "<binary data>", # The decrypted (plaintext) data.
2609
2709
  # }
2610
2710
  #
@@ -2671,6 +2771,7 @@ module Aws::KMS
2671
2771
  # resp.plaintext #=> String
2672
2772
  # resp.encryption_algorithm #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
2673
2773
  # resp.ciphertext_for_recipient #=> String
2774
+ # resp.key_material_id #=> String
2674
2775
  #
2675
2776
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/Decrypt AWS API Documentation
2676
2777
  #
@@ -2727,7 +2828,7 @@ module Aws::KMS
2727
2828
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/abac.html
2728
2829
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
2729
2830
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html#alias-access
2730
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
2831
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
2731
2832
  #
2732
2833
  # @option params [required, String] :alias_name
2733
2834
  # The alias to be deleted. The alias name must begin with `alias/`
@@ -2766,9 +2867,9 @@ module Aws::KMS
2766
2867
  # does not affect the external key store proxy, external key manager, or
2767
2868
  # any external keys.
2768
2869
  #
2769
- # This operation is part of the [custom key stores][1] feature in KMS,
2770
- # which combines the convenience and extensive integration of KMS with
2771
- # the isolation and control of a key store that you own and manage.
2870
+ # This operation is part of the custom key stores feature in KMS, which
2871
+ # combines the convenience and extensive integration of KMS with the
2872
+ # isolation and control of a key store that you own and manage.
2772
2873
  #
2773
2874
  # The custom key store that you delete cannot contain any [KMS keys][2].
2774
2875
  # Before deleting the key store, verify that you will never need to use
@@ -2819,12 +2920,12 @@ module Aws::KMS
2819
2920
  #
2820
2921
  #
2821
2922
  #
2822
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
2923
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
2823
2924
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys
2824
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
2925
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
2825
2926
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html#fix-keystore-orphaned-key
2826
2927
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
2827
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
2928
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
2828
2929
  #
2829
2930
  # @option params [required, String] :custom_key_store_id
2830
2931
  # Enter the ID of the custom key store you want to delete. To find the
@@ -2886,6 +2987,8 @@ module Aws::KMS
2886
2987
  #
2887
2988
  # * GetParametersForImport
2888
2989
  #
2990
+ # * ListKeyRotations
2991
+ #
2889
2992
  # * ImportKeyMaterial
2890
2993
  #
2891
2994
  # **Eventual consistency**: The KMS API follows an eventual consistency
@@ -2896,7 +2999,7 @@ module Aws::KMS
2896
2999
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
2897
3000
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
2898
3001
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
2899
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
3002
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
2900
3003
  #
2901
3004
  # @option params [required, String] :key_id
2902
3005
  # Identifies the KMS key from which you are deleting imported key
@@ -2914,7 +3017,19 @@ module Aws::KMS
2914
3017
  # To get the key ID and key ARN for a KMS key, use ListKeys or
2915
3018
  # DescribeKey.
2916
3019
  #
2917
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3020
+ # @option params [String] :key_material_id
3021
+ # Identifies the imported key material you are deleting.
3022
+ #
3023
+ # If no KeyMaterialId is specified, KMS deletes the current key
3024
+ # material.
3025
+ #
3026
+ # To get the list of key material IDs associated with a KMS key, use
3027
+ # ListKeyRotations.
3028
+ #
3029
+ # @return [Types::DeleteImportedKeyMaterialResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3030
+ #
3031
+ # * {Types::DeleteImportedKeyMaterialResponse#key_id #key_id} => String
3032
+ # * {Types::DeleteImportedKeyMaterialResponse#key_material_id #key_material_id} => String
2918
3033
  #
2919
3034
  #
2920
3035
  # @example Example: To delete imported key material
@@ -2923,14 +3038,21 @@ module Aws::KMS
2923
3038
  #
2924
3039
  # resp = client.delete_imported_key_material({
2925
3040
  # key_id: "1234abcd-12ab-34cd-56ef-1234567890ab", # The identifier of the KMS key whose imported key material you are deleting. You can use the key ID or the Amazon Resource Name (ARN) of the KMS key.
3041
+ # key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # Identifies the deleted key material.
2926
3042
  # })
2927
3043
  #
2928
3044
  # @example Request syntax with placeholder values
2929
3045
  #
2930
3046
  # resp = client.delete_imported_key_material({
2931
3047
  # key_id: "KeyIdType", # required
3048
+ # key_material_id: "BackingKeyIdType",
2932
3049
  # })
2933
3050
  #
3051
+ # @example Response structure
3052
+ #
3053
+ # resp.key_id #=> String
3054
+ # resp.key_material_id #=> String
3055
+ #
2934
3056
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DeleteImportedKeyMaterial AWS API Documentation
2935
3057
  #
2936
3058
  # @overload delete_imported_key_material(params = {})
@@ -3033,7 +3155,7 @@ module Aws::KMS
3033
3155
  # [2]: https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-56Cr2.pdf
3034
3156
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
3035
3157
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
3036
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
3158
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
3037
3159
  #
3038
3160
  # @option params [required, String] :key_id
3039
3161
  # Identifies an asymmetric NIST-recommended ECC or SM2 (China Regions
@@ -3101,18 +3223,18 @@ module Aws::KMS
3101
3223
  #
3102
3224
  #
3103
3225
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
3104
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
3226
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
3105
3227
  #
3106
3228
  # @option params [Boolean] :dry_run
3107
3229
  # Checks if your request will succeed. `DryRun` is an optional
3108
3230
  # parameter.
3109
3231
  #
3110
- # To learn more about how to use this parameter, see [Testing your KMS
3111
- # API calls][1] in the *Key Management Service Developer Guide*.
3232
+ # To learn more about how to use this parameter, see [Testing your
3233
+ # permissions][1] in the *Key Management Service Developer Guide*.
3112
3234
  #
3113
3235
  #
3114
3236
  #
3115
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
3237
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
3116
3238
  #
3117
3239
  # @option params [Types::RecipientInfo] :recipient
3118
3240
  # A signed [attestation document][1] from an Amazon Web Services Nitro
@@ -3207,9 +3329,9 @@ module Aws::KMS
3207
3329
  # Gets information about [custom key stores][1] in the account and
3208
3330
  # Region.
3209
3331
  #
3210
- # This operation is part of the [custom key stores][1] feature in KMS,
3211
- # which combines the convenience and extensive integration of KMS with
3212
- # the isolation and control of a key store that you own and manage.
3332
+ # This operation is part of the custom key stores feature in KMS, which
3333
+ # combines the convenience and extensive integration of KMS with the
3334
+ # isolation and control of a key store that you own and manage.
3213
3335
  #
3214
3336
  # By default, this operation returns information about all custom key
3215
3337
  # stores in the account and Region. To get only information about a
@@ -3262,11 +3384,11 @@ module Aws::KMS
3262
3384
  #
3263
3385
  #
3264
3386
  #
3265
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
3387
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
3266
3388
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html
3267
3389
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/xks-troubleshooting.html
3268
3390
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
3269
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
3391
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
3270
3392
  #
3271
3393
  # @option params [String] :custom_key_store_id
3272
3394
  # Gets only information about the specified custom key store. Enter the
@@ -3464,8 +3586,8 @@ module Aws::KMS
3464
3586
  # * Whether automatic key rotation is enabled on the KMS key. To get
3465
3587
  # this information, use GetKeyRotationStatus. Also, some key states
3466
3588
  # prevent a KMS key from being automatically rotated. For details, see
3467
- # [How Automatic Key Rotation Works][6] in the *Key Management Service
3468
- # Developer Guide*.
3589
+ # [How key rotation works][6] in the *Key Management Service Developer
3590
+ # Guide*.
3469
3591
  #
3470
3592
  # * Tags on the KMS key. To get this information, use ListResourceTags.
3471
3593
  #
@@ -3511,7 +3633,7 @@ module Aws::KMS
3511
3633
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/keystore-external.html
3512
3634
  # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotate-keys-how-it-works
3513
3635
  # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
3514
- # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
3636
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
3515
3637
  #
3516
3638
  # @option params [required, String] :key_id
3517
3639
  # Describes the specified KMS key.
@@ -3555,7 +3677,7 @@ module Aws::KMS
3555
3677
  #
3556
3678
  #
3557
3679
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
3558
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
3680
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
3559
3681
  #
3560
3682
  # @return [Types::DescribeKeyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3561
3683
  #
@@ -3576,6 +3698,7 @@ module Aws::KMS
3576
3698
  # aws_account_id: "111122223333",
3577
3699
  # arn: "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
3578
3700
  # creation_date: Time.parse("2017-07-05T14:04:55-07:00"),
3701
+ # current_key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6",
3579
3702
  # customer_master_key_spec: "SYMMETRIC_DEFAULT",
3580
3703
  # description: "",
3581
3704
  # enabled: true,
@@ -3642,6 +3765,7 @@ module Aws::KMS
3642
3765
  # aws_account_id: "111122223333",
3643
3766
  # arn: "arn:aws:kms:ap-northeast-1:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab",
3644
3767
  # creation_date: Time.parse(1586329200.918),
3768
+ # current_key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6",
3645
3769
  # customer_master_key_spec: "SYMMETRIC_DEFAULT",
3646
3770
  # description: "",
3647
3771
  # enabled: true,
@@ -3798,11 +3922,11 @@ module Aws::KMS
3798
3922
  # resp.key_metadata.expiration_model #=> String, one of "KEY_MATERIAL_EXPIRES", "KEY_MATERIAL_DOES_NOT_EXPIRE"
3799
3923
  # resp.key_metadata.key_manager #=> String, one of "AWS", "CUSTOMER"
3800
3924
  # 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"
3801
- # 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"
3925
+ # 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", "ML_DSA_44", "ML_DSA_65", "ML_DSA_87"
3802
3926
  # resp.key_metadata.encryption_algorithms #=> Array
3803
3927
  # resp.key_metadata.encryption_algorithms[0] #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
3804
3928
  # resp.key_metadata.signing_algorithms #=> Array
3805
- # 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"
3929
+ # 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", "ML_DSA_SHAKE_256"
3806
3930
  # resp.key_metadata.key_agreement_algorithms #=> Array
3807
3931
  # resp.key_metadata.key_agreement_algorithms[0] #=> String, one of "ECDH"
3808
3932
  # resp.key_metadata.multi_region #=> Boolean
@@ -3816,6 +3940,7 @@ module Aws::KMS
3816
3940
  # resp.key_metadata.mac_algorithms #=> Array
3817
3941
  # resp.key_metadata.mac_algorithms[0] #=> String, one of "HMAC_SHA_224", "HMAC_SHA_256", "HMAC_SHA_384", "HMAC_SHA_512"
3818
3942
  # resp.key_metadata.xks_key_configuration.id #=> String
3943
+ # resp.key_metadata.current_key_material_id #=> String
3819
3944
  #
3820
3945
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DescribeKey AWS API Documentation
3821
3946
  #
@@ -3829,13 +3954,10 @@ module Aws::KMS
3829
3954
  # Sets the state of a KMS key to disabled. This change temporarily
3830
3955
  # prevents use of the KMS key for [cryptographic operations][1].
3831
3956
  #
3832
- # For more information about how key state affects the use of a KMS key,
3833
- # see [Key states of KMS keys][2] in the <i> <i>Key Management Service
3834
- # Developer Guide</i> </i>.
3835
- #
3836
3957
  # The KMS key that you use for this operation must be in a compatible
3837
- # key state. For details, see [Key states of KMS keys][2] in the *Key
3838
- # Management Service Developer Guide*.
3958
+ # key state. For more information about how key state affects the use of
3959
+ # a KMS key, see [Key states of KMS keys][2] in the <i> <i>Key
3960
+ # Management Service Developer Guide</i> </i>.
3839
3961
  #
3840
3962
  # **Cross-account use**: No. You cannot perform this operation on a KMS
3841
3963
  # key in a different Amazon Web Services account.
@@ -3849,10 +3971,10 @@ module Aws::KMS
3849
3971
  #
3850
3972
  #
3851
3973
  #
3852
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
3974
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
3853
3975
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
3854
3976
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
3855
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
3977
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
3856
3978
  #
3857
3979
  # @option params [required, String] :key_id
3858
3980
  # Identifies the KMS key to disable.
@@ -3941,18 +4063,18 @@ module Aws::KMS
3941
4063
  #
3942
4064
  #
3943
4065
  #
3944
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html
4066
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotating-keys-enable-disable.html
3945
4067
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
3946
4068
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
3947
4069
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
3948
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
3949
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate
4070
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
4071
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#multi-region-rotate
3950
4072
  # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
3951
4073
  # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
3952
4074
  # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk
3953
4075
  # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
3954
4076
  # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
3955
- # [12]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
4077
+ # [12]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
3956
4078
  #
3957
4079
  # @option params [required, String] :key_id
3958
4080
  # Identifies a symmetric encryption KMS key. You cannot enable or
@@ -3977,7 +4099,7 @@ module Aws::KMS
3977
4099
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html#asymmetric-cmks
3978
4100
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
3979
4101
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
3980
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
4102
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
3981
4103
  #
3982
4104
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3983
4105
  #
@@ -4011,9 +4133,9 @@ module Aws::KMS
4011
4133
  # external key store proxy that communicates with your external key
4012
4134
  # manager.
4013
4135
  #
4014
- # This operation is part of the [custom key stores][1] feature in KMS,
4015
- # which combines the convenience and extensive integration of KMS with
4016
- # the isolation and control of a key store that you own and manage.
4136
+ # This operation is part of the custom key stores feature in KMS, which
4137
+ # combines the convenience and extensive integration of KMS with the
4138
+ # isolation and control of a key store that you own and manage.
4017
4139
  #
4018
4140
  # While a custom key store is disconnected, you can manage the custom
4019
4141
  # key store and its KMS keys, but you cannot create or use its KMS keys.
@@ -4057,10 +4179,10 @@ module Aws::KMS
4057
4179
  #
4058
4180
  #
4059
4181
  #
4060
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
4061
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
4182
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
4183
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
4062
4184
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
4063
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
4185
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
4064
4186
  #
4065
4187
  # @option params [required, String] :custom_key_store_id
4066
4188
  # Enter the ID of the custom key store you want to disconnect. To find
@@ -4119,10 +4241,10 @@ module Aws::KMS
4119
4241
  #
4120
4242
  #
4121
4243
  #
4122
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
4244
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
4123
4245
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
4124
4246
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
4125
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
4247
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
4126
4248
  #
4127
4249
  # @option params [required, String] :key_id
4128
4250
  # Identifies the KMS key to enable.
@@ -4183,17 +4305,17 @@ module Aws::KMS
4183
4305
  # any in progress rotations. You can use the ListKeyRotations operation
4184
4306
  # to view the details of completed rotations.
4185
4307
  #
4186
- # Automatic key rotation is supported only on [symmetric encryption KMS
4187
- # keys][3]. You cannot enable automatic rotation of [asymmetric KMS
4188
- # keys][4], [HMAC KMS keys][5], KMS keys with [imported key
4189
- # material][6], or KMS keys in a [custom key store][7]. To enable or
4190
- # disable automatic rotation of a set of related [multi-Region keys][8],
4308
+ # Automatic key rotation is supported only on symmetric encryption KMS
4309
+ # keys. You cannot enable automatic rotation of [asymmetric KMS
4310
+ # keys][3], [HMAC KMS keys][4], KMS keys with [imported key
4311
+ # material][5], or KMS keys in a [custom key store][6]. To enable or
4312
+ # disable automatic rotation of a set of related [multi-Region keys][7],
4191
4313
  # set the property on the primary key.
4192
4314
  #
4193
4315
  # You cannot enable or disable automatic rotation of [Amazon Web
4194
- # Services managed KMS keys][9]. KMS always rotates the key material of
4316
+ # Services managed KMS keys][8]. KMS always rotates the key material of
4195
4317
  # Amazon Web Services managed keys every year. Rotation of [Amazon Web
4196
- # Services owned KMS keys][10] is managed by the Amazon Web Services
4318
+ # Services owned KMS keys][9] is managed by the Amazon Web Services
4197
4319
  # service that owns the key.
4198
4320
  #
4199
4321
  # <note markdown="1"> In May 2022, KMS changed the rotation schedule for Amazon Web Services
@@ -4209,13 +4331,13 @@ module Aws::KMS
4209
4331
  # </note>
4210
4332
  #
4211
4333
  # The KMS key that you use for this operation must be in a compatible
4212
- # key state. For details, see [Key states of KMS keys][11] in the *Key
4334
+ # key state. For details, see [Key states of KMS keys][10] in the *Key
4213
4335
  # Management Service Developer Guide*.
4214
4336
  #
4215
4337
  # **Cross-account use**: No. You cannot perform this operation on a KMS
4216
4338
  # key in a different Amazon Web Services account.
4217
4339
  #
4218
- # **Required permissions**: [kms:EnableKeyRotation][12] (key policy)
4340
+ # **Required permissions**: [kms:EnableKeyRotation][11] (key policy)
4219
4341
  #
4220
4342
  # **Related operations:**
4221
4343
  #
@@ -4234,23 +4356,22 @@ module Aws::KMS
4234
4356
  # </note>
4235
4357
  #
4236
4358
  # **Eventual consistency**: The KMS API follows an eventual consistency
4237
- # model. For more information, see [KMS eventual consistency][13].
4359
+ # model. For more information, see [KMS eventual consistency][12].
4238
4360
  #
4239
4361
  #
4240
4362
  #
4241
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotating-keys-enable-disable
4363
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotating-keys-enable-disable.html
4242
4364
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
4243
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#symmetric-cmks
4244
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
4245
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
4246
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
4247
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
4248
- # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate
4249
- # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
4250
- # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk
4251
- # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
4252
- # [12]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
4253
- # [13]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
4365
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
4366
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
4367
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
4368
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
4369
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#multi-region-rotate
4370
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
4371
+ # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk
4372
+ # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
4373
+ # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
4374
+ # [12]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
4254
4375
  #
4255
4376
  # @option params [required, String] :key_id
4256
4377
  # Identifies a symmetric encryption KMS key. You cannot enable automatic
@@ -4276,8 +4397,8 @@ module Aws::KMS
4276
4397
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
4277
4398
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
4278
4399
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
4279
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
4280
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate
4400
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
4401
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#multi-region-rotate
4281
4402
  #
4282
4403
  # @option params [Integer] :rotation_period_in_days
4283
4404
  # Use this parameter to specify a custom period of time between each
@@ -4369,25 +4490,21 @@ module Aws::KMS
4369
4490
  # * `SYMMETRIC_DEFAULT`: 4096 bytes
4370
4491
  #
4371
4492
  # ^
4372
- #
4373
4493
  # * `RSA_2048`
4374
4494
  #
4375
4495
  # * `RSAES_OAEP_SHA_1`: 214 bytes
4376
4496
  #
4377
4497
  # * `RSAES_OAEP_SHA_256`: 190 bytes
4378
- #
4379
4498
  # * `RSA_3072`
4380
4499
  #
4381
4500
  # * `RSAES_OAEP_SHA_1`: 342 bytes
4382
4501
  #
4383
4502
  # * `RSAES_OAEP_SHA_256`: 318 bytes
4384
- #
4385
4503
  # * `RSA_4096`
4386
4504
  #
4387
4505
  # * `RSAES_OAEP_SHA_1`: 470 bytes
4388
4506
  #
4389
4507
  # * `RSAES_OAEP_SHA_256`: 446 bytes
4390
- #
4391
4508
  # * `SM2PKE`: 1024 bytes (China Regions only)
4392
4509
  #
4393
4510
  # The KMS key that you use for this operation must be in a compatible
@@ -4413,10 +4530,10 @@ module Aws::KMS
4413
4530
  #
4414
4531
  #
4415
4532
  #
4416
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
4533
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
4417
4534
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
4418
4535
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
4419
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
4536
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
4420
4537
  #
4421
4538
  # @option params [required, String] :key_id
4422
4539
  # Identifies the KMS key to use in the encryption operation. The KMS key
@@ -4469,8 +4586,8 @@ module Aws::KMS
4469
4586
  #
4470
4587
  #
4471
4588
  #
4472
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
4473
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
4589
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#cryptographic-operations
4590
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
4474
4591
  #
4475
4592
  # @option params [Array<String>] :grant_tokens
4476
4593
  # A list of grant tokens.
@@ -4483,7 +4600,7 @@ module Aws::KMS
4483
4600
  #
4484
4601
  #
4485
4602
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
4486
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
4603
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
4487
4604
  #
4488
4605
  # @option params [String] :encryption_algorithm
4489
4606
  # Specifies the encryption algorithm that KMS will use to encrypt the
@@ -4501,12 +4618,12 @@ module Aws::KMS
4501
4618
  # Checks if your request will succeed. `DryRun` is an optional
4502
4619
  # parameter.
4503
4620
  #
4504
- # To learn more about how to use this parameter, see [Testing your KMS
4505
- # API calls][1] in the *Key Management Service Developer Guide*.
4621
+ # To learn more about how to use this parameter, see [Testing your
4622
+ # permissions][1] in the *Key Management Service Developer Guide*.
4506
4623
  #
4507
4624
  #
4508
4625
  #
4509
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
4626
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
4510
4627
  #
4511
4628
  # @return [Types::EncryptResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4512
4629
  #
@@ -4681,7 +4798,7 @@ module Aws::KMS
4681
4798
  #
4682
4799
  #
4683
4800
  #
4684
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
4801
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
4685
4802
  # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
4686
4803
  # [3]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
4687
4804
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
@@ -4690,7 +4807,7 @@ module Aws::KMS
4690
4807
  # [7]: https://docs.aws.amazon.com/dynamodb-encryption-client/latest/devguide/
4691
4808
  # [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html
4692
4809
  # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
4693
- # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
4810
+ # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
4694
4811
  #
4695
4812
  # @option params [required, String] :key_id
4696
4813
  # Specifies the symmetric encryption KMS key that encrypts the data key.
@@ -4738,7 +4855,7 @@ module Aws::KMS
4738
4855
  #
4739
4856
  #
4740
4857
  #
4741
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
4858
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
4742
4859
  #
4743
4860
  # @option params [Integer] :number_of_bytes
4744
4861
  # Specifies the length of the data key in bytes. For example, use the
@@ -4768,7 +4885,7 @@ module Aws::KMS
4768
4885
  #
4769
4886
  #
4770
4887
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
4771
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
4888
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
4772
4889
  #
4773
4890
  # @option params [Types::RecipientInfo] :recipient
4774
4891
  # A signed [attestation document][1] from an Amazon Web Services Nitro
@@ -4802,12 +4919,12 @@ module Aws::KMS
4802
4919
  # Checks if your request will succeed. `DryRun` is an optional
4803
4920
  # parameter.
4804
4921
  #
4805
- # To learn more about how to use this parameter, see [Testing your KMS
4806
- # API calls][1] in the *Key Management Service Developer Guide*.
4922
+ # To learn more about how to use this parameter, see [Testing your
4923
+ # permissions][1] in the *Key Management Service Developer Guide*.
4807
4924
  #
4808
4925
  #
4809
4926
  #
4810
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
4927
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
4811
4928
  #
4812
4929
  # @return [Types::GenerateDataKeyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4813
4930
  #
@@ -4815,6 +4932,7 @@ module Aws::KMS
4815
4932
  # * {Types::GenerateDataKeyResponse#plaintext #plaintext} => String
4816
4933
  # * {Types::GenerateDataKeyResponse#key_id #key_id} => String
4817
4934
  # * {Types::GenerateDataKeyResponse#ciphertext_for_recipient #ciphertext_for_recipient} => String
4935
+ # * {Types::GenerateDataKeyResponse#key_material_id #key_material_id} => String
4818
4936
  #
4819
4937
  #
4820
4938
  # @example Example: To generate a data key
@@ -4831,6 +4949,7 @@ module Aws::KMS
4831
4949
  # {
4832
4950
  # ciphertext_blob: "<binary data>", # The encrypted data key.
4833
4951
  # key_id: "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", # The ARN of the KMS key that was used to encrypt the data key.
4952
+ # key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # The identifier of the key material used to encrypt the data key.
4834
4953
  # plaintext: "<binary data>", # The unencrypted (plaintext) data key.
4835
4954
  # }
4836
4955
  #
@@ -4882,6 +5001,7 @@ module Aws::KMS
4882
5001
  # resp.plaintext #=> String
4883
5002
  # resp.key_id #=> String
4884
5003
  # resp.ciphertext_for_recipient #=> String
5004
+ # resp.key_material_id #=> String
4885
5005
  #
4886
5006
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKey AWS API Documentation
4887
5007
  #
@@ -4990,10 +5110,10 @@ module Aws::KMS
4990
5110
  # [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
4991
5111
  # [4]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
4992
5112
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
4993
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
5113
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
4994
5114
  # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
4995
5115
  # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
4996
- # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
5116
+ # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
4997
5117
  #
4998
5118
  # @option params [Hash<String,String>] :encryption_context
4999
5119
  # Specifies the encryption context that will be used when encrypting the
@@ -5016,7 +5136,7 @@ module Aws::KMS
5016
5136
  #
5017
5137
  #
5018
5138
  #
5019
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
5139
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
5020
5140
  #
5021
5141
  # @option params [required, String] :key_id
5022
5142
  # Specifies the symmetric encryption KMS key that encrypts the private
@@ -5047,10 +5167,11 @@ module Aws::KMS
5047
5167
  # Determines the type of data key pair that is generated.
5048
5168
  #
5049
5169
  # The KMS rule that restricts the use of asymmetric RSA and SM2 KMS keys
5050
- # to encrypt and decrypt or to sign and verify (but not both), and the
5051
- # rule that permits you to use ECC KMS keys only to sign and verify, are
5052
- # not effective on data key pairs, which are used outside of KMS. The
5053
- # SM2 key spec is only available in China Regions.
5170
+ # to encrypt and decrypt or to sign and verify (but not both), the rule
5171
+ # that permits you to use ECC KMS keys only to sign and verify, and the
5172
+ # rule that permits you to use ML-DSA key pairs to sign and verify only
5173
+ # are not effective on data key pairs, which are used outside of KMS.
5174
+ # The SM2 key spec is only available in China Regions.
5054
5175
  #
5055
5176
  # @option params [Array<String>] :grant_tokens
5056
5177
  # A list of grant tokens.
@@ -5063,7 +5184,7 @@ module Aws::KMS
5063
5184
  #
5064
5185
  #
5065
5186
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
5066
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
5187
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
5067
5188
  #
5068
5189
  # @option params [Types::RecipientInfo] :recipient
5069
5190
  # A signed [attestation document][1] from an Amazon Web Services Nitro
@@ -5101,12 +5222,12 @@ module Aws::KMS
5101
5222
  # Checks if your request will succeed. `DryRun` is an optional
5102
5223
  # parameter.
5103
5224
  #
5104
- # To learn more about how to use this parameter, see [Testing your KMS
5105
- # API calls][1] in the *Key Management Service Developer Guide*.
5225
+ # To learn more about how to use this parameter, see [Testing your
5226
+ # permissions][1] in the *Key Management Service Developer Guide*.
5106
5227
  #
5107
5228
  #
5108
5229
  #
5109
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
5230
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
5110
5231
  #
5111
5232
  # @return [Types::GenerateDataKeyPairResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5112
5233
  #
@@ -5116,6 +5237,7 @@ module Aws::KMS
5116
5237
  # * {Types::GenerateDataKeyPairResponse#key_id #key_id} => String
5117
5238
  # * {Types::GenerateDataKeyPairResponse#key_pair_spec #key_pair_spec} => String
5118
5239
  # * {Types::GenerateDataKeyPairResponse#ciphertext_for_recipient #ciphertext_for_recipient} => String
5240
+ # * {Types::GenerateDataKeyPairResponse#key_material_id #key_material_id} => String
5119
5241
  #
5120
5242
  #
5121
5243
  # @example Example: To generate an RSA key pair for encryption and decryption
@@ -5131,6 +5253,7 @@ module Aws::KMS
5131
5253
  # resp.to_h outputs the following:
5132
5254
  # {
5133
5255
  # key_id: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", # The key ARN of the symmetric encryption KMS key that was used to encrypt the private key.
5256
+ # key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # The identifier of the key material used to encrypt the private key.
5134
5257
  # key_pair_spec: "RSA_3072", # The actual key spec of the RSA data key pair.
5135
5258
  # private_key_ciphertext_blob: "<binary data>", # The encrypted private key of the RSA data key pair.
5136
5259
  # private_key_plaintext: "<binary data>", # The plaintext private key of the RSA data key pair.
@@ -5158,6 +5281,7 @@ module Aws::KMS
5158
5281
  # {
5159
5282
  # ciphertext_for_recipient: "<binary data>", # The private key of the RSA data key pair encrypted by the public key from the attestation document
5160
5283
  # key_id: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", # The key ARN of the symmetric encryption KMS key that was used to encrypt the PrivateKeyCiphertextBlob.
5284
+ # key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # The identifier of the key material used to encrypt the private key.
5161
5285
  # key_pair_spec: "RSA_3072", # The actual key spec of the RSA data key pair.
5162
5286
  # private_key_ciphertext_blob: "<binary data>", # The private key of the RSA data key pair encrypted by the KMS key.
5163
5287
  # private_key_plaintext: "", # This field is null or empty
@@ -5188,6 +5312,7 @@ module Aws::KMS
5188
5312
  # resp.key_id #=> String
5189
5313
  # 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"
5190
5314
  # resp.ciphertext_for_recipient #=> String
5315
+ # resp.key_material_id #=> String
5191
5316
  #
5192
5317
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPair AWS API Documentation
5193
5318
  #
@@ -5266,10 +5391,10 @@ module Aws::KMS
5266
5391
  #
5267
5392
  #
5268
5393
  # [1]: https://tools.ietf.org/html/rfc5280
5269
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
5394
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
5270
5395
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
5271
5396
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
5272
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
5397
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
5273
5398
  #
5274
5399
  # @option params [Hash<String,String>] :encryption_context
5275
5400
  # Specifies the encryption context that will be used when encrypting the
@@ -5292,7 +5417,7 @@ module Aws::KMS
5292
5417
  #
5293
5418
  #
5294
5419
  #
5295
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
5420
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
5296
5421
  #
5297
5422
  # @option params [required, String] :key_id
5298
5423
  # Specifies the symmetric encryption KMS key that encrypts the private
@@ -5323,10 +5448,11 @@ module Aws::KMS
5323
5448
  # Determines the type of data key pair that is generated.
5324
5449
  #
5325
5450
  # The KMS rule that restricts the use of asymmetric RSA and SM2 KMS keys
5326
- # to encrypt and decrypt or to sign and verify (but not both), and the
5327
- # rule that permits you to use ECC KMS keys only to sign and verify, are
5328
- # not effective on data key pairs, which are used outside of KMS. The
5329
- # SM2 key spec is only available in China Regions.
5451
+ # to encrypt and decrypt or to sign and verify (but not both), the rule
5452
+ # that permits you to use ECC KMS keys only to sign and verify, and the
5453
+ # rule that permits you to use ML-DSA key pairs to sign and verify only
5454
+ # are not effective on data key pairs, which are used outside of KMS.
5455
+ # The SM2 key spec is only available in China Regions.
5330
5456
  #
5331
5457
  # @option params [Array<String>] :grant_tokens
5332
5458
  # A list of grant tokens.
@@ -5339,18 +5465,18 @@ module Aws::KMS
5339
5465
  #
5340
5466
  #
5341
5467
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
5342
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
5468
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
5343
5469
  #
5344
5470
  # @option params [Boolean] :dry_run
5345
5471
  # Checks if your request will succeed. `DryRun` is an optional
5346
5472
  # parameter.
5347
5473
  #
5348
- # To learn more about how to use this parameter, see [Testing your KMS
5349
- # API calls][1] in the *Key Management Service Developer Guide*.
5474
+ # To learn more about how to use this parameter, see [Testing your
5475
+ # permissions][1] in the *Key Management Service Developer Guide*.
5350
5476
  #
5351
5477
  #
5352
5478
  #
5353
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
5479
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
5354
5480
  #
5355
5481
  # @return [Types::GenerateDataKeyPairWithoutPlaintextResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5356
5482
  #
@@ -5358,6 +5484,7 @@ module Aws::KMS
5358
5484
  # * {Types::GenerateDataKeyPairWithoutPlaintextResponse#public_key #public_key} => String
5359
5485
  # * {Types::GenerateDataKeyPairWithoutPlaintextResponse#key_id #key_id} => String
5360
5486
  # * {Types::GenerateDataKeyPairWithoutPlaintextResponse#key_pair_spec #key_pair_spec} => String
5487
+ # * {Types::GenerateDataKeyPairWithoutPlaintextResponse#key_material_id #key_material_id} => String
5361
5488
  #
5362
5489
  #
5363
5490
  # @example Example: To generate an asymmetric data key pair without a plaintext key
@@ -5373,6 +5500,7 @@ module Aws::KMS
5373
5500
  # resp.to_h outputs the following:
5374
5501
  # {
5375
5502
  # key_id: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", # The key ARN of the symmetric encryption KMS key that encrypted the private key in the ECC asymmetric data key pair.
5503
+ # key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # The identifier of the key material used to encrypt the private key.
5376
5504
  # key_pair_spec: "ECC_NIST_P521", # The actual key spec of the ECC asymmetric data key pair.
5377
5505
  # private_key_ciphertext_blob: "<binary data>", # The encrypted private key of the asymmetric ECC data key pair.
5378
5506
  # public_key: "<binary data>", # The public key (plaintext).
@@ -5396,6 +5524,7 @@ module Aws::KMS
5396
5524
  # resp.public_key #=> String
5397
5525
  # resp.key_id #=> String
5398
5526
  # 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"
5527
+ # resp.key_material_id #=> String
5399
5528
  #
5400
5529
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyPairWithoutPlaintext AWS API Documentation
5401
5530
  #
@@ -5485,10 +5614,10 @@ module Aws::KMS
5485
5614
  #
5486
5615
  #
5487
5616
  #
5488
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
5617
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
5489
5618
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
5490
5619
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
5491
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
5620
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
5492
5621
  #
5493
5622
  # @option params [required, String] :key_id
5494
5623
  # Specifies the symmetric encryption KMS key that encrypts the data key.
@@ -5536,7 +5665,7 @@ module Aws::KMS
5536
5665
  #
5537
5666
  #
5538
5667
  #
5539
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
5668
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
5540
5669
  #
5541
5670
  # @option params [String] :key_spec
5542
5671
  # The length of the data key. Use `AES_128` to generate a 128-bit
@@ -5559,23 +5688,24 @@ module Aws::KMS
5559
5688
  #
5560
5689
  #
5561
5690
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
5562
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
5691
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
5563
5692
  #
5564
5693
  # @option params [Boolean] :dry_run
5565
5694
  # Checks if your request will succeed. `DryRun` is an optional
5566
5695
  # parameter.
5567
5696
  #
5568
- # To learn more about how to use this parameter, see [Testing your KMS
5569
- # API calls][1] in the *Key Management Service Developer Guide*.
5697
+ # To learn more about how to use this parameter, see [Testing your
5698
+ # permissions][1] in the *Key Management Service Developer Guide*.
5570
5699
  #
5571
5700
  #
5572
5701
  #
5573
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
5702
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
5574
5703
  #
5575
5704
  # @return [Types::GenerateDataKeyWithoutPlaintextResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5576
5705
  #
5577
5706
  # * {Types::GenerateDataKeyWithoutPlaintextResponse#ciphertext_blob #ciphertext_blob} => String
5578
5707
  # * {Types::GenerateDataKeyWithoutPlaintextResponse#key_id #key_id} => String
5708
+ # * {Types::GenerateDataKeyWithoutPlaintextResponse#key_material_id #key_material_id} => String
5579
5709
  #
5580
5710
  #
5581
5711
  # @example Example: To generate an encrypted data key
@@ -5592,6 +5722,7 @@ module Aws::KMS
5592
5722
  # {
5593
5723
  # ciphertext_blob: "<binary data>", # The encrypted data key.
5594
5724
  # key_id: "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", # The ARN of the KMS key that was used to encrypt the data key.
5725
+ # key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # The identifier of the key material used to encrypt the data key.
5595
5726
  # }
5596
5727
  #
5597
5728
  # @example Request syntax with placeholder values
@@ -5611,6 +5742,7 @@ module Aws::KMS
5611
5742
  #
5612
5743
  # resp.ciphertext_blob #=> String
5613
5744
  # resp.key_id #=> String
5745
+ # resp.key_material_id #=> String
5614
5746
  #
5615
5747
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyWithoutPlaintext AWS API Documentation
5616
5748
  #
@@ -5665,7 +5797,7 @@ module Aws::KMS
5665
5797
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
5666
5798
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
5667
5799
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
5668
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
5800
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
5669
5801
  #
5670
5802
  # @option params [required, String, StringIO, File] :message
5671
5803
  # The message to be hashed. Specify a message of up to 4,096 bytes.
@@ -5704,18 +5836,18 @@ module Aws::KMS
5704
5836
  #
5705
5837
  #
5706
5838
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
5707
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
5839
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
5708
5840
  #
5709
5841
  # @option params [Boolean] :dry_run
5710
5842
  # Checks if your request will succeed. `DryRun` is an optional
5711
5843
  # parameter.
5712
5844
  #
5713
- # To learn more about how to use this parameter, see [Testing your KMS
5714
- # API calls][1] in the *Key Management Service Developer Guide*.
5845
+ # To learn more about how to use this parameter, see [Testing your
5846
+ # permissions][1] in the *Key Management Service Developer Guide*.
5715
5847
  #
5716
5848
  #
5717
5849
  #
5718
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
5850
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
5719
5851
  #
5720
5852
  # @return [Types::GenerateMacResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5721
5853
  #
@@ -5789,7 +5921,8 @@ module Aws::KMS
5789
5921
  # Management Service Developer Guide*.
5790
5922
  #
5791
5923
  # For more information about entropy and random number generation, see
5792
- # [Key Management Service Cryptographic Details][4].
5924
+ # [Entropy and random number generation][4] in the *Key Management
5925
+ # Service Developer Guide*.
5793
5926
  #
5794
5927
  # **Cross-account use**: Not applicable. `GenerateRandom` does not use
5795
5928
  # any account-specific resources, such as KMS keys.
@@ -5804,9 +5937,9 @@ module Aws::KMS
5804
5937
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nitro-enclave.html
5805
5938
  # [2]: https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk
5806
5939
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html
5807
- # [4]: https://docs.aws.amazon.com/kms/latest/cryptographic-details/
5940
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#entropy-and-random-numbers
5808
5941
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
5809
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
5942
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
5810
5943
  #
5811
5944
  # @option params [Integer] :number_of_bytes
5812
5945
  # The length of the random byte string. This parameter is required.
@@ -5926,7 +6059,7 @@ module Aws::KMS
5926
6059
  #
5927
6060
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
5928
6061
  # [2]: https://docs.aws.amazon.com/kms/latest/APIReference/API_PutKeyPolicy.html
5929
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
6062
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
5930
6063
  #
5931
6064
  # @option params [required, String] :key_id
5932
6065
  # Gets the key policy for the specified KMS key.
@@ -5994,16 +6127,16 @@ module Aws::KMS
5994
6127
  # enabled for the specified KMS key, the [rotation period][2], and the
5995
6128
  # next scheduled rotation date.
5996
6129
  #
5997
- # Automatic key rotation is supported only on [symmetric encryption KMS
5998
- # keys][3]. You cannot enable automatic rotation of [asymmetric KMS
5999
- # keys][4], [HMAC KMS keys][5], KMS keys with [imported key
6000
- # material][6], or KMS keys in a [custom key store][7]. To enable or
6001
- # disable automatic rotation of a set of related [multi-Region keys][8],
6002
- # set the property on the primary key..
6130
+ # Automatic key rotation is supported only on symmetric encryption KMS
6131
+ # keys. You cannot enable automatic rotation of [asymmetric KMS
6132
+ # keys][3], [HMAC KMS keys][4], KMS keys with [imported key
6133
+ # material][5], or KMS keys in a [custom key store][6]. To enable or
6134
+ # disable automatic rotation of a set of related [multi-Region keys][7],
6135
+ # set the property on the primary key.
6003
6136
  #
6004
6137
  # You can enable (EnableKeyRotation) and disable automatic rotation
6005
6138
  # (DisableKeyRotation) of the key material in customer managed KMS keys.
6006
- # Key material rotation of [Amazon Web Services managed KMS keys][9] is
6139
+ # Key material rotation of [Amazon Web Services managed KMS keys][8] is
6007
6140
  # not configurable. KMS always rotates the key material in Amazon Web
6008
6141
  # Services managed KMS keys every year. The key rotation status for
6009
6142
  # Amazon Web Services managed KMS keys is always `true`.
@@ -6022,7 +6155,7 @@ module Aws::KMS
6022
6155
  # </note>
6023
6156
  #
6024
6157
  # The KMS key that you use for this operation must be in a compatible
6025
- # key state. For details, see [Key states of KMS keys][10] in the *Key
6158
+ # key state. For details, see [Key states of KMS keys][9] in the *Key
6026
6159
  # Management Service Developer Guide*.
6027
6160
  #
6028
6161
  # * Disabled: The key rotation status does not change when you disable a
@@ -6043,7 +6176,7 @@ module Aws::KMS
6043
6176
  # a different Amazon Web Services account, specify the key ARN in the
6044
6177
  # value of the `KeyId` parameter.
6045
6178
  #
6046
- # **Required permissions**: [kms:GetKeyRotationStatus][11] (key policy)
6179
+ # **Required permissions**: [kms:GetKeyRotationStatus][10] (key policy)
6047
6180
  #
6048
6181
  # **Related operations:**
6049
6182
  #
@@ -6056,22 +6189,21 @@ module Aws::KMS
6056
6189
  # * RotateKeyOnDemand
6057
6190
  #
6058
6191
  # **Eventual consistency**: The KMS API follows an eventual consistency
6059
- # model. For more information, see [KMS eventual consistency][12].
6192
+ # model. For more information, see [KMS eventual consistency][11].
6060
6193
  #
6061
6194
  #
6062
6195
  #
6063
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html
6196
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotating-keys-enable-disable.html
6064
6197
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotation-period
6065
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#symmetric-cmks
6066
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
6067
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
6068
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
6069
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
6070
- # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate
6071
- # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
6072
- # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
6073
- # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
6074
- # [12]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
6198
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
6199
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
6200
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
6201
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
6202
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#multi-region-rotate
6203
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
6204
+ # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
6205
+ # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
6206
+ # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
6075
6207
  #
6076
6208
  # @option params [required, String] :key_id
6077
6209
  # Gets the rotation status for the specified KMS key.
@@ -6145,9 +6277,7 @@ module Aws::KMS
6145
6277
  # By default, KMS keys are created with key material that KMS generates.
6146
6278
  # This operation supports [Importing key material][1], an advanced
6147
6279
  # feature that lets you generate and import the cryptographic key
6148
- # material for a KMS key. For more information about importing key
6149
- # material into KMS, see [Importing key material][1] in the *Key
6150
- # Management Service Developer Guide*.
6280
+ # material for a KMS key.
6151
6281
  #
6152
6282
  # Before calling `GetParametersForImport`, use the CreateKey operation
6153
6283
  # with an `Origin` value of `EXTERNAL` to create a KMS key with no key
@@ -6216,11 +6346,11 @@ module Aws::KMS
6216
6346
  #
6217
6347
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
6218
6348
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
6219
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
6220
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html#reimport-key-material
6349
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
6350
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-import-key-material.html#reimport-key-material
6221
6351
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
6222
6352
  # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
6223
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
6353
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
6224
6354
  #
6225
6355
  # @option params [required, String] :key_id
6226
6356
  # The identifier of the KMS key that will be associated with the
@@ -6244,9 +6374,8 @@ module Aws::KMS
6244
6374
  # @option params [required, String] :wrapping_algorithm
6245
6375
  # The algorithm you will use with the RSA public key (`PublicKey`) in
6246
6376
  # the response to protect your key material during import. For more
6247
- # information, see [Select a wrapping
6248
- # algorithm](kms/latest/developerguide/importing-keys-get-public-key-and-token.html#select-wrapping-algorithm)
6249
- # in the *Key Management Service Developer Guide*.
6377
+ # information, see [Select a wrapping algorithm][1] in the *Key
6378
+ # Management Service Developer Guide*.
6250
6379
  #
6251
6380
  # For RSA\_AES wrapping algorithms, you encrypt your key material with
6252
6381
  # an AES key that you generate, then encrypt your AES key with the RSA
@@ -6278,6 +6407,10 @@ module Aws::KMS
6278
6407
  # * **RSAES\_PKCS1\_V1\_5** (Deprecated) — As of October 10, 2023, KMS
6279
6408
  # does not support the RSAES\_PKCS1\_V1\_5 wrapping algorithm.
6280
6409
  #
6410
+ #
6411
+ #
6412
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-get-public-key-and-token.html#select-wrapping-algorithm
6413
+ #
6281
6414
  # @option params [required, String] :wrapping_key_spec
6282
6415
  # The type of RSA public key to return in the response. You will use
6283
6416
  # this wrapping key with the specified wrapping algorithm to protect
@@ -6425,8 +6558,9 @@ module Aws::KMS
6425
6558
  # * [KeyUsage][3]: Whether the key is used for encryption, signing, or
6426
6559
  # deriving a shared secret.
6427
6560
  #
6428
- # * [EncryptionAlgorithms][4] or [SigningAlgorithms][5]: A list of the
6429
- # encryption algorithms or the signing algorithms for the key.
6561
+ # * [EncryptionAlgorithms][4], [KeyAgreementAlgorithms][5], or
6562
+ # [SigningAlgorithms][6]: A list of the encryption algorithms, key
6563
+ # agreement algorithms, or signing algorithms for the key.
6430
6564
  #
6431
6565
  # Although KMS cannot enforce these restrictions on external operations,
6432
6566
  # it is crucial that you use this information to prevent the public key
@@ -6439,22 +6573,22 @@ module Aws::KMS
6439
6573
  # To verify a signature outside of KMS with an SM2 public key (China
6440
6574
  # Regions only), you must specify the distinguishing ID. By default, KMS
6441
6575
  # uses `1234567812345678` as the distinguishing ID. For more
6442
- # information, see [Offline verification with SM2 key pairs][6].
6576
+ # information, see [Offline verification with SM2 key pairs][7].
6443
6577
  #
6444
6578
  # The KMS key that you use for this operation must be in a compatible
6445
- # key state. For details, see [Key states of KMS keys][7] in the *Key
6579
+ # key state. For details, see [Key states of KMS keys][8] in the *Key
6446
6580
  # Management Service Developer Guide*.
6447
6581
  #
6448
6582
  # **Cross-account use**: Yes. To perform this operation with a KMS key
6449
6583
  # in a different Amazon Web Services account, specify the key ARN or
6450
6584
  # alias ARN in the value of the `KeyId` parameter.
6451
6585
  #
6452
- # **Required permissions**: [kms:GetPublicKey][8] (key policy)
6586
+ # **Required permissions**: [kms:GetPublicKey][9] (key policy)
6453
6587
  #
6454
6588
  # **Related operations**: CreateKey
6455
6589
  #
6456
6590
  # **Eventual consistency**: The KMS API follows an eventual consistency
6457
- # model. For more information, see [KMS eventual consistency][9].
6591
+ # model. For more information, see [KMS eventual consistency][10].
6458
6592
  #
6459
6593
  #
6460
6594
  #
@@ -6462,11 +6596,12 @@ module Aws::KMS
6462
6596
  # [2]: https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html#KMS-GetPublicKey-response-KeySpec
6463
6597
  # [3]: https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html#KMS-GetPublicKey-response-KeyUsage
6464
6598
  # [4]: https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html#KMS-GetPublicKey-response-EncryptionAlgorithms
6465
- # [5]: https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html#KMS-GetPublicKey-response-SigningAlgorithms
6466
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/asymmetric-key-specs.html#key-spec-sm-offline-verification
6467
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
6468
- # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
6469
- # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
6599
+ # [5]: https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html#KMS-GetPublicKey-response-KeyAgreementAlgorithms
6600
+ # [6]: https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html#KMS-GetPublicKey-response-SigningAlgorithms
6601
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/offline-operations.html#key-spec-sm-offline-verification
6602
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
6603
+ # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
6604
+ # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
6470
6605
  #
6471
6606
  # @option params [required, String] :key_id
6472
6607
  # Identifies the asymmetric KMS key that includes the public key.
@@ -6501,7 +6636,7 @@ module Aws::KMS
6501
6636
  #
6502
6637
  #
6503
6638
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
6504
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
6639
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
6505
6640
  #
6506
6641
  # @return [Types::GetPublicKeyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6507
6642
  #
@@ -6549,12 +6684,12 @@ module Aws::KMS
6549
6684
  # resp.key_id #=> String
6550
6685
  # resp.public_key #=> String
6551
6686
  # 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"
6552
- # 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"
6687
+ # 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", "ML_DSA_44", "ML_DSA_65", "ML_DSA_87"
6553
6688
  # resp.key_usage #=> String, one of "SIGN_VERIFY", "ENCRYPT_DECRYPT", "GENERATE_VERIFY_MAC", "KEY_AGREEMENT"
6554
6689
  # resp.encryption_algorithms #=> Array
6555
6690
  # resp.encryption_algorithms[0] #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
6556
6691
  # resp.signing_algorithms #=> Array
6557
- # 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"
6692
+ # 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", "ML_DSA_SHAKE_256"
6558
6693
  # resp.key_agreement_algorithms #=> Array
6559
6694
  # resp.key_agreement_algorithms[0] #=> String, one of "ECDH"
6560
6695
  #
@@ -6568,53 +6703,47 @@ module Aws::KMS
6568
6703
  end
6569
6704
 
6570
6705
  # Imports or reimports key material into an existing KMS key that was
6571
- # created without key material. `ImportKeyMaterial` also sets the
6572
- # expiration model and expiration date of the imported key material.
6573
- #
6574
- # By default, KMS keys are created with key material that KMS generates.
6575
- # This operation supports [Importing key material][1], an advanced
6576
- # feature that lets you generate and import the cryptographic key
6577
- # material for a KMS key. For more information about importing key
6578
- # material into KMS, see [Importing key material][1] in the *Key
6579
- # Management Service Developer Guide*.
6706
+ # created without key material. You can also use this operation to set
6707
+ # or update the expiration model and expiration date of the imported key
6708
+ # material.
6580
6709
  #
6581
- # After you successfully import key material into a KMS key, you can
6582
- # [reimport the same key material][2] into that KMS key, but you cannot
6583
- # import different key material. You might reimport key material to
6584
- # replace key material that expired or key material that you deleted.
6585
- # You might also reimport key material to change the expiration model or
6586
- # expiration date of the key material.
6710
+ # By default, KMS creates KMS keys with key material that it generates.
6711
+ # You can also generate and import your own key material. For more
6712
+ # information about importing key material, see [Importing key
6713
+ # material][1].
6714
+ #
6715
+ # For asymmetric, HMAC and multi-Region keys, you cannot change the key
6716
+ # material after the initial import. You can import multiple key
6717
+ # materials into single-Region, symmetric encryption keys and rotate the
6718
+ # key material on demand using `RotateKeyOnDemand`.
6719
+ #
6720
+ # After you import key material, you can [reimport the same key
6721
+ # material][2] into that KMS key or, if the key supports on-demand
6722
+ # rotation, import new key material. You can use the `ImportType`
6723
+ # parameter to indicate whether you are importing new key material or
6724
+ # re-importing previously imported key material. You might reimport key
6725
+ # material to replace key material that expired or key material that you
6726
+ # deleted. You might also reimport key material to change the expiration
6727
+ # model or expiration date of the key material.
6587
6728
  #
6588
6729
  # Each time you import key material into KMS, you can determine whether
6589
6730
  # (`ExpirationModel`) and when (`ValidTo`) the key material expires. To
6590
6731
  # change the expiration of your key material, you must import it again,
6591
6732
  # either by calling `ImportKeyMaterial` or using the [import
6592
- # features](kms/latest/developerguide/importing-keys-import-key-material.html#importing-keys-import-key-material-console)
6593
- # of the KMS console.
6733
+ # features][3] of the KMS console.
6594
6734
  #
6595
- # Before calling `ImportKeyMaterial`:
6735
+ # Before you call `ImportKeyMaterial`, complete these steps:
6596
6736
  #
6597
- # * Create or identify a KMS key with no key material. The KMS key must
6598
- # have an `Origin` value of `EXTERNAL`, which indicates that the KMS
6599
- # key is designed for imported key material.
6737
+ # * Create or identify a KMS key with `EXTERNAL` origin, which indicates
6738
+ # that the KMS key is designed for imported key material.
6600
6739
  #
6601
- # To create an new KMS key for imported key material, call the
6740
+ # To create a new KMS key for imported key material, call the
6602
6741
  # CreateKey operation with an `Origin` value of `EXTERNAL`. You can
6603
6742
  # create a symmetric encryption KMS key, HMAC KMS key, asymmetric
6604
- # encryption KMS key, or asymmetric signing KMS key. You can also
6605
- # import key material into a [multi-Region
6606
- # key](kms/latest/developerguide/multi-region-keys-overview.html) of
6607
- # any supported type. However, you can't import key material into a
6608
- # KMS key in a [custom key
6609
- # store](kms/latest/developerguide/custom-key-store-overview.html).
6610
- #
6611
- # * Use the DescribeKey operation to verify that the `KeyState` of the
6612
- # KMS key is `PendingImport`, which indicates that the KMS key has no
6613
- # key material.
6614
- #
6615
- # If you are reimporting the same key material into an existing KMS
6616
- # key, you might need to call the DeleteImportedKeyMaterial to delete
6617
- # its existing key material.
6743
+ # encryption KMS key, asymmetric key agreement key, or asymmetric
6744
+ # signing KMS key. You can also import key material into a
6745
+ # [multi-Region key][4] of any supported type. However, you can't
6746
+ # import key material into a KMS key in a [custom key store][5].
6618
6747
  #
6619
6748
  # * Call the GetParametersForImport operation to get a public key and
6620
6749
  # import token set for importing key material.
@@ -6629,10 +6758,9 @@ module Aws::KMS
6629
6758
  # * The key ID or key ARN of the KMS key to associate with the imported
6630
6759
  # key material. Its `Origin` must be `EXTERNAL` and its `KeyState`
6631
6760
  # must be `PendingImport`. You cannot perform this operation on a KMS
6632
- # key in a [custom key
6633
- # store](kms/latest/developerguide/custom-key-store-overview.html), or
6634
- # on a KMS key in a different Amazon Web Services account. To get the
6635
- # `Origin` and `KeyState` of a KMS key, call DescribeKey.
6761
+ # key in a [custom key store][5], or on a KMS key in a different
6762
+ # Amazon Web Services account. To get the `Origin` and `KeyState` of a
6763
+ # KMS key, call DescribeKey.
6636
6764
  #
6637
6765
  # * The encrypted key material.
6638
6766
  #
@@ -6642,7 +6770,7 @@ module Aws::KMS
6642
6770
  #
6643
6771
  # * Whether the key material expires (`ExpirationModel`) and, if so,
6644
6772
  # when (`ValidTo`). For help with this choice, see [Setting an
6645
- # expiration time][3] in the *Key Management Service Developer Guide*.
6773
+ # expiration time][6] in the *Key Management Service Developer Guide*.
6646
6774
  #
6647
6775
  # If you set an expiration date, KMS deletes the key material from the
6648
6776
  # KMS key on the specified date, making the KMS key unusable. To use
@@ -6654,23 +6782,27 @@ module Aws::KMS
6654
6782
  #
6655
6783
  # When this operation is successful, the key state of the KMS key
6656
6784
  # changes from `PendingImport` to `Enabled`, and you can use the KMS key
6657
- # in cryptographic operations.
6785
+ # in cryptographic operations. For single-Region, symmetric encryption
6786
+ # keys, you will need to import all of the key materials associated with
6787
+ # the KMS key to change its state to `Enabled`. Use the
6788
+ # `ListKeyRotations` operation to list the ID and import state of each
6789
+ # key material associated with a KMS key.
6658
6790
  #
6659
6791
  # If this operation fails, use the exception to help determine the
6660
6792
  # problem. If the error is related to the key material, the import
6661
6793
  # token, or wrapping key, use GetParametersForImport to get a new public
6662
6794
  # key and import token for the KMS key and repeat the import procedure.
6663
- # For help, see [How To Import Key Material][4] in the *Key Management
6664
- # Service Developer Guide*.
6795
+ # For help, see [Create a KMS key with imported key material][7] in the
6796
+ # *Key Management Service Developer Guide*.
6665
6797
  #
6666
6798
  # The KMS key that you use for this operation must be in a compatible
6667
- # key state. For details, see [Key states of KMS keys][5] in the *Key
6799
+ # key state. For details, see [Key states of KMS keys][8] in the *Key
6668
6800
  # Management Service Developer Guide*.
6669
6801
  #
6670
6802
  # **Cross-account use**: No. You cannot perform this operation on a KMS
6671
6803
  # key in a different Amazon Web Services account.
6672
6804
  #
6673
- # **Required permissions**: [kms:ImportKeyMaterial][6] (key policy)
6805
+ # **Required permissions**: [kms:ImportKeyMaterial][9] (key policy)
6674
6806
  #
6675
6807
  # **Related operations:**
6676
6808
  #
@@ -6678,18 +6810,25 @@ module Aws::KMS
6678
6810
  #
6679
6811
  # * GetParametersForImport
6680
6812
  #
6813
+ # * ListKeyRotations
6814
+ #
6815
+ # * RotateKeyOnDemand
6816
+ #
6681
6817
  # **Eventual consistency**: The KMS API follows an eventual consistency
6682
- # model. For more information, see [KMS eventual consistency][7].
6818
+ # model. For more information, see [KMS eventual consistency][10].
6683
6819
  #
6684
6820
  #
6685
6821
  #
6686
6822
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
6687
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html#reimport-key-material
6688
- # [3]: https://docs.aws.amazon.com/en_us/kms/latest/developerguide/importing-keys.html#importing-keys-expiration
6689
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html#importing-keys-overview
6690
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
6691
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
6692
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
6823
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-import-key-material.html#reimport-key-material
6824
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-import-key-material.html#importing-keys-import-key-material-console
6825
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
6826
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
6827
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-import-key-material.html#importing-keys-expiration
6828
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-conceptual.html
6829
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
6830
+ # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
6831
+ # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
6693
6832
  #
6694
6833
  # @option params [required, String] :key_id
6695
6834
  # The identifier of the KMS key that will be associated with the
@@ -6700,11 +6839,9 @@ module Aws::KMS
6700
6839
  #
6701
6840
  # The KMS key can be a symmetric encryption KMS key, HMAC KMS key,
6702
6841
  # asymmetric encryption KMS key, or asymmetric signing KMS key,
6703
- # including a [multi-Region
6704
- # key](kms/latest/developerguide/multi-region-keys-overview.html) of any
6705
- # supported type. You cannot perform this operation on a KMS key in a
6706
- # custom key store, or on a KMS key in a different Amazon Web Services
6707
- # account.
6842
+ # including a [multi-Region key][1] of any supported type. You cannot
6843
+ # perform this operation on a KMS key in a custom key store, or on a KMS
6844
+ # key in a different Amazon Web Services account.
6708
6845
  #
6709
6846
  # Specify the key ID or key ARN of the KMS key.
6710
6847
  #
@@ -6718,6 +6855,10 @@ module Aws::KMS
6718
6855
  # To get the key ID and key ARN for a KMS key, use ListKeys or
6719
6856
  # DescribeKey.
6720
6857
  #
6858
+ #
6859
+ #
6860
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
6861
+ #
6721
6862
  # @option params [required, String, StringIO, File] :import_token
6722
6863
  # The import token that you received in the response to a previous
6723
6864
  # GetParametersForImport request. It must be from the same response that
@@ -6762,9 +6903,47 @@ module Aws::KMS
6762
6903
  #
6763
6904
  #
6764
6905
  #
6765
- # [1]: https://docs.aws.amazon.com/en_us/kms/latest/developerguide/importing-keys.html#importing-keys-expiration
6906
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-import-key-material.html#importing-keys-expiration
6766
6907
  #
6767
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
6908
+ # @option params [String] :import_type
6909
+ # Indicates whether the key material being imported is previously
6910
+ # associated with this KMS key or not. This parameter is optional and
6911
+ # only usable with symmetric encryption keys. The default is
6912
+ # `EXISTING_KEY_MATERIAL`. If no key material has ever been imported
6913
+ # into the KMS key, and this parameter is omitted, the parameter
6914
+ # defaults to `NEW_KEY_MATERIAL`.
6915
+ #
6916
+ # @option params [String] :key_material_description
6917
+ # Description for the key material being imported. This parameter is
6918
+ # optional and only usable with symmetric encryption keys. If you do not
6919
+ # specify a key material description, KMS retains the value you
6920
+ # specified when you last imported the same key material into this KMS
6921
+ # key.
6922
+ #
6923
+ # @option params [String] :key_material_id
6924
+ # Identifies the key material being imported. This parameter is optional
6925
+ # and only usable with symmetric encryption keys. You cannot specify a
6926
+ # key material ID with `ImportType` set to `NEW_KEY_MATERIAL`. Whenever
6927
+ # you import key material into a symmetric encryption key, KMS assigns a
6928
+ # unique identifier to the key material based on the KMS key ID and the
6929
+ # imported key material. When you re-import key material with a
6930
+ # specified key material ID, KMS:
6931
+ #
6932
+ # * Computes the identifier for the key material
6933
+ #
6934
+ # * Matches the computed identifier against the specified key material
6935
+ # ID
6936
+ #
6937
+ # * Verifies that the key material ID is already associated with the KMS
6938
+ # key
6939
+ #
6940
+ # To get the list of key material IDs associated with a KMS key, use
6941
+ # ListKeyRotations.
6942
+ #
6943
+ # @return [Types::ImportKeyMaterialResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6944
+ #
6945
+ # * {Types::ImportKeyMaterialResponse#key_id #key_id} => String
6946
+ # * {Types::ImportKeyMaterialResponse#key_material_id #key_material_id} => String
6768
6947
  #
6769
6948
  #
6770
6949
  # @example Example: To import key material into a KMS key
@@ -6778,6 +6957,12 @@ module Aws::KMS
6778
6957
  # key_id: "1234abcd-12ab-34cd-56ef-1234567890ab", # The identifier of the KMS key to import the key material into. You can use the key ID or the Amazon Resource Name (ARN) of the KMS key.
6779
6958
  # })
6780
6959
  #
6960
+ # resp.to_h outputs the following:
6961
+ # {
6962
+ # key_id: "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", # The Amazon Resource Name (ARN) of the KMS key into which key material was imported.
6963
+ # key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # Identifies the imported key material.
6964
+ # }
6965
+ #
6781
6966
  # @example Example: To import key material into a KMS key
6782
6967
  #
6783
6968
  # # The following example imports key material that expires in 3 days. It might be part of an application that frequently
@@ -6791,6 +6976,12 @@ module Aws::KMS
6791
6976
  # valid_to: Time.parse("2023-09-30T00:00:00-00:00"), # Specifies the date and time when the imported key material expires.
6792
6977
  # })
6793
6978
  #
6979
+ # resp.to_h outputs the following:
6980
+ # {
6981
+ # key_id: "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", # The Amazon Resource Name (ARN) of the KMS key into which key material was imported.
6982
+ # key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # Identifies the imported key material.
6983
+ # }
6984
+ #
6794
6985
  # @example Request syntax with placeholder values
6795
6986
  #
6796
6987
  # resp = client.import_key_material({
@@ -6799,8 +6990,16 @@ module Aws::KMS
6799
6990
  # encrypted_key_material: "data", # required
6800
6991
  # valid_to: Time.now,
6801
6992
  # expiration_model: "KEY_MATERIAL_EXPIRES", # accepts KEY_MATERIAL_EXPIRES, KEY_MATERIAL_DOES_NOT_EXPIRE
6993
+ # import_type: "NEW_KEY_MATERIAL", # accepts NEW_KEY_MATERIAL, EXISTING_KEY_MATERIAL
6994
+ # key_material_description: "KeyMaterialDescriptionType",
6995
+ # key_material_id: "BackingKeyIdType",
6802
6996
  # })
6803
6997
  #
6998
+ # @example Response structure
6999
+ #
7000
+ # resp.key_id #=> String
7001
+ # resp.key_material_id #=> String
7002
+ #
6804
7003
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ImportKeyMaterial AWS API Documentation
6805
7004
  #
6806
7005
  # @overload import_key_material(params = {})
@@ -6851,10 +7050,10 @@ module Aws::KMS
6851
7050
  #
6852
7051
  #
6853
7052
  #
6854
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/limits.html#aliases-limit
7053
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/resource-limits.html#aliases-per-key
6855
7054
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
6856
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html#alias-access
6857
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
7055
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/alias-access.html
7056
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
6858
7057
  #
6859
7058
  # @option params [String] :key_id
6860
7059
  # Lists only aliases that are associated with the specified KMS key.
@@ -6986,8 +7185,9 @@ module Aws::KMS
6986
7185
  #
6987
7186
  # For detailed information about grants, including grant terminology,
6988
7187
  # see [Grants in KMS][1] in the <i> <i>Key Management Service Developer
6989
- # Guide</i> </i>. For examples of working with grants in several
6990
- # programming languages, see [Programming grants][2].
7188
+ # Guide</i> </i>. For examples of creating grants in several programming
7189
+ # languages, see [Use CreateGrant with an Amazon Web Services SDK or
7190
+ # CLI][2].
6991
7191
  #
6992
7192
  # <note markdown="1"> The `GranteePrincipal` field in the `ListGrants` response usually
6993
7193
  # contains the user or role designated as the grantee principal in the
@@ -7020,10 +7220,10 @@ module Aws::KMS
7020
7220
  #
7021
7221
  #
7022
7222
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html
7023
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-grants.html
7223
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/example_kms_CreateGrant_section.html
7024
7224
  # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services
7025
7225
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
7026
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
7226
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
7027
7227
  #
7028
7228
  # @option params [Integer] :limit
7029
7229
  # Use this parameter to specify the maximum number of items to return.
@@ -7199,7 +7399,7 @@ module Aws::KMS
7199
7399
  #
7200
7400
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
7201
7401
  # [2]: https://docs.aws.amazon.com/kms/latest/APIReference/API_PutKeyPolicy.html
7202
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
7402
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
7203
7403
  #
7204
7404
  # @option params [required, String] :key_id
7205
7405
  # Gets the names of key policies for the specified KMS key.
@@ -7281,14 +7481,15 @@ module Aws::KMS
7281
7481
  req.send_request(options)
7282
7482
  end
7283
7483
 
7284
- # Returns information about all completed key material rotations for the
7285
- # specified KMS key.
7484
+ # Returns information about the key materials associated with the
7485
+ # specified KMS key. You can use the optional `IncludeKeyMaterial`
7486
+ # parameter to control which key materials are included in the response.
7286
7487
  #
7287
7488
  # You must specify the KMS key in all requests. You can refine the key
7288
7489
  # rotations list by limiting the number of rotations returned.
7289
7490
  #
7290
7491
  # For detailed information about automatic and on-demand key rotations,
7291
- # see [Rotating KMS keys][1] in the *Key Management Service Developer
7492
+ # see [Rotate KMS keys][1] in the *Key Management Service Developer
7292
7493
  # Guide*.
7293
7494
  #
7294
7495
  # **Cross-account use**: No. You cannot perform this operation on a KMS
@@ -7300,10 +7501,14 @@ module Aws::KMS
7300
7501
  #
7301
7502
  # * EnableKeyRotation
7302
7503
  #
7504
+ # * DeleteImportedKeyMaterial
7505
+ #
7303
7506
  # * DisableKeyRotation
7304
7507
  #
7305
7508
  # * GetKeyRotationStatus
7306
7509
  #
7510
+ # * ImportKeyMaterial
7511
+ #
7307
7512
  # * RotateKeyOnDemand
7308
7513
  #
7309
7514
  # **Eventual consistency**: The KMS API follows an eventual consistency
@@ -7313,7 +7518,7 @@ module Aws::KMS
7313
7518
  #
7314
7519
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html
7315
7520
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
7316
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
7521
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
7317
7522
  #
7318
7523
  # @option params [required, String] :key_id
7319
7524
  # Gets the key rotations for the specified KMS key.
@@ -7330,6 +7535,16 @@ module Aws::KMS
7330
7535
  # To get the key ID and key ARN for a KMS key, use ListKeys or
7331
7536
  # DescribeKey.
7332
7537
  #
7538
+ # @option params [String] :include_key_material
7539
+ # Use this optional parameter to control which key materials associated
7540
+ # with this key are listed in the response. The default value of this
7541
+ # parameter is `ROTATIONS_ONLY`. If you omit this parameter, KMS returns
7542
+ # information on the key materials created by automatic or on-demand key
7543
+ # rotation. When you specify a value of `ALL_KEY_MATERIAL`, KMS adds the
7544
+ # first key material and any imported key material pending rotation to
7545
+ # the response. This parameter can only be used with KMS keys that
7546
+ # support automatic or on-demand key rotation.
7547
+ #
7333
7548
  # @option params [Integer] :limit
7334
7549
  # Use this parameter to specify the maximum number of items to return.
7335
7550
  # When this value is present, KMS does not return more than the
@@ -7382,6 +7597,7 @@ module Aws::KMS
7382
7597
  #
7383
7598
  # resp = client.list_key_rotations({
7384
7599
  # key_id: "KeyIdType", # required
7600
+ # include_key_material: "ALL_KEY_MATERIAL", # accepts ALL_KEY_MATERIAL, ROTATIONS_ONLY
7385
7601
  # limit: 1,
7386
7602
  # marker: "MarkerType",
7387
7603
  # })
@@ -7390,6 +7606,12 @@ module Aws::KMS
7390
7606
  #
7391
7607
  # resp.rotations #=> Array
7392
7608
  # resp.rotations[0].key_id #=> String
7609
+ # resp.rotations[0].key_material_id #=> String
7610
+ # resp.rotations[0].key_material_description #=> String
7611
+ # resp.rotations[0].import_state #=> String, one of "IMPORTED", "PENDING_IMPORT"
7612
+ # resp.rotations[0].key_material_state #=> String, one of "NON_CURRENT", "CURRENT", "PENDING_ROTATION"
7613
+ # resp.rotations[0].expiration_model #=> String, one of "KEY_MATERIAL_EXPIRES", "KEY_MATERIAL_DOES_NOT_EXPIRE"
7614
+ # resp.rotations[0].valid_to #=> Time
7393
7615
  # resp.rotations[0].rotation_date #=> Time
7394
7616
  # resp.rotations[0].rotation_type #=> String, one of "AUTOMATIC", "ON_DEMAND"
7395
7617
  # resp.next_marker #=> String
@@ -7428,7 +7650,7 @@ module Aws::KMS
7428
7650
  #
7429
7651
  #
7430
7652
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
7431
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
7653
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
7432
7654
  #
7433
7655
  # @option params [Integer] :limit
7434
7656
  # Use this parameter to specify the maximum number of items to return.
@@ -7524,7 +7746,7 @@ module Aws::KMS
7524
7746
  # For general information about tags, including the format and syntax,
7525
7747
  # see [Tagging Amazon Web Services resources][1] in the *Amazon Web
7526
7748
  # Services General Reference*. For information about using tags in KMS,
7527
- # see [Tagging keys][2].
7749
+ # see [Tags in KMS][2].
7528
7750
  #
7529
7751
  # **Cross-account use**: No. You cannot perform this operation on a KMS
7530
7752
  # key in a different Amazon Web Services account.
@@ -7549,7 +7771,7 @@ module Aws::KMS
7549
7771
  # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
7550
7772
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/tagging-keys.html
7551
7773
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
7552
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
7774
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
7553
7775
  #
7554
7776
  # @option params [required, String] :key_id
7555
7777
  # Gets tags on the specified KMS key.
@@ -7654,8 +7876,9 @@ module Aws::KMS
7654
7876
  #
7655
7877
  # For detailed information about grants, including grant terminology,
7656
7878
  # see [Grants in KMS][1] in the <i> <i>Key Management Service Developer
7657
- # Guide</i> </i>. For examples of working with grants in several
7658
- # programming languages, see [Programming grants][2].
7879
+ # Guide</i> </i>. For examples of creating grants in several programming
7880
+ # languages, see [Use CreateGrant with an Amazon Web Services SDK or
7881
+ # CLI][2].
7659
7882
  #
7660
7883
  # **Cross-account use**: You must specify a principal in your Amazon Web
7661
7884
  # Services account. This operation returns a list of grants where the
@@ -7693,9 +7916,9 @@ module Aws::KMS
7693
7916
  #
7694
7917
  #
7695
7918
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html
7696
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-grants.html
7919
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/example_kms_CreateGrant_section.html
7697
7920
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
7698
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
7921
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
7699
7922
  #
7700
7923
  # @option params [Integer] :limit
7701
7924
  # Use this parameter to specify the maximum number of items to return.
@@ -7805,8 +8028,9 @@ module Aws::KMS
7805
8028
  # formatting a JSON policy document, see the [IAM JSON Policy
7806
8029
  # Reference][2] in the <i> <i>Identity and Access Management User
7807
8030
  # Guide</i> </i>. For examples of adding a key policy in multiple
7808
- # programming languages, see [Setting a key policy][3] in the *Key
7809
- # Management Service Developer Guide*.
8031
+ # programming languages, see [Use PutKeyPolicy with an Amazon Web
8032
+ # Services SDK or CLI][3] in the *Key Management Service Developer
8033
+ # Guide*.
7810
8034
  #
7811
8035
  # **Cross-account use**: No. You cannot perform this operation on a KMS
7812
8036
  # key in a different Amazon Web Services account.
@@ -7822,9 +8046,9 @@ module Aws::KMS
7822
8046
  #
7823
8047
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
7824
8048
  # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
7825
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-key-policies.html#put-policy
8049
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/example_kms_PutKeyPolicy_section.html
7826
8050
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
7827
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
8051
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
7828
8052
  #
7829
8053
  # @option params [required, String] :key_id
7830
8054
  # Sets the key policy on the specified KMS key.
@@ -7865,6 +8089,17 @@ module Aws::KMS
7865
8089
  # not always immediately visible][2] in the *Amazon Web Services
7866
8090
  # Identity and Access Management User Guide*.
7867
8091
  #
8092
+ # <note markdown="1"> If either of the required `Resource` or `Action` elements are missing
8093
+ # from a key policy statement, the policy statement has no effect. When
8094
+ # a key policy statement is missing one of these elements, the KMS
8095
+ # console correctly reports an error, but the `PutKeyPolicy` API request
8096
+ # succeeds, even though the policy statement is ineffective.
8097
+ #
8098
+ # For more information on required key policy elements, see [Elements in
8099
+ # a key policy][3] in the *Key Management Service Developer Guide*.
8100
+ #
8101
+ # </note>
8102
+ #
7868
8103
  # A key policy document can include only the following characters:
7869
8104
  #
7870
8105
  # * Printable ASCII characters from the space character (`\u0020`)
@@ -7876,18 +8111,24 @@ module Aws::KMS
7876
8111
  # * The tab (`\u0009`), line feed (`\u000A`), and carriage return
7877
8112
  # (`\u000D`) special characters
7878
8113
  #
7879
- # For information about key policies, see [Key policies in KMS][3] in
8114
+ # <note markdown="1"> If the key policy exceeds the length constraint, KMS returns a
8115
+ # `LimitExceededException`.
8116
+ #
8117
+ # </note>
8118
+ #
8119
+ # For information about key policies, see [Key policies in KMS][4] in
7880
8120
  # the *Key Management Service Developer Guide*.For help writing and
7881
8121
  # formatting a JSON policy document, see the [IAM JSON Policy
7882
- # Reference][4] in the <i> <i>Identity and Access Management User
8122
+ # Reference][5] in the <i> <i>Identity and Access Management User
7883
8123
  # Guide</i> </i>.
7884
8124
  #
7885
8125
  #
7886
8126
  #
7887
8127
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
7888
8128
  # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
7889
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
7890
- # [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
8129
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-overview.html#key-policy-elements
8130
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
8131
+ # [5]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html
7891
8132
  #
7892
8133
  # @option params [Boolean] :bypass_policy_lockout_safety_check
7893
8134
  # Skips ("bypasses") the key policy lockout safety check. The default
@@ -8036,15 +8277,15 @@ module Aws::KMS
8036
8277
  #
8037
8278
  #
8038
8279
  #
8039
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotate-keys-manually
8040
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
8041
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-concepts.html#asymmetric-cmks
8280
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys-manually.html
8281
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
8282
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
8042
8283
  # [4]: https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/
8043
8284
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html
8044
8285
  # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
8045
8286
  # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
8046
8287
  # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
8047
- # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
8288
+ # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
8048
8289
  #
8049
8290
  # @option params [required, String, StringIO, File] :ciphertext_blob
8050
8291
  # Ciphertext of the data to reencrypt.
@@ -8067,7 +8308,7 @@ module Aws::KMS
8067
8308
  #
8068
8309
  #
8069
8310
  #
8070
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
8311
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
8071
8312
  #
8072
8313
  # @option params [String] :source_key_id
8073
8314
  # Specifies the KMS key that KMS will use to decrypt the ciphertext
@@ -8153,7 +8394,7 @@ module Aws::KMS
8153
8394
  #
8154
8395
  #
8155
8396
  #
8156
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
8397
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/encrypt_context.html
8157
8398
  #
8158
8399
  # @option params [String] :source_encryption_algorithm
8159
8400
  # Specifies the encryption algorithm that KMS will use to decrypt the
@@ -8187,18 +8428,18 @@ module Aws::KMS
8187
8428
  #
8188
8429
  #
8189
8430
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
8190
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
8431
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
8191
8432
  #
8192
8433
  # @option params [Boolean] :dry_run
8193
8434
  # Checks if your request will succeed. `DryRun` is an optional
8194
8435
  # parameter.
8195
8436
  #
8196
- # To learn more about how to use this parameter, see [Testing your KMS
8197
- # API calls][1] in the *Key Management Service Developer Guide*.
8437
+ # To learn more about how to use this parameter, see [Testing your
8438
+ # permissions][1] in the *Key Management Service Developer Guide*.
8198
8439
  #
8199
8440
  #
8200
8441
  #
8201
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
8442
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
8202
8443
  #
8203
8444
  # @return [Types::ReEncryptResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8204
8445
  #
@@ -8207,6 +8448,8 @@ module Aws::KMS
8207
8448
  # * {Types::ReEncryptResponse#key_id #key_id} => String
8208
8449
  # * {Types::ReEncryptResponse#source_encryption_algorithm #source_encryption_algorithm} => String
8209
8450
  # * {Types::ReEncryptResponse#destination_encryption_algorithm #destination_encryption_algorithm} => String
8451
+ # * {Types::ReEncryptResponse#source_key_material_id #source_key_material_id} => String
8452
+ # * {Types::ReEncryptResponse#destination_key_material_id #destination_key_material_id} => String
8210
8453
  #
8211
8454
  #
8212
8455
  # @example Example: To reencrypt data
@@ -8221,8 +8464,12 @@ module Aws::KMS
8221
8464
  # resp.to_h outputs the following:
8222
8465
  # {
8223
8466
  # ciphertext_blob: "<binary data>", # The reencrypted data.
8467
+ # destination_encryption_algorithm: "SYMMETRIC_DEFAULT", # The encryption algorithm that was used to reencrypt the data.
8468
+ # destination_key_material_id: "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # The identifier of the key material used to reencrypt the data.
8224
8469
  # key_id: "arn:aws:kms:us-east-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321", # The ARN of the KMS key that was used to reencrypt the data.
8470
+ # source_encryption_algorithm: "SYMMETRIC_DEFAULT", # The encryption algorithm that was used to decrypt the ciphertext before it was reencrypted.
8225
8471
  # source_key_id: "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", # The ARN of the KMS key that was originally used to encrypt the data.
8472
+ # source_key_material_id: "1c6be7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", # The identifier of the key material used to originally encrypt the data.
8226
8473
  # }
8227
8474
  #
8228
8475
  # @example Request syntax with placeholder values
@@ -8250,6 +8497,8 @@ module Aws::KMS
8250
8497
  # resp.key_id #=> String
8251
8498
  # resp.source_encryption_algorithm #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
8252
8499
  # resp.destination_encryption_algorithm #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
8500
+ # resp.source_key_material_id #=> String
8501
+ # resp.destination_key_material_id #=> String
8253
8502
  #
8254
8503
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ReEncrypt AWS API Documentation
8255
8504
  #
@@ -8281,12 +8530,12 @@ module Aws::KMS
8281
8530
  # independently of its primary and peer replica keys. A primary key and
8282
8531
  # its replica keys share properties that make them interoperable. They
8283
8532
  # have the same [key ID][2] and key material. They also have the same
8284
- # [key spec][3], [key usage][4], [key material origin][5], and
8285
- # [automatic key rotation status][6]. KMS automatically synchronizes
8286
- # these shared properties among related multi-Region keys. All other
8287
- # properties of a replica key can differ, including its [key policy][7],
8288
- # [tags][8], [aliases][9], and [Key states of KMS keys][10]. KMS pricing
8289
- # and quotas for KMS keys apply to each primary key and replica key.
8533
+ # key spec, key usage, key material origin, and automatic key rotation
8534
+ # status. KMS automatically synchronizes these shared properties among
8535
+ # related multi-Region keys. All other properties of a replica key can
8536
+ # differ, including its [key policy][3], [tags][4], [aliases][5], and
8537
+ # [key state][6]. KMS pricing and quotas for KMS keys apply to each
8538
+ # primary key and replica key.
8290
8539
  #
8291
8540
  # When this operation completes, the new replica key has a transient key
8292
8541
  # state of `Creating`. This key state changes to `Enabled` (or
@@ -8296,7 +8545,7 @@ module Aws::KMS
8296
8545
  # If you are creating and using the replica key programmatically, retry
8297
8546
  # on `KMSInvalidStateException` or call `DescribeKey` to check its
8298
8547
  # `KeyState` value before using it. For details about the `Creating` key
8299
- # state, see [Key states of KMS keys][10] in the *Key Management Service
8548
+ # state, see [Key states of KMS keys][6] in the *Key Management Service
8300
8549
  # Developer Guide*.
8301
8550
  #
8302
8551
  # You cannot create more than one replica of a primary key in any
@@ -8305,7 +8554,7 @@ module Aws::KMS
8305
8554
  # `AlreadyExistsException` error. If the key state of the existing
8306
8555
  # replica is `PendingDeletion`, you can cancel the scheduled key
8307
8556
  # deletion (CancelKeyDeletion) or wait for the key to be deleted. The
8308
- # new replica key you create will have the same [shared properties][11]
8557
+ # new replica key you create will have the same [shared properties][7]
8309
8558
  # as the original replica key.
8310
8559
  #
8311
8560
  # The CloudTrail log of a `ReplicateKey` operation records a
@@ -8315,8 +8564,6 @@ module Aws::KMS
8315
8564
  # If you replicate a multi-Region primary key with imported key
8316
8565
  # material, the replica key is created with no key material. You must
8317
8566
  # import the same key material that you imported into the primary key.
8318
- # For details, see [Importing key material into multi-Region keys][12]
8319
- # in the *Key Management Service Developer Guide*.
8320
8567
  #
8321
8568
  # To convert a replica key to a primary key, use the UpdatePrimaryRegion
8322
8569
  # operation.
@@ -8347,23 +8594,18 @@ module Aws::KMS
8347
8594
  # * UpdatePrimaryRegion
8348
8595
  #
8349
8596
  # **Eventual consistency**: The KMS API follows an eventual consistency
8350
- # model. For more information, see [KMS eventual consistency][13].
8597
+ # model. For more information, see [KMS eventual consistency][8].
8351
8598
  #
8352
8599
  #
8353
8600
  #
8354
8601
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
8355
8602
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-id
8356
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-spec
8357
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-usage
8358
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-origin
8359
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html
8360
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
8361
- # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/tagging-keys.html
8362
- # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html
8363
- # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
8364
- # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html#mrk-sync-properties
8365
- # [12]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-import.html
8366
- # [13]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
8603
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
8604
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/tagging-keys.html
8605
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html
8606
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
8607
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html#mrk-sync-properties
8608
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
8367
8609
  #
8368
8610
  # @option params [required, String] :key_id
8369
8611
  # Identifies the multi-Region primary key that is being replicated. To
@@ -8391,33 +8633,23 @@ module Aws::KMS
8391
8633
  # [KMS service endpoints][1] in the *Amazon Web Services General
8392
8634
  # Reference*.
8393
8635
  #
8394
- # <note markdown="1"> HMAC KMS keys are not supported in all Amazon Web Services Regions. If
8395
- # you try to replicate an HMAC KMS key in an Amazon Web Services Region
8396
- # in which HMAC keys are not supported, the `ReplicateKey` operation
8397
- # returns an `UnsupportedOperationException`. For a list of Regions in
8398
- # which HMAC KMS keys are supported, see [HMAC keys in KMS][2] in the
8399
- # *Key Management Service Developer Guide*.
8400
- #
8401
- # </note>
8402
- #
8403
8636
  # The replica must be in a different Amazon Web Services Region than its
8404
8637
  # primary key and other replicas of that primary key, but in the same
8405
8638
  # Amazon Web Services partition. KMS must be available in the replica
8406
8639
  # Region. If the Region is not enabled by default, the Amazon Web
8407
8640
  # Services account must be enabled in the Region. For information about
8408
- # Amazon Web Services partitions, see [Amazon Resource Names (ARNs)][3]
8641
+ # Amazon Web Services partitions, see [Amazon Resource Names (ARNs)][2]
8409
8642
  # in the *Amazon Web Services General Reference*. For information about
8410
- # enabling and disabling Regions, see [Enabling a Region][4] and
8411
- # [Disabling a Region][5] in the *Amazon Web Services General
8643
+ # enabling and disabling Regions, see [Enabling a Region][3] and
8644
+ # [Disabling a Region][4] in the *Amazon Web Services General
8412
8645
  # Reference*.
8413
8646
  #
8414
8647
  #
8415
8648
  #
8416
8649
  # [1]: https://docs.aws.amazon.com/general/latest/gr/kms.html#kms_region
8417
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
8418
- # [3]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
8419
- # [4]: https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-enable
8420
- # [5]: https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-disable
8650
+ # [2]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
8651
+ # [3]: https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-enable
8652
+ # [4]: https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-disable
8421
8653
  #
8422
8654
  # @option params [String] :policy
8423
8655
  # The key policy to attach to the KMS key. This parameter is optional.
@@ -8465,7 +8697,7 @@ module Aws::KMS
8465
8697
  #
8466
8698
  #
8467
8699
  #
8468
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default
8700
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html
8469
8701
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key
8470
8702
  # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
8471
8703
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
@@ -8534,7 +8766,7 @@ module Aws::KMS
8534
8766
  # When you add tags to an Amazon Web Services resource, Amazon Web
8535
8767
  # Services generates a cost allocation report with usage and costs
8536
8768
  # aggregated by tags. Tags can also be used to control access to a KMS
8537
- # key. For details, see [Tagging Keys][3].
8769
+ # key. For details, see [Tags in KMS][3].
8538
8770
  #
8539
8771
  #
8540
8772
  #
@@ -8629,11 +8861,11 @@ module Aws::KMS
8629
8861
  # resp.replica_key_metadata.expiration_model #=> String, one of "KEY_MATERIAL_EXPIRES", "KEY_MATERIAL_DOES_NOT_EXPIRE"
8630
8862
  # resp.replica_key_metadata.key_manager #=> String, one of "AWS", "CUSTOMER"
8631
8863
  # 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"
8632
- # 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"
8864
+ # 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", "ML_DSA_44", "ML_DSA_65", "ML_DSA_87"
8633
8865
  # resp.replica_key_metadata.encryption_algorithms #=> Array
8634
8866
  # resp.replica_key_metadata.encryption_algorithms[0] #=> String, one of "SYMMETRIC_DEFAULT", "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256", "SM2PKE"
8635
8867
  # resp.replica_key_metadata.signing_algorithms #=> Array
8636
- # 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"
8868
+ # 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", "ML_DSA_SHAKE_256"
8637
8869
  # resp.replica_key_metadata.key_agreement_algorithms #=> Array
8638
8870
  # resp.replica_key_metadata.key_agreement_algorithms[0] #=> String, one of "ECDH"
8639
8871
  # resp.replica_key_metadata.multi_region #=> Boolean
@@ -8647,6 +8879,7 @@ module Aws::KMS
8647
8879
  # resp.replica_key_metadata.mac_algorithms #=> Array
8648
8880
  # resp.replica_key_metadata.mac_algorithms[0] #=> String, one of "HMAC_SHA_224", "HMAC_SHA_256", "HMAC_SHA_384", "HMAC_SHA_512"
8649
8881
  # resp.replica_key_metadata.xks_key_configuration.id #=> String
8882
+ # resp.replica_key_metadata.current_key_material_id #=> String
8650
8883
  # resp.replica_policy #=> String
8651
8884
  # resp.replica_tags #=> Array
8652
8885
  # resp.replica_tags[0].tag_key #=> String
@@ -8670,20 +8903,20 @@ module Aws::KMS
8670
8903
  # by the *grantee principal* if the grant allows the `RetireGrant`
8671
8904
  # operation, and by the Amazon Web Services account in which the grant
8672
8905
  # is created. It can also be called by principals to whom permission for
8673
- # retiring a grant is delegated. For details, see [Retiring and revoking
8674
- # grants][2] in the *Key Management Service Developer Guide*.
8906
+ # retiring a grant is delegated.
8675
8907
  #
8676
8908
  # For detailed information about grants, including grant terminology,
8677
- # see [Grants in KMS][3] in the <i> <i>Key Management Service Developer
8678
- # Guide</i> </i>. For examples of working with grants in several
8679
- # programming languages, see [Programming grants][4].
8909
+ # see [Grants in KMS][2] in the <i> <i>Key Management Service Developer
8910
+ # Guide</i> </i>. For examples of creating grants in several programming
8911
+ # languages, see [Use CreateGrant with an Amazon Web Services SDK or
8912
+ # CLI][3].
8680
8913
  #
8681
8914
  # **Cross-account use**: Yes. You can retire a grant on a KMS key in a
8682
8915
  # different Amazon Web Services account.
8683
8916
  #
8684
8917
  # **Required permissions**: Permission to retire a grant is determined
8685
8918
  # primarily by the grant. For details, see [Retiring and revoking
8686
- # grants][2] in the *Key Management Service Developer Guide*.
8919
+ # grants][4] in the *Key Management Service Developer Guide*.
8687
8920
  #
8688
8921
  # **Related operations:**
8689
8922
  #
@@ -8701,10 +8934,10 @@ module Aws::KMS
8701
8934
  #
8702
8935
  #
8703
8936
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
8704
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#grant-delete
8705
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html
8706
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-grants.html
8707
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
8937
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html
8938
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/example_kms_CreateGrant_section.html
8939
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-delete.html
8940
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
8708
8941
  #
8709
8942
  # @option params [String] :grant_token
8710
8943
  # Identifies the grant to be retired. You can use a grant token to
@@ -8739,12 +8972,12 @@ module Aws::KMS
8739
8972
  # Checks if your request will succeed. `DryRun` is an optional
8740
8973
  # parameter.
8741
8974
  #
8742
- # To learn more about how to use this parameter, see [Testing your KMS
8743
- # API calls][1] in the *Key Management Service Developer Guide*.
8975
+ # To learn more about how to use this parameter, see [Testing your
8976
+ # permissions][1] in the *Key Management Service Developer Guide*.
8744
8977
  #
8745
8978
  #
8746
8979
  #
8747
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
8980
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
8748
8981
  #
8749
8982
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8750
8983
  #
@@ -8789,8 +9022,9 @@ module Aws::KMS
8789
9022
  #
8790
9023
  # For detailed information about grants, including grant terminology,
8791
9024
  # see [Grants in KMS][3] in the <i> <i>Key Management Service Developer
8792
- # Guide</i> </i>. For examples of working with grants in several
8793
- # programming languages, see [Programming grants][4].
9025
+ # Guide</i> </i>. For examples of creating grants in several programming
9026
+ # languages, see [Use CreateGrant with an Amazon Web Services SDK or
9027
+ # CLI][4].
8794
9028
  #
8795
9029
  # **Cross-account use**: Yes. To perform this operation on a KMS key in
8796
9030
  # a different Amazon Web Services account, specify the key ARN in the
@@ -8813,12 +9047,12 @@ module Aws::KMS
8813
9047
  #
8814
9048
  #
8815
9049
  #
8816
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#grant-delete
9050
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-delete.html
8817
9051
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-eventual-consistency
8818
9052
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html
8819
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-grants.html
9053
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/example_kms_CreateGrant_section.html
8820
9054
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
8821
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
9055
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
8822
9056
  #
8823
9057
  # @option params [required, String] :key_id
8824
9058
  # A unique identifier for the KMS key associated with the grant. To get
@@ -8845,12 +9079,12 @@ module Aws::KMS
8845
9079
  # Checks if your request will succeed. `DryRun` is an optional
8846
9080
  # parameter.
8847
9081
  #
8848
- # To learn more about how to use this parameter, see [Testing your KMS
8849
- # API calls][1] in the *Key Management Service Developer Guide*.
9082
+ # To learn more about how to use this parameter, see [Testing your
9083
+ # permissions][1] in the *Key Management Service Developer Guide*.
8850
9084
  #
8851
9085
  #
8852
9086
  #
8853
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
9087
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
8854
9088
  #
8855
9089
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8856
9090
  #
@@ -8906,10 +9140,15 @@ module Aws::KMS
8906
9140
  # of the key material for your KMS keys in CloudTrail and Amazon
8907
9141
  # CloudWatch.
8908
9142
  #
8909
- # On-demand key rotation is supported only on [symmetric encryption KMS
8910
- # keys][3]. You cannot perform on-demand rotation of [asymmetric KMS
8911
- # keys][4], [HMAC KMS keys][5], KMS keys with [imported key
8912
- # material][6], or KMS keys in a [custom key store][7]. To perform
9143
+ # On-demand key rotation is supported only on symmetric encryption KMS
9144
+ # keys. You cannot perform on-demand rotation of [asymmetric KMS
9145
+ # keys][3], [HMAC KMS keys][4], multi-Region KMS keys with [imported key
9146
+ # material][5], or KMS keys in a [custom key store][6]. When you
9147
+ # initiate on-demand key rotation on a symmetric encryption KMS key with
9148
+ # imported key material, you must have already imported [new key
9149
+ # material][7] and that key material's state should be
9150
+ # `PENDING_ROTATION`. Use the `ListKeyRotations` operation to check the
9151
+ # state of all key materials associated with a KMS key. To perform
8913
9152
  # on-demand rotation of a set of related [multi-Region keys][8], invoke
8914
9153
  # the on-demand rotation on the primary key.
8915
9154
  #
@@ -8936,6 +9175,8 @@ module Aws::KMS
8936
9175
  #
8937
9176
  # * GetKeyRotationStatus
8938
9177
  #
9178
+ # * ImportKeyMaterial
9179
+ #
8939
9180
  # * ListKeyRotations
8940
9181
  #
8941
9182
  # **Eventual consistency**: The KMS API follows an eventual consistency
@@ -8943,27 +9184,27 @@ module Aws::KMS
8943
9184
  #
8944
9185
  #
8945
9186
  #
8946
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotating-keys-on-demand
8947
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotating-keys-enable-disable
8948
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#symmetric-cmks
8949
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
8950
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
8951
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
8952
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
8953
- # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate
9187
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotating-keys-on-demand.html
9188
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/rotating-keys-enable-disable.html
9189
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
9190
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
9191
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
9192
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
9193
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-import-key-material.html
9194
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#multi-region-rotate
8954
9195
  # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
8955
9196
  # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk
8956
9197
  # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
8957
9198
  # [12]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
8958
- # [13]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
9199
+ # [13]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
8959
9200
  #
8960
9201
  # @option params [required, String] :key_id
8961
9202
  # Identifies a symmetric encryption KMS key. You cannot perform
8962
9203
  # on-demand rotation of [asymmetric KMS keys][1], [HMAC KMS keys][2],
8963
- # KMS keys with [imported key material][3], or KMS keys in a [custom key
8964
- # store][4]. To perform on-demand rotation of a set of related
8965
- # [multi-Region keys][5], invoke the on-demand rotation on the primary
8966
- # key.
9204
+ # multi-Region KMS keys with [imported key material][3], or KMS keys in
9205
+ # a [custom key store][4]. To perform on-demand rotation of a set of
9206
+ # related [multi-Region keys][5], invoke the on-demand rotation on the
9207
+ # primary key.
8967
9208
  #
8968
9209
  # Specify the key ID or key ARN of the KMS key.
8969
9210
  #
@@ -8982,8 +9223,8 @@ module Aws::KMS
8982
9223
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
8983
9224
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
8984
9225
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
8985
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
8986
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate
9226
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
9227
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#multi-region-rotate
8987
9228
  #
8988
9229
  # @return [Types::RotateKeyOnDemandResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8989
9230
  #
@@ -9037,9 +9278,8 @@ module Aws::KMS
9037
9278
  # operation. When a KMS key is deleted, all data that was encrypted
9038
9279
  # under the KMS key is unrecoverable. (The only exception is a
9039
9280
  # [multi-Region replica key][1], or an [asymmetric or HMAC KMS key with
9040
- # imported key
9041
- # material](kms/latest/developerguide/importing-keys-managing.html#import-delete-key).)
9042
- # To prevent the use of a KMS key without deleting it, use DisableKey.
9281
+ # imported key material][2].) To prevent the use of a KMS key without
9282
+ # deleting it, use DisableKey.
9043
9283
  #
9044
9284
  # You can schedule the deletion of a multi-Region primary key and its
9045
9285
  # replica keys at any time. However, KMS will not delete a multi-Region
@@ -9050,13 +9290,13 @@ module Aws::KMS
9050
9290
  # the last of its replicas keys is deleted (not just scheduled), the key
9051
9291
  # state of the primary key changes to `PendingDeletion` and its waiting
9052
9292
  # period (`PendingWindowInDays`) begins. For details, see [Deleting
9053
- # multi-Region keys][1] in the *Key Management Service Developer Guide*.
9293
+ # multi-Region keys][3] in the *Key Management Service Developer Guide*.
9054
9294
  #
9055
- # When KMS [deletes a KMS key from an CloudHSM key store][2], it makes a
9295
+ # When KMS [deletes a KMS key from an CloudHSM key store][4], it makes a
9056
9296
  # best effort to delete the associated key material from the associated
9057
9297
  # CloudHSM cluster. However, you might need to manually [delete the
9058
- # orphaned key material][3] from the cluster and its backups. [Deleting
9059
- # a KMS key from an external key store][4] has no effect on the
9298
+ # orphaned key material][5] from the cluster and its backups. [Deleting
9299
+ # a KMS key from an external key store][6] has no effect on the
9060
9300
  # associated external key. However, for both types of custom key stores,
9061
9301
  # deleting a KMS key is destructive and irreversible. You cannot decrypt
9062
9302
  # ciphertext encrypted under the KMS key by using only its associated
@@ -9065,11 +9305,11 @@ module Aws::KMS
9065
9305
  # material.
9066
9306
  #
9067
9307
  # For more information about scheduling a KMS key for deletion, see
9068
- # [Deleting KMS keys][5] in the *Key Management Service Developer
9308
+ # [Deleting KMS keys][7] in the *Key Management Service Developer
9069
9309
  # Guide*.
9070
9310
  #
9071
9311
  # The KMS key that you use for this operation must be in a compatible
9072
- # key state. For details, see [Key states of KMS keys][6] in the *Key
9312
+ # key state. For details, see [Key states of KMS keys][8] in the *Key
9073
9313
  # Management Service Developer Guide*.
9074
9314
  #
9075
9315
  # **Cross-account use**: No. You cannot perform this operation on a KMS
@@ -9084,17 +9324,19 @@ module Aws::KMS
9084
9324
  # * DisableKey
9085
9325
  #
9086
9326
  # **Eventual consistency**: The KMS API follows an eventual consistency
9087
- # model. For more information, see [KMS eventual consistency][7].
9327
+ # model. For more information, see [KMS eventual consistency][9].
9088
9328
  #
9089
9329
  #
9090
9330
  #
9091
9331
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-delete.html
9092
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/delete-cmk-keystore.html
9093
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html#fix-keystore-orphaned-key
9094
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/delete-xks-key.html
9095
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html
9096
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
9097
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
9332
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html#import-delete-key
9333
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html#deleting-mrks
9334
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html#delete-cmk-keystore
9335
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html#fix-keystore-orphaned-key
9336
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html#delete-xks-key
9337
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html
9338
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
9339
+ # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
9098
9340
  #
9099
9341
  # @option params [required, String] :key_id
9100
9342
  # The unique identifier of the KMS key to delete.
@@ -9183,11 +9425,11 @@ module Aws::KMS
9183
9425
  # Developer Guide*.
9184
9426
  #
9185
9427
  # Digital signatures are generated and verified by using asymmetric key
9186
- # pair, such as an RSA or ECC pair that is represented by an asymmetric
9187
- # KMS key. The key owner (or an authorized user) uses their private key
9188
- # to sign a message. Anyone with the public key can verify that the
9189
- # message was signed with that particular private key and that the
9190
- # message hasn't changed since it was signed.
9428
+ # pair, such as an RSA, ECC, or ML-DSA pair that is represented by an
9429
+ # asymmetric KMS key. The key owner (or an authorized user) uses their
9430
+ # private key to sign a message. Anyone with the public key can verify
9431
+ # that the message was signed with that particular private key and that
9432
+ # the message hasn't changed since it was signed.
9191
9433
  #
9192
9434
  # To use the `Sign` operation, provide the following information:
9193
9435
  #
@@ -9200,8 +9442,8 @@ module Aws::KMS
9200
9442
  # to sign. You can submit messages of up to 4096 bytes. To sign a
9201
9443
  # larger message, generate a hash digest of the message, and then
9202
9444
  # provide the hash digest in the `Message` parameter. To indicate
9203
- # whether the message is a full message or a digest, use the
9204
- # `MessageType` parameter.
9445
+ # whether the message is a full message, a digest, or an ML-DSA
9446
+ # EXTERNAL\_MU, use the `MessageType` parameter.
9205
9447
  #
9206
9448
  # * Choose a signing algorithm that is compatible with the KMS key.
9207
9449
  #
@@ -9243,7 +9485,7 @@ module Aws::KMS
9243
9485
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
9244
9486
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
9245
9487
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
9246
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
9488
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
9247
9489
  #
9248
9490
  # @option params [required, String] :key_id
9249
9491
  # Identifies an asymmetric KMS key. KMS uses the private key in the
@@ -9281,26 +9523,34 @@ module Aws::KMS
9281
9523
  # @option params [String] :message_type
9282
9524
  # Tells KMS whether the value of the `Message` parameter should be
9283
9525
  # hashed as part of the signing algorithm. Use `RAW` for unhashed
9284
- # messages; use `DIGEST` for message digests, which are already hashed.
9526
+ # messages; use `DIGEST` for message digests, which are already hashed;
9527
+ # use `EXTERNAL_MU` for 64-byte representative μ used in ML-DSA signing
9528
+ # as defined in NIST FIPS 204 Section 6.2.
9285
9529
  #
9286
9530
  # When the value of `MessageType` is `RAW`, KMS uses the standard
9287
9531
  # signing algorithm, which begins with a hash function. When the value
9288
- # is `DIGEST`, KMS skips the hashing step in the signing algorithm.
9532
+ # is `DIGEST`, KMS skips the hashing step in the signing algorithm. When
9533
+ # the value is `EXTERNAL_MU` KMS skips the concatenated hashing of the
9534
+ # public key hash and the message done in the ML-DSA signing algorithm.
9289
9535
  #
9290
- # Use the `DIGEST` value only when the value of the `Message` parameter
9291
- # is a message digest. If you use the `DIGEST` value with an unhashed
9292
- # message, the security of the signing operation can be compromised.
9536
+ # Use the `DIGEST` or `EXTERNAL_MU` value only when the value of the
9537
+ # `Message` parameter is a message digest. If you use the `DIGEST` value
9538
+ # with an unhashed message, the security of the signing operation can be
9539
+ # compromised.
9293
9540
  #
9294
- # When the value of `MessageType`is `DIGEST`, the length of the
9541
+ # When the value of `MessageType` is `DIGEST`, the length of the
9295
9542
  # `Message` value must match the length of hashed messages for the
9296
9543
  # specified signing algorithm.
9297
9544
  #
9545
+ # When the value of `MessageType` is `EXTERNAL_MU` the length of the
9546
+ # `Message` value must be 64 bytes.
9547
+ #
9298
9548
  # You can submit a message digest and omit the `MessageType` or specify
9299
9549
  # `RAW` so the digest is hashed again while signing. However, this can
9300
9550
  # cause verification failures when verifying with a system that assumes
9301
9551
  # a single hash.
9302
9552
  #
9303
- # The hashing algorithm in that `Sign` uses is based on the
9553
+ # The hashing algorithm that `Sign` uses is based on the
9304
9554
  # `SigningAlgorithm` value.
9305
9555
  #
9306
9556
  # * Signing algorithms that end in SHA\_256 use the SHA\_256 hashing
@@ -9312,12 +9562,15 @@ module Aws::KMS
9312
9562
  # * Signing algorithms that end in SHA\_512 use the SHA\_512 hashing
9313
9563
  # algorithm.
9314
9564
  #
9565
+ # * Signing algorithms that end in SHAKE\_256 use the SHAKE\_256 hashing
9566
+ # algorithm.
9567
+ #
9315
9568
  # * SM2DSA uses the SM3 hashing algorithm. For details, see [Offline
9316
9569
  # verification with SM2 key pairs][1].
9317
9570
  #
9318
9571
  #
9319
9572
  #
9320
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/asymmetric-key-specs.html#key-spec-sm-offline-verification
9573
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/offline-operations.html#key-spec-sm-offline-verification
9321
9574
  #
9322
9575
  # @option params [Array<String>] :grant_tokens
9323
9576
  # A list of grant tokens.
@@ -9330,7 +9583,7 @@ module Aws::KMS
9330
9583
  #
9331
9584
  #
9332
9585
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
9333
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
9586
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
9334
9587
  #
9335
9588
  # @option params [required, String] :signing_algorithm
9336
9589
  # Specifies the signing algorithm to use when signing the message.
@@ -9344,12 +9597,12 @@ module Aws::KMS
9344
9597
  # Checks if your request will succeed. `DryRun` is an optional
9345
9598
  # parameter.
9346
9599
  #
9347
- # To learn more about how to use this parameter, see [Testing your KMS
9348
- # API calls][1] in the *Key Management Service Developer Guide*.
9600
+ # To learn more about how to use this parameter, see [Testing your
9601
+ # permissions][1] in the *Key Management Service Developer Guide*.
9349
9602
  #
9350
9603
  #
9351
9604
  #
9352
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
9605
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
9353
9606
  #
9354
9607
  # @return [Types::SignResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
9355
9608
  #
@@ -9402,9 +9655,9 @@ module Aws::KMS
9402
9655
  # resp = client.sign({
9403
9656
  # key_id: "KeyIdType", # required
9404
9657
  # message: "data", # required
9405
- # message_type: "RAW", # accepts RAW, DIGEST
9658
+ # message_type: "RAW", # accepts RAW, DIGEST, EXTERNAL_MU
9406
9659
  # grant_tokens: ["GrantTokenType"],
9407
- # 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
9660
+ # 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, ML_DSA_SHAKE_256
9408
9661
  # dry_run: false,
9409
9662
  # })
9410
9663
  #
@@ -9412,7 +9665,7 @@ module Aws::KMS
9412
9665
  #
9413
9666
  # resp.key_id #=> String
9414
9667
  # resp.signature #=> String
9415
- # 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"
9668
+ # 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", "ML_DSA_SHAKE_256"
9416
9669
  #
9417
9670
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/Sign AWS API Documentation
9418
9671
  #
@@ -9476,13 +9729,13 @@ module Aws::KMS
9476
9729
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/abac.html
9477
9730
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
9478
9731
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk
9479
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#keystore-concept
9480
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#alias-concept
9732
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
9733
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html
9481
9734
  # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/tagging-keys.html
9482
9735
  # [8]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
9483
9736
  # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
9484
9737
  # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
9485
- # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
9738
+ # [11]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
9486
9739
  #
9487
9740
  # @option params [required, String] :key_id
9488
9741
  # Identifies a customer managed key in the account and Region.
@@ -9598,7 +9851,7 @@ module Aws::KMS
9598
9851
  # [4]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
9599
9852
  # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
9600
9853
  # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
9601
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
9854
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
9602
9855
  #
9603
9856
  # @option params [required, String] :key_id
9604
9857
  # Identifies the KMS key from which you are removing tags.
@@ -9711,7 +9964,7 @@ module Aws::KMS
9711
9964
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
9712
9965
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
9713
9966
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html#alias-access
9714
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
9967
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
9715
9968
  #
9716
9969
  # @option params [required, String] :alias_name
9717
9970
  # Identifies the alias that is changing its KMS key. This value must
@@ -9791,9 +10044,9 @@ module Aws::KMS
9791
10044
  # verify the updated property values, use the DescribeCustomKeyStores
9792
10045
  # operation.
9793
10046
  #
9794
- # This operation is part of the [custom key stores][1] feature in KMS,
9795
- # which combines the convenience and extensive integration of KMS with
9796
- # the isolation and control of a key store that you own and manage.
10047
+ # This operation is part of the custom key stores feature in KMS, which
10048
+ # combines the convenience and extensive integration of KMS with the
10049
+ # isolation and control of a key store that you own and manage.
9797
10050
  #
9798
10051
  # When updating the properties of an external key store, verify that the
9799
10052
  # updated settings connect your key store, via the external key store
@@ -9863,7 +10116,7 @@ module Aws::KMS
9863
10116
  # **Cross-account use**: No. You cannot perform this operation on a
9864
10117
  # custom key store in a different Amazon Web Services account.
9865
10118
  #
9866
- # **Required permissions**: [kms:UpdateCustomKeyStore][2] (IAM policy)
10119
+ # **Required permissions**: [kms:UpdateCustomKeyStore][1] (IAM policy)
9867
10120
  #
9868
10121
  # **Related operations:**
9869
10122
  #
@@ -9878,13 +10131,12 @@ module Aws::KMS
9878
10131
  # * DisconnectCustomKeyStore
9879
10132
  #
9880
10133
  # **Eventual consistency**: The KMS API follows an eventual consistency
9881
- # model. For more information, see [KMS eventual consistency][3].
10134
+ # model. For more information, see [KMS eventual consistency][2].
9882
10135
  #
9883
10136
  #
9884
10137
  #
9885
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
9886
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
9887
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
10138
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
10139
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
9888
10140
  #
9889
10141
  # @option params [required, String] :custom_key_store_id
9890
10142
  # Identifies the custom key store that you want to update. Enter the ID
@@ -10162,7 +10414,7 @@ module Aws::KMS
10162
10414
  #
10163
10415
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
10164
10416
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
10165
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
10417
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
10166
10418
  #
10167
10419
  # @option params [required, String] :key_id
10168
10420
  # Updates the description of the specified KMS key.
@@ -10222,8 +10474,8 @@ module Aws::KMS
10222
10474
  # key in `eu-west-2`. If you run `UpdatePrimaryRegion` with a
10223
10475
  # `PrimaryRegion` value of `eu-west-2`, the primary key is now the key
10224
10476
  # in `eu-west-2`, and the key in `us-east-1` becomes a replica key. For
10225
- # details, see [Updating the primary Region][1] in the *Key Management
10226
- # Service Developer Guide*.
10477
+ # details, see [Change the primary key in a set of multi-Region keys][1]
10478
+ # in the *Key Management Service Developer Guide*.
10227
10479
  #
10228
10480
  # This operation supports *multi-Region keys*, an KMS feature that lets
10229
10481
  # you create multiple interoperable KMS keys in different Amazon Web
@@ -10291,7 +10543,7 @@ module Aws::KMS
10291
10543
  #
10292
10544
  #
10293
10545
  #
10294
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-update
10546
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-update.html
10295
10547
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
10296
10548
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-id
10297
10549
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-spec
@@ -10300,7 +10552,7 @@ module Aws::KMS
10300
10552
  # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html
10301
10553
  # [8]: https://docs.aws.amazon.com/kms/latest/APIReference/API_ScheduleKeyDeletion.html
10302
10554
  # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
10303
- # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
10555
+ # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
10304
10556
  #
10305
10557
  # @option params [required, String] :key_id
10306
10558
  # Identifies the current primary key. When the operation completes, this
@@ -10415,10 +10667,10 @@ module Aws::KMS
10415
10667
  #
10416
10668
  #
10417
10669
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
10418
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/asymmetric-key-specs.html#key-spec-sm-offline-verification
10670
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/offline-operations.html#key-spec-sm-offline-verification
10419
10671
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
10420
10672
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
10421
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
10673
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
10422
10674
  #
10423
10675
  # @option params [required, String] :key_id
10424
10676
  # Identifies the asymmetric KMS key that will be used to verify the
@@ -10457,27 +10709,34 @@ module Aws::KMS
10457
10709
  # @option params [String] :message_type
10458
10710
  # Tells KMS whether the value of the `Message` parameter should be
10459
10711
  # hashed as part of the signing algorithm. Use `RAW` for unhashed
10460
- # messages; use `DIGEST` for message digests, which are already hashed.
10712
+ # messages; use `DIGEST` for message digests, which are already hashed;
10713
+ # use `EXTERNAL_MU` for 64-byte representative μ used in ML-DSA signing
10714
+ # as defined in NIST FIPS 204 Section 6.2.
10461
10715
  #
10462
10716
  # When the value of `MessageType` is `RAW`, KMS uses the standard
10463
10717
  # signing algorithm, which begins with a hash function. When the value
10464
- # is `DIGEST`, KMS skips the hashing step in the signing algorithm.
10718
+ # is `DIGEST`, KMS skips the hashing step in the signing algorithm. When
10719
+ # the value is `EXTERNAL_MU` KMS skips the concatenated hashing of the
10720
+ # public key hash and the message done in the ML-DSA signing algorithm.
10465
10721
  #
10466
- # Use the `DIGEST` value only when the value of the `Message` parameter
10467
- # is a message digest. If you use the `DIGEST` value with an unhashed
10468
- # message, the security of the verification operation can be
10722
+ # Use the `DIGEST` or `EXTERNAL_MU` value only when the value of the
10723
+ # `Message` parameter is a message digest. If you use the `DIGEST` value
10724
+ # with an unhashed message, the security of the signing operation can be
10469
10725
  # compromised.
10470
10726
  #
10471
- # When the value of `MessageType`is `DIGEST`, the length of the
10727
+ # When the value of `MessageType` is `DIGEST`, the length of the
10472
10728
  # `Message` value must match the length of hashed messages for the
10473
10729
  # specified signing algorithm.
10474
10730
  #
10731
+ # When the value of `MessageType` is `EXTERNAL_MU` the length of the
10732
+ # `Message` value must be 64 bytes.
10733
+ #
10475
10734
  # You can submit a message digest and omit the `MessageType` or specify
10476
10735
  # `RAW` so the digest is hashed again while signing. However, if the
10477
10736
  # signed message is hashed once while signing, but twice while
10478
10737
  # verifying, verification fails, even when the message hasn't changed.
10479
10738
  #
10480
- # The hashing algorithm in that `Verify` uses is based on the
10739
+ # The hashing algorithm that `Verify` uses is based on the
10481
10740
  # `SigningAlgorithm` value.
10482
10741
  #
10483
10742
  # * Signing algorithms that end in SHA\_256 use the SHA\_256 hashing
@@ -10489,12 +10748,15 @@ module Aws::KMS
10489
10748
  # * Signing algorithms that end in SHA\_512 use the SHA\_512 hashing
10490
10749
  # algorithm.
10491
10750
  #
10751
+ # * Signing algorithms that end in SHAKE\_256 use the SHAKE\_256 hashing
10752
+ # algorithm.
10753
+ #
10492
10754
  # * SM2DSA uses the SM3 hashing algorithm. For details, see [Offline
10493
10755
  # verification with SM2 key pairs][1].
10494
10756
  #
10495
10757
  #
10496
10758
  #
10497
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/asymmetric-key-specs.html#key-spec-sm-offline-verification
10759
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/offline-operations.html#key-spec-sm-offline-verification
10498
10760
  #
10499
10761
  # @option params [required, String, StringIO, File] :signature
10500
10762
  # The signature that the `Sign` operation generated.
@@ -10514,18 +10776,18 @@ module Aws::KMS
10514
10776
  #
10515
10777
  #
10516
10778
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
10517
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
10779
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
10518
10780
  #
10519
10781
  # @option params [Boolean] :dry_run
10520
10782
  # Checks if your request will succeed. `DryRun` is an optional
10521
10783
  # parameter.
10522
10784
  #
10523
- # To learn more about how to use this parameter, see [Testing your KMS
10524
- # API calls][1] in the *Key Management Service Developer Guide*.
10785
+ # To learn more about how to use this parameter, see [Testing your
10786
+ # permissions][1] in the *Key Management Service Developer Guide*.
10525
10787
  #
10526
10788
  #
10527
10789
  #
10528
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
10790
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
10529
10791
  #
10530
10792
  # @return [Types::VerifyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10531
10793
  #
@@ -10580,9 +10842,9 @@ module Aws::KMS
10580
10842
  # resp = client.verify({
10581
10843
  # key_id: "KeyIdType", # required
10582
10844
  # message: "data", # required
10583
- # message_type: "RAW", # accepts RAW, DIGEST
10845
+ # message_type: "RAW", # accepts RAW, DIGEST, EXTERNAL_MU
10584
10846
  # signature: "data", # required
10585
- # 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
10847
+ # 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, ML_DSA_SHAKE_256
10586
10848
  # grant_tokens: ["GrantTokenType"],
10587
10849
  # dry_run: false,
10588
10850
  # })
@@ -10591,7 +10853,7 @@ module Aws::KMS
10591
10853
  #
10592
10854
  # resp.key_id #=> String
10593
10855
  # resp.signature_valid #=> Boolean
10594
- # 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"
10856
+ # 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", "ML_DSA_SHAKE_256"
10595
10857
  #
10596
10858
  # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/Verify AWS API Documentation
10597
10859
  #
@@ -10639,7 +10901,7 @@ module Aws::KMS
10639
10901
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html
10640
10902
  # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
10641
10903
  # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
10642
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-eventual-consistency.html
10904
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/accessing-kms.html#programming-eventual-consistency
10643
10905
  #
10644
10906
  # @option params [required, String, StringIO, File] :message
10645
10907
  # The message that will be used in the verification. Enter the same
@@ -10677,18 +10939,18 @@ module Aws::KMS
10677
10939
  #
10678
10940
  #
10679
10941
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
10680
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#using-grant-token
10942
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/using-grant-token.html
10681
10943
  #
10682
10944
  # @option params [Boolean] :dry_run
10683
10945
  # Checks if your request will succeed. `DryRun` is an optional
10684
10946
  # parameter.
10685
10947
  #
10686
- # To learn more about how to use this parameter, see [Testing your KMS
10687
- # API calls][1] in the *Key Management Service Developer Guide*.
10948
+ # To learn more about how to use this parameter, see [Testing your
10949
+ # permissions][1] in the *Key Management Service Developer Guide*.
10688
10950
  #
10689
10951
  #
10690
10952
  #
10691
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/programming-dryrun.html
10953
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/testing-permissions.html
10692
10954
  #
10693
10955
  # @return [Types::VerifyMacResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10694
10956
  #
@@ -10748,14 +11010,19 @@ module Aws::KMS
10748
11010
  # @api private
10749
11011
  def build_request(operation_name, params = {})
10750
11012
  handlers = @handlers.for(operation_name)
11013
+ tracer = config.telemetry_provider.tracer_provider.tracer(
11014
+ Aws::Telemetry.module_to_tracer_name('Aws::KMS')
11015
+ )
10751
11016
  context = Seahorse::Client::RequestContext.new(
10752
11017
  operation_name: operation_name,
10753
11018
  operation: config.api.operation(operation_name),
10754
11019
  client: self,
10755
11020
  params: params,
10756
- config: config)
11021
+ config: config,
11022
+ tracer: tracer
11023
+ )
10757
11024
  context[:gem_name] = 'aws-sdk-kms'
10758
- context[:gem_version] = '1.88.0'
11025
+ context[:gem_version] = '1.105.0'
10759
11026
  Seahorse::Client::Request.new(handlers, context)
10760
11027
  end
10761
11028