aws-sdk-kms 1.16.0 → 1.24.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d51352e2589cf6b09f397e5ea98ee9bba91f262e
4
- data.tar.gz: 871a4668caa760b2b84a584b53b128e28db8c309
3
+ metadata.gz: '0118868d3cab9481ec55eca5ec5da31d209970fa'
4
+ data.tar.gz: 6b5c749e53fef84c48be3531f2bed69936a50d0d
5
5
  SHA512:
6
- metadata.gz: 15b101c9c0ab6903c27d69a84a4bef682adcf9f25a4f0c3c5cddcd2479c4730ed758ba8383726c095aaf45f974e6e20b572d0785848f5d02547ee1aa686baff3
7
- data.tar.gz: 0b9fbf7d12c7bc9fccbd1190a5de17abe48f559653cda813584b2b377dc0bf3b04756d90fa17eb2f886da34d4e5387b2669dfd0beb3de2b5199f4709ae23f2f9
6
+ metadata.gz: 57dd76e828de117c60ab259f83bc04e62fa8e037cd3b59e1fdbf1c1f26afb9e7a947fbb91e4e6fcac5381b0931227613879185d926475121d29c38a57d955015
7
+ data.tar.gz: d47fe0c3026cdeb5c9e2307b0824cc4e140af8a7c709ced568a93d5da32917daa4b58295e54228d4d13b256ae00dbeffe00c639faf46d2a801fe16ea0c6b3e61
@@ -42,6 +42,6 @@ require_relative 'aws-sdk-kms/customizations'
42
42
  # @service
43
43
  module Aws::KMS
44
44
 
45
- GEM_VERSION = '1.16.0'
45
+ GEM_VERSION = '1.24.0'
46
46
 
47
47
  end
@@ -23,6 +23,7 @@ require 'aws-sdk-core/plugins/idempotency_token.rb'
23
23
  require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
24
24
  require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
25
25
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
26
+ require 'aws-sdk-core/plugins/transfer_encoding.rb'
26
27
  require 'aws-sdk-core/plugins/signature_v4.rb'
27
28
  require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
28
29
 
@@ -55,6 +56,7 @@ module Aws::KMS
55
56
  add_plugin(Aws::Plugins::JsonvalueConverter)
56
57
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
57
58
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
59
+ add_plugin(Aws::Plugins::TransferEncoding)
58
60
  add_plugin(Aws::Plugins::SignatureV4)
59
61
  add_plugin(Aws::Plugins::Protocols::JsonRpc)
60
62
 
@@ -114,6 +116,10 @@ module Aws::KMS
114
116
  # Allows you to provide an identifier for this client which will be attached to
115
117
  # all generated client side metrics. Defaults to an empty string.
116
118
  #
119
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
120
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
121
+ # side monitoring agent is running on, where client metrics will be published via UDP.
122
+ #
117
123
  # @option options [Integer] :client_side_monitoring_port (31000)
118
124
  # Required for publishing client metrics. The port that the client side monitoring
119
125
  # agent is running on, where client metrics will be published via UDP.
@@ -209,6 +215,49 @@ module Aws::KMS
209
215
  # When `true`, request parameters are validated before
210
216
  # sending the request.
211
217
  #
218
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
219
+ # requests through. Formatted like 'http://proxy.com:123'.
220
+ #
221
+ # @option options [Float] :http_open_timeout (15) The number of
222
+ # seconds to wait when opening a HTTP session before rasing a
223
+ # `Timeout::Error`.
224
+ #
225
+ # @option options [Integer] :http_read_timeout (60) The default
226
+ # number of seconds to wait for response data. This value can
227
+ # safely be set
228
+ # per-request on the session yeidled by {#session_for}.
229
+ #
230
+ # @option options [Float] :http_idle_timeout (5) The number of
231
+ # seconds a connection is allowed to sit idble before it is
232
+ # considered stale. Stale connections are closed and removed
233
+ # from the pool before making a request.
234
+ #
235
+ # @option options [Float] :http_continue_timeout (1) The number of
236
+ # seconds to wait for a 100-continue response before sending the
237
+ # request body. This option has no effect unless the request has
238
+ # "Expect" header set to "100-continue". Defaults to `nil` which
239
+ # disables this behaviour. This value can safely be set per
240
+ # request on the session yeidled by {#session_for}.
241
+ #
242
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
243
+ # HTTP debug output will be sent to the `:logger`.
244
+ #
245
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
246
+ # SSL peer certificates are verified when establishing a
247
+ # connection.
248
+ #
249
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
250
+ # certificate authority bundle file that should be used when
251
+ # verifying peer certificates. If you do not pass
252
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
253
+ # will be used if available.
254
+ #
255
+ # @option options [String] :ssl_ca_directory Full path of the
256
+ # directory that contains the unbundled SSL certificate
257
+ # authority files for verifying peer certificates. If you do
258
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
259
+ # system default will be used if available.
260
+ #
212
261
  def initialize(*args)
213
262
  super
214
263
  end
@@ -230,8 +279,8 @@ module Aws::KMS
230
279
  #
231
280
  #
232
281
  #
233
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html
234
- # [2]: http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
282
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html
283
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
235
284
  #
236
285
  # @option params [required, String] :key_id
237
286
  # The unique identifier for the customer master key (CMK) for which to
@@ -327,11 +376,11 @@ module Aws::KMS
327
376
  #
328
377
  #
329
378
  #
330
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
331
- # [2]: http://docs.aws.amazon.com/cloudhsm/latest/APIReference/API_DescribeClusters
332
- # [3]: http://docs.aws.amazon.com/cloudhsm/latest/APIReference/API_CreateHsm
333
- # [4]: http://docs.aws.amazon.com/kms/latest/developerguide/key-store-concepts.html#concept-kmsuser
334
- # [5]: http://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html
379
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
380
+ # [2]: https://docs.aws.amazon.com/cloudhsm/latest/APIReference/API_DescribeClusters.html
381
+ # [3]: https://docs.aws.amazon.com/cloudhsm/latest/APIReference/API_CreateHsm.html
382
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-concepts.html#concept-kmsuser
383
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html
335
384
  #
336
385
  # @option params [required, String] :custom_key_store_id
337
386
  # Enter the key store ID of the custom key store that you want to
@@ -355,9 +404,9 @@ module Aws::KMS
355
404
  req.send_request(options)
356
405
  end
357
406
 
358
- # Creates a display name for a customer master key (CMK). You can use an
359
- # alias to identify a CMK in selected operations, such as Encrypt and
360
- # GenerateDataKey.
407
+ # Creates a display name for a customer managed customer master key
408
+ # (CMK). You can use an alias to identify a CMK in selected operations,
409
+ # such as Encrypt and GenerateDataKey.
361
410
  #
362
411
  # Each CMK can have multiple aliases, but each alias points to only one
363
412
  # CMK. The alias name must be unique in the AWS account and region. To
@@ -369,11 +418,11 @@ module Aws::KMS
369
418
  # appear in the response from the DescribeKey operation. To get the
370
419
  # aliases of all CMKs, use the ListAliases operation.
371
420
  #
372
- # An alias must start with the word `alias` followed by a forward slash
373
- # (`alias/`). The alias name can contain only alphanumeric characters,
374
- # forward slashes (/), underscores (\_), and dashes (-). Alias names
375
- # cannot begin with `aws`; that alias name prefix is reserved by Amazon
376
- # Web Services (AWS).
421
+ # The alias name must begin with `alias/` followed by a name, such as
422
+ # `alias/ExampleAlias`. It can contain only alphanumeric characters,
423
+ # forward slashes (/), underscores (\_), and dashes (-). The alias name
424
+ # cannot begin with `alias/aws/`. The `alias/aws/` prefix is reserved
425
+ # for [AWS managed CMKs][1].
377
426
  #
378
427
  # The alias and the CMK it is mapped to must be in the same AWS account
379
428
  # and the same region. You cannot perform this operation on an alias in
@@ -382,32 +431,29 @@ module Aws::KMS
382
431
  # To map an existing alias to a different CMK, call UpdateAlias.
383
432
  #
384
433
  # The result of this operation varies with the key state of the CMK. For
385
- # details, see [How Key State Affects Use of a Customer Master Key][1]
434
+ # details, see [How Key State Affects Use of a Customer Master Key][2]
386
435
  # in the *AWS Key Management Service Developer Guide*.
387
436
  #
388
437
  #
389
438
  #
390
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
439
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
440
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
391
441
  #
392
442
  # @option params [required, String] :alias_name
393
- # String that contains the display name. The name must start with the
394
- # word "alias" followed by a forward slash (alias/). Aliases that
395
- # begin with "alias/AWS" are reserved.
443
+ # Specifies the alias name. This value must begin with `alias/` followed
444
+ # by a name, such as `alias/ExampleAlias`. The alias name cannot begin
445
+ # with `alias/aws/`. The `alias/aws/` prefix is reserved for AWS managed
446
+ # CMKs.
396
447
  #
397
448
  # @option params [required, String] :target_key_id
398
- # Identifies the CMK for which you are creating the alias. This value
399
- # cannot be an alias.
449
+ # Identifies the CMK to which the alias refers. Specify the key ID or
450
+ # the Amazon Resource Name (ARN) of the CMK. You cannot specify another
451
+ # alias. For help finding the key ID and ARN, see [Finding the Key ID
452
+ # and ARN][1] in the *AWS Key Management Service Developer Guide*.
400
453
  #
401
- # Specify the key ID or the Amazon Resource Name (ARN) of the CMK.
402
454
  #
403
- # For example:
404
455
  #
405
- # * Key ID: `1234abcd-12ab-34cd-56ef-1234567890ab`
406
- #
407
- # * Key ARN:
408
- # `arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`
409
- #
410
- # To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.
456
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/viewing-keys.html#find-cmk-id-arn
411
457
  #
412
458
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
413
459
  #
@@ -440,82 +486,33 @@ module Aws::KMS
440
486
  # Creates a [custom key store][1] that is associated with an [AWS
441
487
  # CloudHSM cluster][2] that you own and manage.
442
488
  #
443
- # This operation is part of the [Custom Key Store feature][3] feature in
489
+ # This operation is part of the [Custom Key Store feature][1] feature in
444
490
  # AWS KMS, which combines the convenience and extensive integration of
445
491
  # AWS KMS with the isolation and control of a single-tenant key store.
446
492
  #
493
+ # Before you create the custom key store, you must assemble the required
494
+ # elements, including an AWS CloudHSM cluster that fulfills the
495
+ # requirements for a custom key store. For details about the required
496
+ # elements, see [Assemble the Prerequisites][3] in the *AWS Key
497
+ # Management Service Developer Guide*.
498
+ #
447
499
  # When the operation completes successfully, it returns the ID of the
448
500
  # new custom key store. Before you can use your new custom key store,
449
501
  # you need to use the ConnectCustomKeyStore operation to connect the new
450
- # key store to its AWS CloudHSM cluster.
451
- #
452
- # The `CreateCustomKeyStore` operation requires the following elements.
453
- #
454
- # * You must specify an active AWS CloudHSM cluster in the same account
455
- # and AWS Region as the custom key store. You can use an existing
456
- # cluster or [create and activate a new AWS CloudHSM cluster][4] for
457
- # the key store. AWS KMS does not require exclusive use of the
458
- # cluster.
459
- #
460
- # * You must include the content of the *trust anchor certificate* for
461
- # the cluster. You created this certificate, and saved it in the
462
- # `customerCA.crt` file, when you [initialized the cluster][5].
463
- #
464
- # * You must provide the password of the dedicated [ `kmsuser` crypto
465
- # user][6] (CU) account in the cluster.
466
- #
467
- # Before you create the custom key store, use the [createUser][7]
468
- # command in `cloudhsm_mgmt_util` to create [a crypto user (CU) named
469
- # `kmsuser` ][6]in specified AWS CloudHSM cluster. AWS KMS uses the
470
- # `kmsuser` CU account to create and manage key material on your
471
- # behalf. For instructions, see [Create the kmsuser Crypto User][8] in
472
- # the *AWS Key Management Service Developer Guide*.
473
- #
474
- # The AWS CloudHSM cluster that you specify must meet the following
475
- # requirements.
476
- #
477
- # * The cluster must be active and be in the same AWS account and Region
478
- # as the custom key store.
479
- #
480
- # * Each custom key store must be associated with a different AWS
481
- # CloudHSM cluster. The cluster cannot be associated with another
482
- # custom key store or have the same cluster certificate as a cluster
483
- # that is associated with another custom key store. To view the
484
- # cluster certificate, use the AWS CloudHSM [DescribeClusters][9]
485
- # operation. Clusters that share a backup history have the same
486
- # cluster certificate.
487
- #
488
- # * The cluster must be configured with subnets in at least two
489
- # different Availability Zones in the Region. Because AWS CloudHSM is
490
- # not supported in all Availability Zones, we recommend that the
491
- # cluster have subnets in all Availability Zones in the Region.
492
- #
493
- # * The cluster must contain at least two active HSMs, each in a
494
- # different Availability Zone.
495
- #
496
- # New custom key stores are not automatically connected. After you
497
- # create your custom key store, use the ConnectCustomKeyStore operation
498
- # to connect the custom key store to its associated AWS CloudHSM
499
- # cluster. Even if you are not going to use your custom key store
500
- # immediately, you might want to connect it to verify that all settings
501
- # are correct and then disconnect it until you are ready to use it.
502
- #
503
- # If this operation succeeds, it returns the ID of the new custom key
504
- # store. For help with failures, see [Troubleshoot a Custom Key
505
- # Store][10] in the *AWS KMS Developer Guide*.
506
- #
507
- #
508
- #
509
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
510
- # [2]: http://docs.aws.amazon.com/cloudhsm/latest/userguide/clusters.html
511
- # [3]: http://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
512
- # [4]: http://docs.aws.amazon.com/cloudhsm/latest/userguide/create-cluster.html
513
- # [5]: http://docs.aws.amazon.com/cloudhsm/latest/userguide/initialize-cluster.html#sign-csr
514
- # [6]: http://docs.aws.amazon.com/kms/latest/developerguide/key-store-concepts.html#concept-kmsuser
515
- # [7]: http://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_mgmt_util-createUser.html
516
- # [8]: http://docs.aws.amazon.com/kms/latest/developerguide/create-keystore.html#before-keystore
517
- # [9]: http://docs.aws.amazon.com/cloudhsm/latest/APIReference/API_DescribeClusters.html
518
- # [10]: http://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html
502
+ # key store to its AWS CloudHSM cluster. Even if you are not going to
503
+ # use your custom key store immediately, you might want to connect it to
504
+ # verify that all settings are correct and then disconnect it until you
505
+ # are ready to use it.
506
+ #
507
+ # For help with failures, see [Troubleshooting a Custom Key Store][4] in
508
+ # the *AWS Key Management Service Developer Guide*.
509
+ #
510
+ #
511
+ #
512
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
513
+ # [2]: https://docs.aws.amazon.com/cloudhsm/latest/userguide/clusters.html
514
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/create-keystore.html#before-keystore
515
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html
519
516
  #
520
517
  # @option params [required, String] :custom_key_store_name
521
518
  # Specifies a friendly name for the custom key store. The name must be
@@ -529,7 +526,7 @@ module Aws::KMS
529
526
  #
530
527
  #
531
528
  #
532
- # [1]: http://docs.aws.amazon.com/cloudhsm/latest/APIReference/API_DescribeClusters.html
529
+ # [1]: https://docs.aws.amazon.com/cloudhsm/latest/APIReference/API_DescribeClusters.html
533
530
  #
534
531
  # @option params [required, String] :trust_anchor_certificate
535
532
  # Enter the content of the trust anchor certificate for the cluster.
@@ -538,7 +535,7 @@ module Aws::KMS
538
535
  #
539
536
  #
540
537
  #
541
- # [1]: http://docs.aws.amazon.com/cloudhsm/latest/userguide/initialize-cluster.html
538
+ # [1]: https://docs.aws.amazon.com/cloudhsm/latest/userguide/initialize-cluster.html
542
539
  #
543
540
  # @option params [required, String] :key_store_password
544
541
  # Enter the password of the [ `kmsuser` crypto user (CU) account][1] in
@@ -550,7 +547,7 @@ module Aws::KMS
550
547
  #
551
548
  #
552
549
  #
553
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/key-store-concepts.html#concept-kmsuser
550
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-concepts.html#concept-kmsuser
554
551
  #
555
552
  # @return [Types::CreateCustomKeyStoreResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
556
553
  #
@@ -578,14 +575,20 @@ module Aws::KMS
578
575
  req.send_request(options)
579
576
  end
580
577
 
581
- # Adds a grant to a customer master key (CMK). The grant specifies who
582
- # can use the CMK and under what conditions. When setting permissions,
583
- # grants are an alternative to key policies.
578
+ # Adds a grant to a customer master key (CMK). The grant allows the
579
+ # grantee principal to use the CMK when the conditions specified in the
580
+ # grant are met. When setting permissions, grants are an alternative to
581
+ # key policies.
582
+ #
583
+ # To create a grant that allows a cryptographic operation only when the
584
+ # encryption context in the operation request matches or includes a
585
+ # specified encryption context, use the `Constraints` parameter. For
586
+ # details, see GrantConstraints.
584
587
  #
585
588
  # To perform this operation on a CMK in a different AWS account, specify
586
589
  # the key ARN in the value of the `KeyId` parameter. For more
587
- # information about grants, see [Grants][1] in the *AWS Key Management
588
- # Service Developer Guide*.
590
+ # information about grants, see [Grants][1] in the <i> <i>AWS Key
591
+ # Management Service Developer Guide</i> </i>.
589
592
  #
590
593
  # The result of this operation varies with the key state of the CMK. For
591
594
  # details, see [How Key State Affects Use of a Customer Master Key][2]
@@ -593,8 +596,8 @@ module Aws::KMS
593
596
  #
594
597
  #
595
598
  #
596
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/grants.html
597
- # [2]: http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
599
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html
600
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
598
601
  #
599
602
  # @option params [required, String] :key_id
600
603
  # The unique identifier for the customer master key (CMK) that the grant
@@ -625,8 +628,8 @@ module Aws::KMS
625
628
  #
626
629
  #
627
630
  #
628
- # [1]: http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
629
- # [2]: http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-iam
631
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
632
+ # [2]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-iam
630
633
  #
631
634
  # @option params [String] :retiring_principal
632
635
  # The principal that is given permission to retire the grant by using
@@ -641,21 +644,22 @@ module Aws::KMS
641
644
  #
642
645
  #
643
646
  #
644
- # [1]: http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
645
- # [2]: http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-iam
647
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
648
+ # [2]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-iam
646
649
  #
647
650
  # @option params [required, Array<String>] :operations
648
651
  # A list of operations that the grant permits.
649
652
  #
650
653
  # @option params [Types::GrantConstraints] :constraints
651
- # A structure that you can use to allow certain operations in the grant
652
- # only when the desired encryption context is present. For more
653
- # information about encryption context, see [Encryption Context][1] in
654
- # the *AWS Key Management Service Developer Guide*.
654
+ # Allows a cryptographic operation only when the encryption context
655
+ # matches or includes the encryption context specified in this
656
+ # structure. For more information about encryption context, see
657
+ # [Encryption Context][1] in the <i> <i>AWS Key Management Service
658
+ # Developer Guide</i> </i>.
655
659
  #
656
660
  #
657
661
  #
658
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/encryption-context.html
662
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
659
663
  #
660
664
  # @option params [Array<String>] :grant_tokens
661
665
  # A list of grant tokens.
@@ -665,11 +669,12 @@ module Aws::KMS
665
669
  #
666
670
  #
667
671
  #
668
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token
672
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token
669
673
  #
670
674
  # @option params [String] :name
671
675
  # A friendly name for identifying the grant. Use this value to prevent
672
- # unintended creation of duplicate grants when retrying this request.
676
+ # the unintended creation of duplicate grants when retrying this
677
+ # request.
673
678
  #
674
679
  # When this value is absent, all `CreateGrant` requests result in a new
675
680
  # grant with a unique `GrantId` even if all the supplied parameters are
@@ -742,26 +747,21 @@ module Aws::KMS
742
747
  req.send_request(options)
743
748
  end
744
749
 
745
- # Creates a customer master key (CMK) in the caller's AWS account.
746
- #
747
- # You can use a CMK to encrypt small amounts of data (4 KiB or less)
748
- # directly, but CMKs are more commonly used to encrypt data keys, which
749
- # are used to encrypt raw data. For more information about data keys and
750
- # the difference between CMKs and data keys, see the following:
751
- #
752
- # * The GenerateDataKey operation
750
+ # Creates a customer managed [customer master key][1] (CMK) in your AWS
751
+ # account.
753
752
  #
754
- # * [AWS Key Management Service Concepts][1] in the *AWS Key Management
755
- # Service Developer Guide*
753
+ # You can use a CMK to encrypt small amounts of data (up to 4096 bytes)
754
+ # directly. But CMKs are more commonly used to encrypt the [data
755
+ # keys][2] that are used to encrypt data.
756
756
  #
757
- # If you plan to [import key material][2], use the `Origin` parameter
758
- # with a value of `EXTERNAL` to create a CMK with no key material.
757
+ # To create a CMK for imported key material, use the `Origin` parameter
758
+ # with a value of `EXTERNAL`.
759
759
  #
760
- # To create a CMK in a [custom key store][3], use `CustomKeyStoreId`
760
+ # To create a CMK in a [custom key store][3], use the `CustomKeyStoreId`
761
761
  # parameter to specify the custom key store. You must also use the
762
762
  # `Origin` parameter with a value of `AWS_CLOUDHSM`. The AWS CloudHSM
763
763
  # cluster that is associated with the custom key store must have at
764
- # least two active HSMs, each in a different Availability Zone in the
764
+ # least two active HSMs in different Availability Zones in the AWS
765
765
  # Region.
766
766
  #
767
767
  # You cannot use this operation to create a CMK in a different AWS
@@ -769,9 +769,9 @@ module Aws::KMS
769
769
  #
770
770
  #
771
771
  #
772
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/concepts.html
773
- # [2]: http://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
774
- # [3]: http://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
772
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys
773
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#data-keys
774
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
775
775
  #
776
776
  # @option params [String] :policy
777
777
  # The key policy to attach to the CMK.
@@ -783,7 +783,8 @@ module Aws::KMS
783
783
  # request to make a subsequent PutKeyPolicy request on the CMK. This
784
784
  # reduces the risk that the CMK becomes unmanageable. For more
785
785
  # information, refer to the scenario in the [Default Key Policy][1]
786
- # section of the *AWS Key Management Service Developer Guide*.
786
+ # section of the <i> <i>AWS Key Management Service Developer Guide</i>
787
+ # </i>.
787
788
  #
788
789
  # * Each statement in the key policy must contain one or more
789
790
  # principals. The principals in the key policy must exist and be
@@ -802,9 +803,9 @@ module Aws::KMS
802
803
  #
803
804
  #
804
805
  #
805
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam
806
- # [2]: http://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
807
- # [3]: http://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default
806
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam
807
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
808
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default
808
809
  #
809
810
  # @option params [String] :description
810
811
  # A description of the CMK.
@@ -813,13 +814,13 @@ module Aws::KMS
813
814
  # for a task.
814
815
  #
815
816
  # @option params [String] :key_usage
816
- # The intended use of the CMK.
817
- #
818
- # You can use CMKs only for symmetric encryption and decryption.
817
+ # The cryptographic operations for which you can use the CMK. The only
818
+ # valid value is `ENCRYPT_DECRYPT`, which means you can use the CMK to
819
+ # encrypt and decrypt data.
819
820
  #
820
821
  # @option params [String] :origin
821
- # The source of the CMK's key material. You cannot change the origin
822
- # after you create the CMK.
822
+ # The source of the key material for the CMK. You cannot change the
823
+ # origin after you create the CMK.
823
824
  #
824
825
  # The default is `AWS_KMS`, which means AWS KMS creates the key material
825
826
  # in its own key store.
@@ -831,14 +832,14 @@ module Aws::KMS
831
832
  # Key Management Service Developer Guide*.
832
833
  #
833
834
  # When the parameter value is `AWS_CLOUDHSM`, AWS KMS creates the CMK in
834
- # a AWS KMS [custom key store][2] and creates its key material in the
835
+ # an AWS KMS [custom key store][2] and creates its key material in the
835
836
  # associated AWS CloudHSM cluster. You must also use the
836
837
  # `CustomKeyStoreId` parameter to identify the custom key store.
837
838
  #
838
839
  #
839
840
  #
840
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
841
- # [2]: http://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
841
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
842
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
842
843
  #
843
844
  # @option params [String] :custom_key_store_id
844
845
  # Creates the CMK in the specified [custom key store][1] and the key
@@ -854,14 +855,13 @@ module Aws::KMS
854
855
  # The response includes the custom key store ID and the ID of the AWS
855
856
  # CloudHSM cluster.
856
857
  #
857
- # This operation is part of the [Custom Key Store feature][2] feature in
858
+ # This operation is part of the [Custom Key Store feature][1] feature in
858
859
  # AWS KMS, which combines the convenience and extensive integration of
859
860
  # AWS KMS with the isolation and control of a single-tenant key store.
860
861
  #
861
862
  #
862
863
  #
863
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
864
- # [2]: http://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
864
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
865
865
  #
866
866
  # @option params [Boolean] :bypass_policy_lockout_safety_check
867
867
  # A flag to indicate whether to bypass the key policy lockout safety
@@ -871,8 +871,8 @@ module Aws::KMS
871
871
  # unmanageable. Do not set this value to true indiscriminately.
872
872
  #
873
873
  # For more information, refer to the scenario in the [Default Key
874
- # Policy][1] section in the *AWS Key Management Service Developer
875
- # Guide*.
874
+ # Policy][1] section in the <i> <i>AWS Key Management Service Developer
875
+ # Guide</i> </i>.
876
876
  #
877
877
  # Use this parameter only when you include a policy in the request and
878
878
  # you intend to prevent the principal that is making the request from
@@ -882,7 +882,7 @@ module Aws::KMS
882
882
  #
883
883
  #
884
884
  #
885
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam
885
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam
886
886
  #
887
887
  # @option params [Array<Types::Tag>] :tags
888
888
  # One or more tags. Each tag consists of a tag key and a tag value. Tag
@@ -980,15 +980,14 @@ module Aws::KMS
980
980
  #
981
981
  # * Encrypt
982
982
  #
983
- # Note that if a caller has been granted access permissions to all keys
984
- # (through, for example, IAM user policies that grant `Decrypt`
985
- # permission on all resources), then ciphertext encrypted by using keys
986
- # in other accounts where the key grants access to the caller can be
987
- # decrypted. To remedy this, we recommend that you do not grant
988
- # `Decrypt` access in an IAM user policy. Instead grant `Decrypt` access
989
- # only in key policies. If you must grant `Decrypt` access in an IAM
990
- # user policy, you should scope the resource to specific keys or to
991
- # specific trusted accounts.
983
+ # Whenever possible, use key policies to give users permission to call
984
+ # the Decrypt operation on the CMK, instead of IAM policies. Otherwise,
985
+ # you might create an IAM user policy that gives the user Decrypt
986
+ # permission on all CMKs. This user could decrypt ciphertext that was
987
+ # encrypted by CMKs in other accounts if the key policy for the
988
+ # cross-account CMK permits it. If you must use an IAM policy for
989
+ # `Decrypt` permissions, limit the user to particular CMKs or particular
990
+ # trusted accounts.
992
991
  #
993
992
  # The result of this operation varies with the key state of the CMK. For
994
993
  # details, see [How Key State Affects Use of a Customer Master Key][1]
@@ -996,7 +995,7 @@ module Aws::KMS
996
995
  #
997
996
  #
998
997
  #
999
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
998
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
1000
999
  #
1001
1000
  # @option params [required, String, IO] :ciphertext_blob
1002
1001
  # Ciphertext to be decrypted. The blob includes metadata.
@@ -1008,7 +1007,7 @@ module Aws::KMS
1008
1007
  #
1009
1008
  #
1010
1009
  #
1011
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/encryption-context.html
1010
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
1012
1011
  #
1013
1012
  # @option params [Array<String>] :grant_tokens
1014
1013
  # A list of grant tokens.
@@ -1018,7 +1017,7 @@ module Aws::KMS
1018
1017
  #
1019
1018
  #
1020
1019
  #
1021
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token
1020
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token
1022
1021
  #
1023
1022
  # @return [Types::DecryptResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1024
1023
  #
@@ -1078,9 +1077,8 @@ module Aws::KMS
1078
1077
  # master key (CMK), call UpdateAlias.
1079
1078
  #
1080
1079
  # @option params [required, String] :alias_name
1081
- # The alias to be deleted. The name must start with the word "alias"
1082
- # followed by a forward slash (alias/). Aliases that begin with
1083
- # "alias/aws" are reserved.
1080
+ # The alias to be deleted. The alias name must begin with `alias/`
1081
+ # followed by the alias name, such as `alias/ExampleAlias`.
1084
1082
  #
1085
1083
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1086
1084
  #
@@ -1136,16 +1134,15 @@ module Aws::KMS
1136
1134
  # If the operation succeeds, it returns a JSON object with no
1137
1135
  # properties.
1138
1136
  #
1139
- # This operation is part of the [Custom Key Store feature][4] feature in
1137
+ # This operation is part of the [Custom Key Store feature][1] feature in
1140
1138
  # AWS KMS, which combines the convenience and extensive integration of
1141
1139
  # AWS KMS with the isolation and control of a single-tenant key store.
1142
1140
  #
1143
1141
  #
1144
1142
  #
1145
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
1146
- # [2]: http://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys
1147
- # [3]: http://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html#fix-keystore-orphaned-key
1148
- # [4]: http://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
1143
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
1144
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys
1145
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html#fix-keystore-orphaned-key
1149
1146
  #
1150
1147
  # @option params [required, String] :custom_key_store_id
1151
1148
  # Enter the ID of the custom key store you want to delete. To find the
@@ -1187,12 +1184,12 @@ module Aws::KMS
1187
1184
  #
1188
1185
  #
1189
1186
  #
1190
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
1191
- # [2]: http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
1187
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
1188
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
1192
1189
  #
1193
1190
  # @option params [required, String] :key_id
1194
- # The identifier of the CMK whose key material to delete. The CMK's
1195
- # `Origin` must be `EXTERNAL`.
1191
+ # Identifies the CMK from which you are deleting imported key material.
1192
+ # The `Origin` of the CMK must be `EXTERNAL`.
1196
1193
  #
1197
1194
  # Specify the key ID or the Amazon Resource Name (ARN) of the CMK.
1198
1195
  #
@@ -1234,7 +1231,7 @@ module Aws::KMS
1234
1231
  # Gets information about [custom key stores][1] in the account and
1235
1232
  # region.
1236
1233
  #
1237
- # This operation is part of the [Custom Key Store feature][2] feature in
1234
+ # This operation is part of the [Custom Key Store feature][1] feature in
1238
1235
  # AWS KMS, which combines the convenience and extensive integration of
1239
1236
  # AWS KMS with the isolation and control of a single-tenant key store.
1240
1237
  #
@@ -1258,14 +1255,13 @@ module Aws::KMS
1258
1255
  # number of HSMs required for the operation, if any.
1259
1256
  #
1260
1257
  # For help repairing your custom key store, see the [Troubleshooting
1261
- # Custom Key Stores][3] topic in the *AWS Key Management Service
1258
+ # Custom Key Stores][2] topic in the *AWS Key Management Service
1262
1259
  # Developer Guide*.
1263
1260
  #
1264
1261
  #
1265
1262
  #
1266
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
1267
- # [2]: http://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
1268
- # [3]: http://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore-html
1263
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
1264
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html
1269
1265
  #
1270
1266
  # @option params [String] :custom_key_store_id
1271
1267
  # Gets only information about the specified custom key store. Enter the
@@ -1318,7 +1314,7 @@ module Aws::KMS
1318
1314
  # resp.custom_key_stores[0].cloud_hsm_cluster_id #=> String
1319
1315
  # resp.custom_key_stores[0].trust_anchor_certificate #=> String
1320
1316
  # resp.custom_key_stores[0].connection_state #=> String, one of "CONNECTED", "CONNECTING", "FAILED", "DISCONNECTED", "DISCONNECTING"
1321
- # resp.custom_key_stores[0].connection_error_code #=> String, one of "INVALID_CREDENTIALS", "CLUSTER_NOT_FOUND", "NETWORK_ERRORS", "INSUFFICIENT_CLOUDHSM_HSMS", "USER_LOCKED_OUT"
1317
+ # resp.custom_key_stores[0].connection_error_code #=> String, one of "INVALID_CREDENTIALS", "CLUSTER_NOT_FOUND", "NETWORK_ERRORS", "INTERNAL_ERROR", "INSUFFICIENT_CLOUDHSM_HSMS", "USER_LOCKED_OUT"
1322
1318
  # resp.custom_key_stores[0].creation_date #=> Time
1323
1319
  # resp.next_marker #=> String
1324
1320
  # resp.truncated #=> Boolean
@@ -1335,16 +1331,17 @@ module Aws::KMS
1335
1331
  # Provides detailed information about the specified customer master key
1336
1332
  # (CMK).
1337
1333
  #
1338
- # If you use `DescribeKey` on a predefined AWS alias, that is, an AWS
1339
- # alias with no key ID, AWS KMS associates the alias with an [AWS
1340
- # managed CMK][1] and returns its `KeyId` and `Arn` in the response.
1334
+ # You can use `DescribeKey` on a predefined AWS alias, that is, an AWS
1335
+ # alias with no key ID. When you do, AWS KMS associates the alias with
1336
+ # an [AWS managed CMK][1] and returns its `KeyId` and `Arn` in the
1337
+ # response.
1341
1338
  #
1342
1339
  # To perform this operation on a CMK in a different AWS account, specify
1343
1340
  # the key ARN or alias ARN in the value of the KeyId parameter.
1344
1341
  #
1345
1342
  #
1346
1343
  #
1347
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys
1344
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys
1348
1345
  #
1349
1346
  # @option params [required, String] :key_id
1350
1347
  # Describes the specified customer master key (CMK).
@@ -1355,7 +1352,7 @@ module Aws::KMS
1355
1352
  #
1356
1353
  # To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias
1357
1354
  # name, or alias ARN. When using an alias name, prefix it with
1358
- # "alias/". To specify a CMK in a different AWS account, you must use
1355
+ # `"alias/"`. To specify a CMK in a different AWS account, you must use
1359
1356
  # the key ARN or alias ARN.
1360
1357
  #
1361
1358
  # For example:
@@ -1374,7 +1371,7 @@ module Aws::KMS
1374
1371
  #
1375
1372
  #
1376
1373
  #
1377
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys
1374
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys
1378
1375
  #
1379
1376
  # @option params [Array<String>] :grant_tokens
1380
1377
  # A list of grant tokens.
@@ -1384,7 +1381,7 @@ module Aws::KMS
1384
1381
  #
1385
1382
  #
1386
1383
  #
1387
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token
1384
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token
1388
1385
  #
1389
1386
  # @return [Types::DescribeKeyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1390
1387
  #
@@ -1454,8 +1451,8 @@ module Aws::KMS
1454
1451
  # this operation on a CMK in a different AWS account.
1455
1452
  #
1456
1453
  # For more information about how key state affects the use of a CMK, see
1457
- # [How Key State Affects the Use of a Customer Master Key][1] in the
1458
- # *AWS Key Management Service Developer Guide*.
1454
+ # [How Key State Affects the Use of a Customer Master Key][1] in the <i>
1455
+ # <i>AWS Key Management Service Developer Guide</i> </i>.
1459
1456
  #
1460
1457
  # The result of this operation varies with the key state of the CMK. For
1461
1458
  # details, see [How Key State Affects Use of a Customer Master Key][1]
@@ -1463,7 +1460,7 @@ module Aws::KMS
1463
1460
  #
1464
1461
  #
1465
1462
  #
1466
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
1463
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
1467
1464
  #
1468
1465
  # @option params [required, String] :key_id
1469
1466
  # A unique identifier for the customer master key (CMK).
@@ -1515,8 +1512,8 @@ module Aws::KMS
1515
1512
  #
1516
1513
  #
1517
1514
  #
1518
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html
1519
- # [2]: http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
1515
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html
1516
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
1520
1517
  #
1521
1518
  # @option params [required, String] :key_id
1522
1519
  # A unique identifier for the customer master key (CMK).
@@ -1580,14 +1577,13 @@ module Aws::KMS
1580
1577
  # If the operation succeeds, it returns a JSON object with no
1581
1578
  # properties.
1582
1579
  #
1583
- # This operation is part of the [Custom Key Store feature][2] feature in
1580
+ # This operation is part of the [Custom Key Store feature][1] feature in
1584
1581
  # AWS KMS, which combines the convenience and extensive integration of
1585
1582
  # AWS KMS with the isolation and control of a single-tenant key store.
1586
1583
  #
1587
1584
  #
1588
1585
  #
1589
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
1590
- # [2]: http://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
1586
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
1591
1587
  #
1592
1588
  # @option params [required, String] :custom_key_store_id
1593
1589
  # Enter the ID of the custom key store you want to disconnect. To find
@@ -1621,7 +1617,7 @@ module Aws::KMS
1621
1617
  #
1622
1618
  #
1623
1619
  #
1624
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
1620
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
1625
1621
  #
1626
1622
  # @option params [required, String] :key_id
1627
1623
  # A unique identifier for the customer master key (CMK).
@@ -1676,9 +1672,9 @@ module Aws::KMS
1676
1672
  #
1677
1673
  #
1678
1674
  #
1679
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html
1680
- # [2]: http://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
1681
- # [3]: http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
1675
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html
1676
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
1677
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
1682
1678
  #
1683
1679
  # @option params [required, String] :key_id
1684
1680
  # A unique identifier for the customer master key (CMK).
@@ -1727,40 +1723,38 @@ module Aws::KMS
1727
1723
  # such as an RSA key, a database password, or other sensitive
1728
1724
  # information.
1729
1725
  #
1730
- # * To move encrypted data from one AWS region to another, you can use
1731
- # this operation to encrypt in the new region the plaintext data key
1732
- # that was used to encrypt the data in the original region. This
1733
- # provides you with an encrypted copy of the data key that can be
1734
- # decrypted in the new region and used there to decrypt the encrypted
1735
- # data.
1726
+ # * You can use the `Encrypt` operation to move encrypted data from one
1727
+ # AWS region to another. In the first region, generate a data key and
1728
+ # use the plaintext key to encrypt the data. Then, in the new region,
1729
+ # call the `Encrypt` method on same plaintext data key. Now, you can
1730
+ # safely move the encrypted data and encrypted data key to the new
1731
+ # region, and decrypt in the new region when necessary.
1736
1732
  #
1737
- # To perform this operation on a CMK in a different AWS account, specify
1738
- # the key ARN or alias ARN in the value of the KeyId parameter.
1733
+ # You don't need use this operation to encrypt a data key within a
1734
+ # region. The GenerateDataKey and GenerateDataKeyWithoutPlaintext
1735
+ # operations return an encrypted data key.
1739
1736
  #
1740
- # Unless you are moving encrypted data from one region to another, you
1741
- # don't use this operation to encrypt a generated data key within a
1742
- # region. To get data keys that are already encrypted, call the
1743
- # GenerateDataKey or GenerateDataKeyWithoutPlaintext operation. Data
1744
- # keys don't need to be encrypted again by calling `Encrypt`.
1745
- #
1746
- # To encrypt data locally in your application, use the GenerateDataKey
1747
- # operation to return a plaintext data encryption key and a copy of the
1748
- # key encrypted under the CMK of your choosing.
1737
+ # Also, you don't need to use this operation to encrypt data in your
1738
+ # application. You can use the plaintext and encrypted data keys that
1739
+ # the `GenerateDataKey` operation returns.
1749
1740
  #
1750
1741
  # The result of this operation varies with the key state of the CMK. For
1751
1742
  # details, see [How Key State Affects Use of a Customer Master Key][1]
1752
1743
  # in the *AWS Key Management Service Developer Guide*.
1753
1744
  #
1745
+ # To perform this operation on a CMK in a different AWS account, specify
1746
+ # the key ARN or alias ARN in the value of the KeyId parameter.
1747
+ #
1754
1748
  #
1755
1749
  #
1756
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
1750
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
1757
1751
  #
1758
1752
  # @option params [required, String] :key_id
1759
1753
  # A unique identifier for the customer master key (CMK).
1760
1754
  #
1761
1755
  # To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias
1762
1756
  # name, or alias ARN. When using an alias name, prefix it with
1763
- # "alias/". To specify a CMK in a different AWS account, you must use
1757
+ # `"alias/"`. To specify a CMK in a different AWS account, you must use
1764
1758
  # the key ARN or alias ARN.
1765
1759
  #
1766
1760
  # For example:
@@ -1788,7 +1782,7 @@ module Aws::KMS
1788
1782
  #
1789
1783
  #
1790
1784
  #
1791
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/encryption-context.html
1785
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
1792
1786
  #
1793
1787
  # @option params [Array<String>] :grant_tokens
1794
1788
  # A list of grant tokens.
@@ -1798,7 +1792,7 @@ module Aws::KMS
1798
1792
  #
1799
1793
  #
1800
1794
  #
1801
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token
1795
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token
1802
1796
  #
1803
1797
  # @return [Types::EncryptResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1804
1798
  #
@@ -1846,54 +1840,60 @@ module Aws::KMS
1846
1840
  req.send_request(options)
1847
1841
  end
1848
1842
 
1849
- # Returns a data encryption key that you can use in your application to
1850
- # encrypt data locally.
1851
- #
1852
- # You must specify the customer master key (CMK) under which to generate
1853
- # the data key. You must also specify the length of the data key using
1854
- # either the `KeySpec` or `NumberOfBytes` field. You must specify one
1855
- # field or the other, but not both. For common key lengths (128-bit and
1856
- # 256-bit symmetric keys), we recommend that you use `KeySpec`. To
1843
+ # Generates a unique data key. This operation returns a plaintext copy
1844
+ # of the data key and a copy that is encrypted under a customer master
1845
+ # key (CMK) that you specify. You can use the plaintext key to encrypt
1846
+ # your data outside of KMS and store the encrypted data key with the
1847
+ # encrypted data.
1848
+ #
1849
+ # `GenerateDataKey` returns a unique data key for each request. The
1850
+ # bytes in the key are not related to the caller or CMK that is used to
1851
+ # encrypt the data key.
1852
+ #
1853
+ # To generate a data key, you need to specify the customer master key
1854
+ # (CMK) that will be used to encrypt the data key. You must also specify
1855
+ # the length of the data key using either the `KeySpec` or
1856
+ # `NumberOfBytes` field (but not both). For common key lengths (128-bit
1857
+ # and 256-bit symmetric keys), we recommend that you use `KeySpec`. To
1857
1858
  # perform this operation on a CMK in a different AWS account, specify
1858
1859
  # the key ARN or alias ARN in the value of the KeyId parameter.
1859
1860
  #
1860
- # This operation returns a plaintext copy of the data key in the
1861
- # `Plaintext` field of the response, and an encrypted copy of the data
1862
- # key in the `CiphertextBlob` field. The data key is encrypted under the
1863
- # CMK specified in the `KeyId` field of the request.
1861
+ # You will find the plaintext copy of the data key in the `Plaintext`
1862
+ # field of the response, and the encrypted copy of the data key in the
1863
+ # `CiphertextBlob` field.
1864
1864
  #
1865
1865
  # We recommend that you use the following pattern to encrypt data
1866
1866
  # locally in your application:
1867
1867
  #
1868
- # 1. Use this operation (`GenerateDataKey`) to get a data encryption
1869
- # key.
1868
+ # 1. Use the `GenerateDataKey` operation to get a data encryption key.
1870
1869
  #
1871
- # 2. Use the plaintext data encryption key (returned in the `Plaintext`
1872
- # field of the response) to encrypt data locally, then erase the
1873
- # plaintext data key from memory.
1870
+ # 2. Use the plaintext data key (returned in the `Plaintext` field of
1871
+ # the response) to encrypt data locally, then erase the plaintext
1872
+ # data key from memory.
1874
1873
  #
1875
1874
  # 3. Store the encrypted data key (returned in the `CiphertextBlob`
1876
1875
  # field of the response) alongside the locally encrypted data.
1877
1876
  #
1878
1877
  # To decrypt data locally:
1879
1878
  #
1880
- # 1. Use the Decrypt operation to decrypt the encrypted data key into a
1881
- # plaintext copy of the data key.
1879
+ # 1. Use the Decrypt operation to decrypt the encrypted data key. The
1880
+ # operation returns a plaintext copy of the data key.
1882
1881
  #
1883
1882
  # 2. Use the plaintext data key to decrypt data locally, then erase the
1884
1883
  # plaintext data key from memory.
1885
1884
  #
1886
- # To return only an encrypted copy of the data key, use
1887
- # GenerateDataKeyWithoutPlaintext. To return a random byte string that
1888
- # is cryptographically secure, use GenerateRandom.
1885
+ # To get only an encrypted copy of the data key, use
1886
+ # GenerateDataKeyWithoutPlaintext. To get a cryptographically secure
1887
+ # random byte string, use GenerateRandom.
1889
1888
  #
1890
- # If you use the optional `EncryptionContext` field, you must store at
1891
- # least enough information to be able to reconstruct the full encryption
1892
- # context when you later send the ciphertext to the Decrypt operation.
1893
- # It is a good practice to choose an encryption context that you can
1894
- # reconstruct on the fly to better secure the ciphertext. For more
1895
- # information, see [Encryption Context][1] in the *AWS Key Management
1896
- # Service Developer Guide*.
1889
+ # You can use the optional encryption context to add additional security
1890
+ # to your encryption operation. When you specify an `EncryptionContext`
1891
+ # in the `GenerateDataKey` operation, you must specify the same
1892
+ # encryption context (a case-sensitive exact match) in your request to
1893
+ # Decrypt the data key. Otherwise, the request to decrypt fails with an
1894
+ # `InvalidCiphertextException`. For more information, see [Encryption
1895
+ # Context][1] in the <i> <i>AWS Key Management Service Developer
1896
+ # Guide</i> </i>.
1897
1897
  #
1898
1898
  # The result of this operation varies with the key state of the CMK. For
1899
1899
  # details, see [How Key State Affects Use of a Customer Master Key][2]
@@ -1901,16 +1901,15 @@ module Aws::KMS
1901
1901
  #
1902
1902
  #
1903
1903
  #
1904
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/encryption-context.html
1905
- # [2]: http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
1904
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
1905
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
1906
1906
  #
1907
1907
  # @option params [required, String] :key_id
1908
- # The identifier of the CMK under which to generate and encrypt the data
1909
- # encryption key.
1908
+ # An identifier for the CMK that encrypts the data key.
1910
1909
  #
1911
1910
  # To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias
1912
1911
  # name, or alias ARN. When using an alias name, prefix it with
1913
- # "alias/". To specify a CMK in a different AWS account, you must use
1912
+ # `"alias/"`. To specify a CMK in a different AWS account, you must use
1914
1913
  # the key ARN or alias ARN.
1915
1914
  #
1916
1915
  # For example:
@@ -1936,18 +1935,17 @@ module Aws::KMS
1936
1935
  #
1937
1936
  #
1938
1937
  #
1939
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/encryption-context.html
1938
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
1940
1939
  #
1941
1940
  # @option params [Integer] :number_of_bytes
1942
- # The length of the data encryption key in bytes. For example, use the
1943
- # value 64 to generate a 512-bit data key (64 bytes is 512 bits). For
1944
- # common key lengths (128-bit and 256-bit symmetric keys), we recommend
1945
- # that you use the `KeySpec` field instead of this one.
1941
+ # The length of the data key in bytes. For example, use the value 64 to
1942
+ # generate a 512-bit data key (64 bytes is 512 bits). For common key
1943
+ # lengths (128-bit and 256-bit symmetric keys), we recommend that you
1944
+ # use the `KeySpec` field instead of this one.
1946
1945
  #
1947
1946
  # @option params [String] :key_spec
1948
- # The length of the data encryption key. Use `AES_128` to generate a
1949
- # 128-bit symmetric key, or `AES_256` to generate a 256-bit symmetric
1950
- # key.
1947
+ # The length of the data key. Use `AES_128` to generate a 128-bit
1948
+ # symmetric key, or `AES_256` to generate a 256-bit symmetric key.
1951
1949
  #
1952
1950
  # @option params [Array<String>] :grant_tokens
1953
1951
  # A list of grant tokens.
@@ -1957,7 +1955,7 @@ module Aws::KMS
1957
1955
  #
1958
1956
  #
1959
1957
  #
1960
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token
1958
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token
1961
1959
  #
1962
1960
  # @return [Types::GenerateDataKeyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1963
1961
  #
@@ -2010,26 +2008,28 @@ module Aws::KMS
2010
2008
  req.send_request(options)
2011
2009
  end
2012
2010
 
2013
- # Returns a data encryption key encrypted under a customer master key
2014
- # (CMK). This operation is identical to GenerateDataKey but returns only
2015
- # the encrypted copy of the data key.
2016
- #
2017
- # To perform this operation on a CMK in a different AWS account, specify
2018
- # the key ARN or alias ARN in the value of the KeyId parameter.
2019
- #
2020
- # This operation is useful in a system that has multiple components with
2021
- # different degrees of trust. For example, consider a system that stores
2022
- # encrypted data in containers. Each container stores the encrypted data
2023
- # and an encrypted copy of the data key. One component of the system,
2024
- # called the *control plane*, creates new containers. When it creates a
2025
- # new container, it uses this operation
2026
- # (`GenerateDataKeyWithoutPlaintext`) to get an encrypted data key and
2027
- # then stores it in the container. Later, a different component of the
2028
- # system, called the *data plane*, puts encrypted data into the
2029
- # containers. To do this, it passes the encrypted data key to the
2030
- # Decrypt operation, then uses the returned plaintext data key to
2031
- # encrypt data, and finally stores the encrypted data in the container.
2032
- # In this system, the control plane never sees the plaintext data key.
2011
+ # Generates a unique data key. This operation returns a data key that is
2012
+ # encrypted under a customer master key (CMK) that you specify.
2013
+ # `GenerateDataKeyWithoutPlaintext` is identical to GenerateDataKey
2014
+ # except that returns only the encrypted copy of the data key.
2015
+ #
2016
+ # Like `GenerateDataKey`, `GenerateDataKeyWithoutPlaintext` returns a
2017
+ # unique data key for each request. The bytes in the key are not related
2018
+ # to the caller or CMK that is used to encrypt the data key.
2019
+ #
2020
+ # This operation is useful for systems that need to encrypt data at some
2021
+ # point, but not immediately. When you need to encrypt the data, you
2022
+ # call the Decrypt operation on the encrypted copy of the key.
2023
+ #
2024
+ # It's also useful in distributed systems with different levels of
2025
+ # trust. For example, you might store encrypted data in containers. One
2026
+ # component of your system creates new containers and stores an
2027
+ # encrypted data key with each container. Then, a different component
2028
+ # puts the data into the containers. That component first decrypts the
2029
+ # data key, uses the plaintext data key to encrypt data, puts the
2030
+ # encrypted data into the container, and then destroys the plaintext
2031
+ # data key. In this system, the component that creates the containers
2032
+ # never sees the plaintext data key.
2033
2033
  #
2034
2034
  # The result of this operation varies with the key state of the CMK. For
2035
2035
  # details, see [How Key State Affects Use of a Customer Master Key][1]
@@ -2037,15 +2037,15 @@ module Aws::KMS
2037
2037
  #
2038
2038
  #
2039
2039
  #
2040
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
2040
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
2041
2041
  #
2042
2042
  # @option params [required, String] :key_id
2043
- # The identifier of the customer master key (CMK) under which to
2044
- # generate and encrypt the data encryption key.
2043
+ # The identifier of the customer master key (CMK) that encrypts the data
2044
+ # key.
2045
2045
  #
2046
2046
  # To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias
2047
2047
  # name, or alias ARN. When using an alias name, prefix it with
2048
- # "alias/". To specify a CMK in a different AWS account, you must use
2048
+ # `"alias/"`. To specify a CMK in a different AWS account, you must use
2049
2049
  # the key ARN or alias ARN.
2050
2050
  #
2051
2051
  # For example:
@@ -2071,18 +2071,17 @@ module Aws::KMS
2071
2071
  #
2072
2072
  #
2073
2073
  #
2074
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/encryption-context.html
2074
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
2075
2075
  #
2076
2076
  # @option params [String] :key_spec
2077
- # The length of the data encryption key. Use `AES_128` to generate a
2078
- # 128-bit symmetric key, or `AES_256` to generate a 256-bit symmetric
2079
- # key.
2077
+ # The length of the data key. Use `AES_128` to generate a 128-bit
2078
+ # symmetric key, or `AES_256` to generate a 256-bit symmetric key.
2080
2079
  #
2081
2080
  # @option params [Integer] :number_of_bytes
2082
- # The length of the data encryption key in bytes. For example, use the
2083
- # value 64 to generate a 512-bit data key (64 bytes is 512 bits). For
2084
- # common key lengths (128-bit and 256-bit symmetric keys), we recommend
2085
- # that you use the `KeySpec` field instead of this one.
2081
+ # The length of the data key in bytes. For example, use the value 64 to
2082
+ # generate a 512-bit data key (64 bytes is 512 bits). For common key
2083
+ # lengths (128-bit and 256-bit symmetric keys), we recommend that you
2084
+ # use the `KeySpec` field instead of this one.
2086
2085
  #
2087
2086
  # @option params [Array<String>] :grant_tokens
2088
2087
  # A list of grant tokens.
@@ -2092,7 +2091,7 @@ module Aws::KMS
2092
2091
  #
2093
2092
  #
2094
2093
  #
2095
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token
2094
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token
2096
2095
  #
2097
2096
  # @return [Types::GenerateDataKeyWithoutPlaintextResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2098
2097
  #
@@ -2154,7 +2153,7 @@ module Aws::KMS
2154
2153
  #
2155
2154
  #
2156
2155
  #
2157
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
2156
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
2158
2157
  # [2]: https://d0.awsstatic.com/whitepapers/KMS-Cryptographic-Details.pdf
2159
2158
  #
2160
2159
  # @option params [Integer] :number_of_bytes
@@ -2167,7 +2166,7 @@ module Aws::KMS
2167
2166
  #
2168
2167
  #
2169
2168
  #
2170
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
2169
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
2171
2170
  #
2172
2171
  # @return [Types::GenerateRandomResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2173
2172
  #
@@ -2289,8 +2288,8 @@ module Aws::KMS
2289
2288
  #
2290
2289
  #
2291
2290
  #
2292
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html
2293
- # [2]: http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
2291
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html
2292
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
2294
2293
  #
2295
2294
  # @option params [required, String] :key_id
2296
2295
  # A unique identifier for the customer master key (CMK).
@@ -2370,8 +2369,8 @@ module Aws::KMS
2370
2369
  #
2371
2370
  #
2372
2371
  #
2373
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
2374
- # [2]: http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
2372
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
2373
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
2375
2374
  #
2376
2375
  # @option params [required, String] :key_id
2377
2376
  # The identifier of the CMK into which you will import key material. The
@@ -2396,7 +2395,7 @@ module Aws::KMS
2396
2395
  #
2397
2396
  #
2398
2397
  #
2399
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-encrypt-key-material.html
2398
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-encrypt-key-material.html
2400
2399
  #
2401
2400
  # @option params [required, String] :wrapping_key_spec
2402
2401
  # The type of wrapping key (public key) to return in the response. Only
@@ -2499,8 +2498,8 @@ module Aws::KMS
2499
2498
  #
2500
2499
  #
2501
2500
  #
2502
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
2503
- # [2]: http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
2501
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
2502
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
2504
2503
  #
2505
2504
  # @option params [required, String] :key_id
2506
2505
  # The identifier of the CMK to import the key material into. The CMK's
@@ -2574,23 +2573,29 @@ module Aws::KMS
2574
2573
  req.send_request(options)
2575
2574
  end
2576
2575
 
2577
- # Gets a list of all aliases in the caller's AWS account and region.
2578
- # You cannot list aliases in other accounts. For more information about
2576
+ # Gets a list of aliases in the caller's AWS account and region. You
2577
+ # cannot list aliases in other accounts. For more information about
2579
2578
  # aliases, see CreateAlias.
2580
2579
  #
2581
- # By default, the `ListAliases` command returns all aliases in the
2582
- # account and region. To get only the aliases that point to a particular
2580
+ # By default, the ListAliases command returns all aliases in the account
2581
+ # and region. To get only the aliases that point to a particular
2583
2582
  # customer master key (CMK), use the `KeyId` parameter.
2584
2583
  #
2585
- # The `ListAliases` response might include several aliases have no
2586
- # `TargetKeyId` field. These are predefined aliases that AWS has created
2587
- # but has not yet associated with a CMK. Aliases that AWS creates in
2588
- # your account, including predefined aliases, do not count against your
2589
- # [AWS KMS aliases limit][1].
2584
+ # The `ListAliases` response can include aliases that you created and
2585
+ # associated with your customer managed CMKs, and aliases that AWS
2586
+ # created and associated with AWS managed CMKs in your account. You can
2587
+ # recognize AWS aliases because their names have the format
2588
+ # `aws/<service-name>`, such as `aws/dynamodb`.
2590
2589
  #
2590
+ # The response might also include aliases that have no `TargetKeyId`
2591
+ # field. These are predefined aliases that AWS has created but has not
2592
+ # yet associated with a CMK. Aliases that AWS creates in your account,
2593
+ # including predefined aliases, do not count against your [AWS KMS
2594
+ # aliases limit][1].
2591
2595
  #
2592
2596
  #
2593
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/limits.html#aliases-limit
2597
+ #
2598
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/limits.html#aliases-limit
2594
2599
  #
2595
2600
  # @option params [String] :key_id
2596
2601
  # Lists only aliases that refer to the specified CMK. The value of this
@@ -2872,7 +2877,7 @@ module Aws::KMS
2872
2877
  # and 1000, inclusive. If you do not include a value, it defaults to
2873
2878
  # 100.
2874
2879
  #
2875
- # Currently only 1 policy can be attached to a key.
2880
+ # Only one policy can be attached to a key.
2876
2881
  #
2877
2882
  # @option params [String] :marker
2878
2883
  # Use this parameter in a subsequent request after you receive a
@@ -3141,8 +3146,8 @@ module Aws::KMS
3141
3146
  #
3142
3147
  #
3143
3148
  #
3144
- # [1]: http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
3145
- # [2]: http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-iam
3149
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
3150
+ # [2]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-iam
3146
3151
  #
3147
3152
  # @return [Types::ListGrantsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3148
3153
  #
@@ -3222,7 +3227,7 @@ module Aws::KMS
3222
3227
  #
3223
3228
  #
3224
3229
  #
3225
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
3230
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
3226
3231
  #
3227
3232
  # @option params [required, String] :key_id
3228
3233
  # A unique identifier for the customer master key (CMK).
@@ -3266,8 +3271,8 @@ module Aws::KMS
3266
3271
  #
3267
3272
  #
3268
3273
  #
3269
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam
3270
- # [2]: http://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
3274
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam
3275
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
3271
3276
  #
3272
3277
  # @option params [Boolean] :bypass_policy_lockout_safety_check
3273
3278
  # A flag to indicate whether to bypass the key policy lockout safety
@@ -3288,7 +3293,7 @@ module Aws::KMS
3288
3293
  #
3289
3294
  #
3290
3295
  #
3291
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam
3296
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam
3292
3297
  #
3293
3298
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3294
3299
  #
@@ -3333,7 +3338,7 @@ module Aws::KMS
3333
3338
  # destination CMK. We recommend that you include the `"kms:ReEncrypt*"`
3334
3339
  # permission in your [key policies][1] to permit reencryption from or to
3335
3340
  # the CMK. This permission is automatically included in the key policy
3336
- # when you create a CMK through the console, but you must include it
3341
+ # when you create a CMK through the console. But you must include it
3337
3342
  # manually when you create a CMK programmatically or when you set a key
3338
3343
  # policy with the PutKeyPolicy operation.
3339
3344
  #
@@ -3343,8 +3348,8 @@ module Aws::KMS
3343
3348
  #
3344
3349
  #
3345
3350
  #
3346
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
3347
- # [2]: http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
3351
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
3352
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
3348
3353
  #
3349
3354
  # @option params [required, String, IO] :ciphertext_blob
3350
3355
  # Ciphertext of the data to reencrypt.
@@ -3358,7 +3363,7 @@ module Aws::KMS
3358
3363
  #
3359
3364
  # To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias
3360
3365
  # name, or alias ARN. When using an alias name, prefix it with
3361
- # "alias/". To specify a CMK in a different AWS account, you must use
3366
+ # `"alias/"`. To specify a CMK in a different AWS account, you must use
3362
3367
  # the key ARN or alias ARN.
3363
3368
  #
3364
3369
  # For example:
@@ -3386,7 +3391,7 @@ module Aws::KMS
3386
3391
  #
3387
3392
  #
3388
3393
  #
3389
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token
3394
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token
3390
3395
  #
3391
3396
  # @return [Types::ReEncryptResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3392
3397
  #
@@ -3592,10 +3597,10 @@ module Aws::KMS
3592
3597
  #
3593
3598
  #
3594
3599
  #
3595
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/key-store-overview.html
3596
- # [2]: http://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html#fix-keystore-orphaned-key
3597
- # [3]: http://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html
3598
- # [4]: http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
3600
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
3601
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html#fix-keystore-orphaned-key
3602
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html
3603
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
3599
3604
  #
3600
3605
  # @option params [required, String] :key_id
3601
3606
  # The unique identifier of the customer master key (CMK) to delete.
@@ -3680,8 +3685,8 @@ module Aws::KMS
3680
3685
  #
3681
3686
  #
3682
3687
  #
3683
- # [1]: http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html
3684
- # [2]: http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
3688
+ # [1]: https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html
3689
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
3685
3690
  #
3686
3691
  # @option params [required, String] :key_id
3687
3692
  # A unique identifier for the CMK you are tagging.
@@ -3751,7 +3756,7 @@ module Aws::KMS
3751
3756
  #
3752
3757
  #
3753
3758
  #
3754
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
3759
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
3755
3760
  #
3756
3761
  # @option params [required, String] :key_id
3757
3762
  # A unique identifier for the CMK from which you are removing tags.
@@ -3816,30 +3821,29 @@ module Aws::KMS
3816
3821
  # To get the aliases of all CMKs in the account, use the ListAliases
3817
3822
  # operation.
3818
3823
  #
3819
- # An alias name can contain only alphanumeric characters, forward
3820
- # slashes (/), underscores (\_), and dashes (-). An alias must start
3821
- # with the word `alias` followed by a forward slash (`alias/`). The
3822
- # alias name can contain only alphanumeric characters, forward slashes
3823
- # (/), underscores (\_), and dashes (-). Alias names cannot begin with
3824
- # `aws`; that alias name prefix is reserved by Amazon Web Services
3825
- # (AWS).
3824
+ # The alias name must begin with `alias/` followed by a name, such as
3825
+ # `alias/ExampleAlias`. It can contain only alphanumeric characters,
3826
+ # forward slashes (/), underscores (\_), and dashes (-). The alias name
3827
+ # cannot begin with `alias/aws/`. The `alias/aws/` prefix is reserved
3828
+ # for [AWS managed CMKs][1].
3826
3829
  #
3827
3830
  # The result of this operation varies with the key state of the CMK. For
3828
- # details, see [How Key State Affects Use of a Customer Master Key][1]
3831
+ # details, see [How Key State Affects Use of a Customer Master Key][2]
3829
3832
  # in the *AWS Key Management Service Developer Guide*.
3830
3833
  #
3831
3834
  #
3832
3835
  #
3833
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
3836
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
3837
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
3834
3838
  #
3835
3839
  # @option params [required, String] :alias_name
3836
- # String that contains the name of the alias to be modified. The name
3837
- # must start with the word "alias" followed by a forward slash
3838
- # (alias/). Aliases that begin with "alias/aws" are reserved.
3840
+ # Specifies the name of the alias to change. This value must begin with
3841
+ # `alias/` followed by the alias name, such as `alias/ExampleAlias`.
3839
3842
  #
3840
3843
  # @option params [required, String] :target_key_id
3841
- # Unique identifier of the customer master key to be mapped to the
3842
- # alias.
3844
+ # Unique identifier of the customer master key (CMK) to be mapped to the
3845
+ # alias. When the update operation completes, the alias will point to
3846
+ # this CMK.
3843
3847
  #
3844
3848
  # Specify the key ID or the Amazon Resource Name (ARN) of the CMK.
3845
3849
  #
@@ -3894,42 +3898,28 @@ module Aws::KMS
3894
3898
  # ConnectCustomKeyStore. To find the connection state of a custom key
3895
3899
  # store, use the DescribeCustomKeyStores operation.
3896
3900
  #
3897
- # Use the `NewCustomKeyStoreName` parameter to change the friendly name
3898
- # of the custom key store to the value that you specify.
3901
+ # Use the parameters of `UpdateCustomKeyStore` to edit your keystore
3902
+ # settings.
3899
3903
  #
3900
- # Use the `KeyStorePassword` parameter tell AWS KMS the current password
3901
- # of the [ `kmsuser` crypto user (CU)][1] in the associated AWS CloudHSM
3902
- # cluster. You can use this parameter to fix connection failures that
3903
- # occur when AWS KMS cannot log into the associated cluster because the
3904
- # `kmsuser` password has changed. This value does not change the
3905
- # password in the AWS CloudHSM cluster.
3904
+ # * Use the **NewCustomKeyStoreName** parameter to change the friendly
3905
+ # name of the custom key store to the value that you specify.
3906
3906
  #
3907
- # Use the `CloudHsmClusterId` parameter to associate the custom key
3908
- # store with a related AWS CloudHSM cluster, that is, a cluster that
3909
- # shares a backup history with the original cluster. You can use this
3910
- # parameter to repair a custom key store if its AWS CloudHSM cluster
3911
- # becomes corrupted or is deleted, or when you need to create or restore
3912
- # a cluster from a backup.
3913
3907
  #
3914
- # The cluster ID must identify a AWS CloudHSM cluster with the following
3915
- # requirements.
3916
3908
  #
3917
- # * The cluster must be active and be in the same AWS account and Region
3918
- # as the custom key store.
3909
+ # * Use the **KeyStorePassword** parameter tell AWS KMS the current
3910
+ # password of the [ `kmsuser` crypto user (CU)][1] in the associated
3911
+ # AWS CloudHSM cluster. You can use this parameter to [fix connection
3912
+ # failures][2] that occur when AWS KMS cannot log into the associated
3913
+ # cluster because the `kmsuser` password has changed. This value does
3914
+ # not change the password in the AWS CloudHSM cluster.
3919
3915
  #
3920
- # * The cluster must have the same cluster certificate as the original
3921
- # cluster. You cannot use this parameter to associate the custom key
3922
- # store with an unrelated cluster. To view the cluster certificate,
3923
- # use the AWS CloudHSM [DescribeClusters][2] operation. Clusters that
3924
- # share a backup history have the same cluster certificate.
3925
3916
  #
3926
- # * The cluster must be configured with subnets in at least two
3927
- # different Availability Zones in the Region. Because AWS CloudHSM is
3928
- # not supported in all Availability Zones, we recommend that the
3929
- # cluster have subnets in all Availability Zones in the Region.
3930
3917
  #
3931
- # * The cluster must contain at least two active HSMs, each in a
3932
- # different Availability Zone.
3918
+ # * Use the **CloudHsmClusterId** parameter to associate the custom key
3919
+ # store with a different, but related, AWS CloudHSM cluster. You can
3920
+ # use this parameter to repair a custom key store if its AWS CloudHSM
3921
+ # cluster becomes corrupted or is deleted, or when you need to create
3922
+ # or restore a cluster from a backup.
3933
3923
  #
3934
3924
  # If the operation succeeds, it returns a JSON object with no
3935
3925
  # properties.
@@ -3940,9 +3930,9 @@ module Aws::KMS
3940
3930
  #
3941
3931
  #
3942
3932
  #
3943
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/key-store-concepts.html#concept-kmsuser
3944
- # [2]: http://docs.aws.amazon.com/cloudhsm/latest/APIReference/API_DescribeClusters.html
3945
- # [3]: http://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
3933
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-store-concepts.html#concept-kmsuser
3934
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html#fix-keystore-password
3935
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
3946
3936
  #
3947
3937
  # @option params [required, String] :custom_key_store_id
3948
3938
  # Identifies the custom key store that you want to update. Enter the ID
@@ -3966,17 +3956,18 @@ module Aws::KMS
3966
3956
  # Associates the custom key store with a related AWS CloudHSM cluster.
3967
3957
  #
3968
3958
  # Enter the cluster ID of the cluster that you used to create the custom
3969
- # key store or a cluster that shares a backup history with the original
3970
- # cluster. You cannot use this parameter to associate a custom key store
3971
- # with a different cluster.
3972
- #
3973
- # Clusters that share a backup history have the same cluster
3974
- # certificate. To view the cluster certificate of a cluster, use the
3975
- # [DescribeClusters][1] operation.
3959
+ # key store or a cluster that shares a backup history and has the same
3960
+ # cluster certificate as the original cluster. You cannot use this
3961
+ # parameter to associate a custom key store with an unrelated cluster.
3962
+ # In addition, the replacement cluster must [fulfill the
3963
+ # requirements][1] for a cluster associated with a custom key store. To
3964
+ # view the cluster certificate of a cluster, use the
3965
+ # [DescribeClusters][2] operation.
3976
3966
  #
3977
3967
  #
3978
3968
  #
3979
- # [1]: http://docs.aws.amazon.com/cloudhsm/latest/APIReference/API_DescribeClusters.html
3969
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/create-keystore.html#before-keystore
3970
+ # [2]: https://docs.aws.amazon.com/cloudhsm/latest/APIReference/API_DescribeClusters.html
3980
3971
  #
3981
3972
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3982
3973
  #
@@ -3999,7 +3990,7 @@ module Aws::KMS
3999
3990
  end
4000
3991
 
4001
3992
  # Updates the description of a customer master key (CMK). To see the
4002
- # decription of a CMK, use DescribeKey.
3993
+ # description of a CMK, use DescribeKey.
4003
3994
  #
4004
3995
  # You cannot perform this operation on a CMK in a different AWS account.
4005
3996
  #
@@ -4009,7 +4000,7 @@ module Aws::KMS
4009
4000
  #
4010
4001
  #
4011
4002
  #
4012
- # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
4003
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
4013
4004
  #
4014
4005
  # @option params [required, String] :key_id
4015
4006
  # A unique identifier for the customer master key (CMK).
@@ -4069,7 +4060,7 @@ module Aws::KMS
4069
4060
  params: params,
4070
4061
  config: config)
4071
4062
  context[:gem_name] = 'aws-sdk-kms'
4072
- context[:gem_version] = '1.16.0'
4063
+ context[:gem_version] = '1.24.0'
4073
4064
  Seahorse::Client::Request.new(handlers, context)
4074
4065
  end
4075
4066