aws-sdk-kms 1.16.0 → 1.24.0

Sign up to get free protection for your applications and to get access to all the features.
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