aws-sdk-kms 1.29.0 → 1.34.1

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
- SHA1:
3
- metadata.gz: 390a07e2032bb5b13eda47e864a9ed55c9274aa9
4
- data.tar.gz: 69953b632d5845c997248f12b64fb627039c0a9e
2
+ SHA256:
3
+ metadata.gz: 6ec2a5d20b0ad0b2c10596f9cf98fbefa9eec505bc2eec28e4e27a9c3976e123
4
+ data.tar.gz: 5d5d45fa3fef35b31d3f8f8f872cc6666647d700d4e4d63af7e4b891c58facd8
5
5
  SHA512:
6
- metadata.gz: 67394aa6a7da595a5387944e31f3585a6a210b3724d19d35519d7403f030b6b23a7c2ee64e7755e6ba759ef27c86aae01fd1ce8918e030ecfb5b88aa0320b87e
7
- data.tar.gz: 56b2a2843623751e0085783be6c4c48cc7d364396b4ca43f26059a558ad7d9b6ffb386701051380f5f13469c65dc2a037eb1d0252a1b5bcfb8148f886157b2b6
6
+ metadata.gz: 9d735492c3254f205840b33af1619b46aa6fd23d63cf44e4008d30241d7a4b108482eb0e42b7e3e4666ee59c0b22f0b5274542273e30c3693947650fc4058c64
7
+ data.tar.gz: b69a346db9becde10406e071700935106090f9aed650589f22e8351aaf77b684516ab538164ca0a05a3849d3db2f4cee46a9cbe48d62585e5091281f1fa4ffee
@@ -24,17 +24,20 @@ require_relative 'aws-sdk-kms/customizations'
24
24
  # methods each accept a hash of request parameters and return a response
25
25
  # structure.
26
26
  #
27
+ # kms = Aws::KMS::Client.new
28
+ # resp = kms.cancel_key_deletion(params)
29
+ #
27
30
  # See {Client} for more information.
28
31
  #
29
32
  # # Errors
30
33
  #
31
- # Errors returned from AWS Key Management Service all
32
- # extend {Errors::ServiceError}.
34
+ # Errors returned from AWS Key Management Service are defined in the
35
+ # {Errors} module and all extend {Errors::ServiceError}.
33
36
  #
34
37
  # begin
35
38
  # # do stuff
36
39
  # rescue Aws::KMS::Errors::ServiceError
37
- # # rescues all service API errors
40
+ # # rescues all AWS Key Management Service API errors
38
41
  # end
39
42
  #
40
43
  # See {Errors} for more information.
@@ -42,6 +45,6 @@ require_relative 'aws-sdk-kms/customizations'
42
45
  # @service
43
46
  module Aws::KMS
44
47
 
45
- GEM_VERSION = '1.29.0'
48
+ GEM_VERSION = '1.34.1'
46
49
 
47
50
  end
@@ -24,12 +24,25 @@ 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
26
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
27
+ require 'aws-sdk-core/plugins/http_checksum.rb'
27
28
  require 'aws-sdk-core/plugins/signature_v4.rb'
28
29
  require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
29
30
 
30
31
  Aws::Plugins::GlobalConfiguration.add_identifier(:kms)
31
32
 
32
33
  module Aws::KMS
34
+ # An API client for KMS. To construct a client, you need to configure a `:region` and `:credentials`.
35
+ #
36
+ # client = Aws::KMS::Client.new(
37
+ # region: region_name,
38
+ # credentials: credentials,
39
+ # # ...
40
+ # )
41
+ #
42
+ # For details on configuring region and credentials see
43
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
44
+ #
45
+ # See {#initialize} for a full list of supported configuration options.
33
46
  class Client < Seahorse::Client::Base
34
47
 
35
48
  include Aws::ClientStubs
@@ -57,6 +70,7 @@ module Aws::KMS
57
70
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
58
71
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
59
72
  add_plugin(Aws::Plugins::TransferEncoding)
73
+ add_plugin(Aws::Plugins::HttpChecksum)
60
74
  add_plugin(Aws::Plugins::SignatureV4)
61
75
  add_plugin(Aws::Plugins::Protocols::JsonRpc)
62
76
 
@@ -93,7 +107,7 @@ module Aws::KMS
93
107
  # @option options [required, String] :region
94
108
  # The AWS region to connect to. The configured `:region` is
95
109
  # used to determine the service `:endpoint`. When not passed,
96
- # a default `:region` is search for in the following locations:
110
+ # a default `:region` is searched for in the following locations:
97
111
  #
98
112
  # * `Aws.config[:region]`
99
113
  # * `ENV['AWS_REGION']`
@@ -108,6 +122,12 @@ module Aws::KMS
108
122
  # When set to `true`, a thread polling for endpoints will be running in
109
123
  # the background every 60 secs (default). Defaults to `false`.
110
124
  #
125
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
126
+ # Used only in `adaptive` retry mode. When true, the request will sleep
127
+ # until there is sufficent client side capacity to retry the request.
128
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
129
+ # not retry instead of sleeping.
130
+ #
111
131
  # @option options [Boolean] :client_side_monitoring (false)
112
132
  # When `true`, client-side metrics will be collected for all API requests from
113
133
  # this client.
@@ -132,6 +152,10 @@ module Aws::KMS
132
152
  # When `true`, an attempt is made to coerce request parameters into
133
153
  # the required types.
134
154
  #
155
+ # @option options [Boolean] :correct_clock_skew (true)
156
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
157
+ # a clock skew correction and retry requests with skewed client clocks.
158
+ #
135
159
  # @option options [Boolean] :disable_host_prefix_injection (false)
136
160
  # Set to true to disable SDK automatically adding host prefix
137
161
  # to default service endpoint when available.
@@ -139,7 +163,7 @@ module Aws::KMS
139
163
  # @option options [String] :endpoint
140
164
  # The client endpoint is normally constructed from the `:region`
141
165
  # option. You should only configure an `:endpoint` when connecting
142
- # to test endpoints. This should be avalid HTTP(S) URI.
166
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
143
167
  #
144
168
  # @option options [Integer] :endpoint_cache_max_entries (1000)
145
169
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -154,7 +178,7 @@ module Aws::KMS
154
178
  # requests fetching endpoints information. Defaults to 60 sec.
155
179
  #
156
180
  # @option options [Boolean] :endpoint_discovery (false)
157
- # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
181
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
158
182
  #
159
183
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
160
184
  # The log formatter.
@@ -166,15 +190,29 @@ module Aws::KMS
166
190
  # The Logger instance to send log messages to. If this option
167
191
  # is not set, logging will be disabled.
168
192
  #
193
+ # @option options [Integer] :max_attempts (3)
194
+ # An integer representing the maximum number attempts that will be made for
195
+ # a single request, including the initial attempt. For example,
196
+ # setting this value to 5 will result in a request being retried up to
197
+ # 4 times. Used in `standard` and `adaptive` retry modes.
198
+ #
169
199
  # @option options [String] :profile ("default")
170
200
  # Used when loading credentials from the shared credentials file
171
201
  # at HOME/.aws/credentials. When not specified, 'default' is used.
172
202
  #
203
+ # @option options [Proc] :retry_backoff
204
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
205
+ # This option is only used in the `legacy` retry mode.
206
+ #
173
207
  # @option options [Float] :retry_base_delay (0.3)
174
- # The base delay in seconds used by the default backoff function.
208
+ # The base delay in seconds used by the default backoff function. This option
209
+ # is only used in the `legacy` retry mode.
175
210
  #
176
211
  # @option options [Symbol] :retry_jitter (:none)
177
- # A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number.
212
+ # A delay randomiser function used by the default backoff function.
213
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
214
+ # otherwise a Proc that takes and returns a number. This option is only used
215
+ # in the `legacy` retry mode.
178
216
  #
179
217
  # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
180
218
  #
@@ -182,11 +220,30 @@ module Aws::KMS
182
220
  # The maximum number of times to retry failed requests. Only
183
221
  # ~ 500 level server errors and certain ~ 400 level client errors
184
222
  # are retried. Generally, these are throttling errors, data
185
- # checksum errors, networking errors, timeout errors and auth
186
- # errors from expired credentials.
223
+ # checksum errors, networking errors, timeout errors, auth errors,
224
+ # endpoint discovery, and errors from expired credentials.
225
+ # This option is only used in the `legacy` retry mode.
187
226
  #
188
227
  # @option options [Integer] :retry_max_delay (0)
189
- # The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function.
228
+ # The maximum number of seconds to delay between retries (0 for no limit)
229
+ # used by the default backoff function. This option is only used in the
230
+ # `legacy` retry mode.
231
+ #
232
+ # @option options [String] :retry_mode ("legacy")
233
+ # Specifies which retry algorithm to use. Values are:
234
+ #
235
+ # * `legacy` - The pre-existing retry behavior. This is default value if
236
+ # no retry mode is provided.
237
+ #
238
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
239
+ # This includes support for retry quotas, which limit the number of
240
+ # unsuccessful retries a client can make.
241
+ #
242
+ # * `adaptive` - An experimental retry mode that includes all the
243
+ # functionality of `standard` mode along with automatic client side
244
+ # throttling. This is a provisional mode that may change behavior
245
+ # in the future.
246
+ #
190
247
  #
191
248
  # @option options [String] :secret_access_key
192
249
  #
@@ -219,16 +276,15 @@ module Aws::KMS
219
276
  # requests through. Formatted like 'http://proxy.com:123'.
220
277
  #
221
278
  # @option options [Float] :http_open_timeout (15) The number of
222
- # seconds to wait when opening a HTTP session before rasing a
279
+ # seconds to wait when opening a HTTP session before raising a
223
280
  # `Timeout::Error`.
224
281
  #
225
282
  # @option options [Integer] :http_read_timeout (60) The default
226
283
  # 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}.
284
+ # safely be set per-request on the session.
229
285
  #
230
286
  # @option options [Float] :http_idle_timeout (5) The number of
231
- # seconds a connection is allowed to sit idble before it is
287
+ # seconds a connection is allowed to sit idle before it is
232
288
  # considered stale. Stale connections are closed and removed
233
289
  # from the pool before making a request.
234
290
  #
@@ -237,7 +293,7 @@ module Aws::KMS
237
293
  # request body. This option has no effect unless the request has
238
294
  # "Expect" header set to "100-continue". Defaults to `nil` which
239
295
  # disables this behaviour. This value can safely be set per
240
- # request on the session yeidled by {#session_for}.
296
+ # request on the session.
241
297
  #
242
298
  # @option options [Boolean] :http_wire_trace (false) When `true`,
243
299
  # HTTP debug output will be sent to the `:logger`.
@@ -406,9 +462,9 @@ module Aws::KMS
406
462
  end
407
463
 
408
464
  # Creates a display name for a customer managed customer master key
409
- # (CMK). You can use an alias to identify a CMK in cryptographic
410
- # operations, such as Encrypt and GenerateDataKey. You can change the
411
- # CMK associated with the alias at any time.
465
+ # (CMK). You can use an alias to identify a CMK in [cryptographic
466
+ # operations][1], such as Encrypt and GenerateDataKey. You can change
467
+ # the CMK associated with the alias at any time.
412
468
  #
413
469
  # Aliases are easier to remember than key IDs. They can also help to
414
470
  # simplify your applications. For example, if you use an alias in your
@@ -432,8 +488,8 @@ module Aws::KMS
432
488
  #
433
489
  # * You can associate an alias with any customer managed CMK in the same
434
490
  # AWS account and Region. However, you do not have permission to
435
- # associate an alias with an [AWS managed CMK][1] or an [AWS owned
436
- # CMK][2].
491
+ # associate an alias with an [AWS managed CMK][2] or an [AWS owned
492
+ # CMK][3].
437
493
  #
438
494
  # * To change the CMK associated with an alias, use the UpdateAlias
439
495
  # operation. The current CMK and the new CMK must be the same type
@@ -445,7 +501,7 @@ module Aws::KMS
445
501
  # `alias/ExampleAlias`. It can contain only alphanumeric characters,
446
502
  # forward slashes (/), underscores (\_), and dashes (-). The alias
447
503
  # name cannot begin with `alias/aws/`. The `alias/aws/` prefix is
448
- # reserved for [AWS managed CMKs][1].
504
+ # reserved for [AWS managed CMKs][2].
449
505
  #
450
506
  # * The alias name must be unique within an AWS Region. However, you can
451
507
  # use the same alias name in multiple Regions of the same AWS account.
@@ -456,12 +512,12 @@ module Aws::KMS
456
512
  # and then create a new alias with the desired name.
457
513
  #
458
514
  # * You can use an alias name or alias ARN to identify a CMK in AWS KMS
459
- # cryptographic operations and in the DescribeKey operation. However,
460
- # you cannot use alias names or alias ARNs in API operations that
461
- # manage CMKs, such as DisableKey or GetKeyPolicy. For information
462
- # about the valid CMK identifiers for each AWS KMS API operation, see
463
- # the descriptions of the `KeyId` parameter in the API operation
464
- # documentation.
515
+ # [cryptographic operations][1] and in the DescribeKey operation.
516
+ # However, you cannot use alias names or alias ARNs in API operations
517
+ # that manage CMKs, such as DisableKey or GetKeyPolicy. For
518
+ # information about the valid CMK identifiers for each AWS KMS API
519
+ # operation, see the descriptions of the `KeyId` parameter in the API
520
+ # operation documentation.
465
521
  #
466
522
  # Because an alias is not a property of a CMK, you can delete and change
467
523
  # the aliases of a CMK without affecting the CMK. Also, aliases do not
@@ -471,13 +527,14 @@ module Aws::KMS
471
527
  #
472
528
  # The CMK that you use for this operation must be in a compatible key
473
529
  # state. For details, see [How Key State Affects Use of a Customer
474
- # Master Key][3] in the *AWS Key Management Service Developer Guide*.
530
+ # Master Key][4] in the *AWS Key Management Service Developer Guide*.
475
531
  #
476
532
  #
477
533
  #
478
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
479
- # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk
480
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
534
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
535
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
536
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk
537
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
481
538
  #
482
539
  # @option params [required, String] :alias_name
483
540
  # Specifies the alias name. This value must begin with `alias/` followed
@@ -623,8 +680,8 @@ module Aws::KMS
623
680
  # grant are met. When setting permissions, grants are an alternative to
624
681
  # key policies.
625
682
  #
626
- # To create a grant that allows a cryptographic operation only when the
627
- # request includes a particular [encryption context][1], use the
683
+ # To create a grant that allows a [cryptographic operation][1] only when
684
+ # the request includes a particular [encryption context][2], use the
628
685
  # `Constraints` parameter. For details, see GrantConstraints.
629
686
  #
630
687
  # You can create grants on symmetric and asymmetric CMKs. However, if
@@ -639,9 +696,9 @@ module Aws::KMS
639
696
  #
640
697
  # * Grants for asymmetric CMKs cannot allow operations that are not
641
698
  # supported for asymmetric CMKs, including operations that [generate
642
- # data keys][2] or [data key pairs][3], or operations related to
643
- # [automatic key rotation][4], [imported key material][5], or CMKs in
644
- # [custom key stores][6].
699
+ # data keys][3] or [data key pairs][4], or operations related to
700
+ # [automatic key rotation][5], [imported key material][6], or CMKs in
701
+ # [custom key stores][7].
645
702
  #
646
703
  # * Grants for asymmetric CMKs with a `KeyUsage` of `ENCRYPT_DECRYPT`
647
704
  # cannot allow the Sign or Verify operations. Grants for asymmetric
@@ -653,29 +710,30 @@ module Aws::KMS
653
710
  # asymmetric CMKs.
654
711
  #
655
712
  # For information about symmetric and asymmetric CMKs, see [Using
656
- # Symmetric and Asymmetric CMKs][7] in the *AWS Key Management Service
713
+ # Symmetric and Asymmetric CMKs][8] in the *AWS Key Management Service
657
714
  # Developer Guide*.
658
715
  #
659
716
  # To perform this operation on a CMK in a different AWS account, specify
660
717
  # the key ARN in the value of the `KeyId` parameter. For more
661
- # information about grants, see [Grants][8] in the <i> <i>AWS Key
718
+ # information about grants, see [Grants][9] in the <i> <i>AWS Key
662
719
  # Management Service Developer Guide</i> </i>.
663
720
  #
664
721
  # The CMK that you use for this operation must be in a compatible key
665
722
  # state. For details, see [How Key State Affects Use of a Customer
666
- # Master Key][9] in the *AWS Key Management Service Developer Guide*.
723
+ # Master Key][10] in the *AWS Key Management Service Developer Guide*.
667
724
  #
668
725
  #
669
726
  #
670
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
671
- # [2]: https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey
672
- # [3]: https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKeyPair
673
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html
674
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
675
- # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
676
- # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
677
- # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html
678
- # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
727
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
728
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
729
+ # [3]: https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey
730
+ # [4]: https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKeyPair
731
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html
732
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
733
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
734
+ # [8]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
735
+ # [9]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html
736
+ # [10]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
679
737
  #
680
738
  # @option params [required, String] :key_id
681
739
  # The unique identifier for the customer master key (CMK) that the grant
@@ -729,15 +787,16 @@ module Aws::KMS
729
787
  # A list of operations that the grant permits.
730
788
  #
731
789
  # @option params [Types::GrantConstraints] :constraints
732
- # Allows a cryptographic operation only when the encryption context
790
+ # Allows a [cryptographic operation][1] only when the encryption context
733
791
  # matches or includes the encryption context specified in this
734
792
  # structure. For more information about encryption context, see
735
- # [Encryption Context][1] in the <i> <i>AWS Key Management Service
793
+ # [Encryption Context][2] in the <i> <i>AWS Key Management Service
736
794
  # Developer Guide</i> </i>.
737
795
  #
738
796
  #
739
797
  #
740
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
798
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
799
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
741
800
  #
742
801
  # @option params [Array<String>] :grant_tokens
743
802
  # A list of grant tokens.
@@ -952,10 +1011,10 @@ module Aws::KMS
952
1011
  # for a task.
953
1012
  #
954
1013
  # @option params [String] :key_usage
955
- # Determines the cryptographic operations for which you can use the CMK.
956
- # The default value is `ENCRYPT_DECRYPT`. This parameter is required
957
- # only for asymmetric CMKs. You can't change the `KeyUsage` value after
958
- # the CMK is created.
1014
+ # Determines the [cryptographic operations][1] for which you can use the
1015
+ # CMK. The default value is `ENCRYPT_DECRYPT`. This parameter is
1016
+ # required only for asymmetric CMKs. You can't change the `KeyUsage`
1017
+ # value after the CMK is created.
959
1018
  #
960
1019
  # Select only one valid value.
961
1020
  #
@@ -966,6 +1025,10 @@ module Aws::KMS
966
1025
  #
967
1026
  # * For asymmetric CMKs with ECC key material, specify `SIGN_VERIFY`.
968
1027
  #
1028
+ #
1029
+ #
1030
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
1031
+ #
969
1032
  # @option params [String] :customer_master_key_spec
970
1033
  # Specifies the type of CMK to create. The default value,
971
1034
  # `SYMMETRIC_DEFAULT`, creates a CMK with a 256-bit symmetric key for
@@ -1256,9 +1319,9 @@ module Aws::KMS
1256
1319
  #
1257
1320
  # @option params [Hash<String,String>] :encryption_context
1258
1321
  # Specifies the encryption context to use when decrypting the data. An
1259
- # encryption context is valid only for cryptographic operations with a
1260
- # symmetric CMK. The standard asymmetric encryption algorithms that AWS
1261
- # KMS uses do not support an encryption context.
1322
+ # encryption context is valid only for [cryptographic operations][1]
1323
+ # with a symmetric CMK. The standard asymmetric encryption algorithms
1324
+ # that AWS KMS uses do not support an encryption context.
1262
1325
  #
1263
1326
  # An *encryption context* is a collection of non-secret key-value pairs
1264
1327
  # that represents additional authenticated data. When you use an
@@ -1267,12 +1330,13 @@ module Aws::KMS
1267
1330
  # encryption context is optional when encrypting with a symmetric CMK,
1268
1331
  # but it is highly recommended.
1269
1332
  #
1270
- # For more information, see [Encryption Context][1] in the *AWS Key
1333
+ # For more information, see [Encryption Context][2] in the *AWS Key
1271
1334
  # Management Service Developer Guide*.
1272
1335
  #
1273
1336
  #
1274
1337
  #
1275
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
1338
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
1339
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
1276
1340
  #
1277
1341
  # @option params [Array<String>] :grant_tokens
1278
1342
  # A list of grant tokens.
@@ -1425,13 +1489,13 @@ module Aws::KMS
1425
1489
  # The custom key store that you delete cannot contain any AWS KMS
1426
1490
  # [customer master keys (CMKs)][2]. Before deleting the key store,
1427
1491
  # verify that you will never need to use any of the CMKs in the key
1428
- # store for any cryptographic operations. Then, use ScheduleKeyDeletion
1429
- # to delete the AWS KMS customer master keys (CMKs) from the key store.
1430
- # When the scheduled waiting period expires, the `ScheduleKeyDeletion`
1431
- # operation deletes the CMKs. Then it makes a best effort to delete the
1432
- # key material from the associated cluster. However, you might need to
1433
- # manually [delete the orphaned key material][3] from the cluster and
1434
- # its backups.
1492
+ # store for any [cryptographic operations][3]. Then, use
1493
+ # ScheduleKeyDeletion to delete the AWS KMS customer master keys (CMKs)
1494
+ # from the key store. When the scheduled waiting period expires, the
1495
+ # `ScheduleKeyDeletion` operation deletes the CMKs. Then it makes a best
1496
+ # effort to delete the key material from the associated cluster.
1497
+ # However, you might need to manually [delete the orphaned key
1498
+ # material][4] from the cluster and its backups.
1435
1499
  #
1436
1500
  # After all CMKs are deleted from AWS KMS, use DisconnectCustomKeyStore
1437
1501
  # to disconnect the key store from AWS KMS. Then, you can delete the
@@ -1454,7 +1518,8 @@ module Aws::KMS
1454
1518
  #
1455
1519
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
1456
1520
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys
1457
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html#fix-keystore-orphaned-key
1521
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
1522
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html#fix-keystore-orphaned-key
1458
1523
  #
1459
1524
  # @option params [required, String] :custom_key_store_id
1460
1525
  # Enter the ID of the custom key store you want to delete. To find the
@@ -1794,20 +1859,21 @@ module Aws::KMS
1794
1859
  end
1795
1860
 
1796
1861
  # Sets the state of a customer master key (CMK) to disabled, thereby
1797
- # preventing its use for cryptographic operations. You cannot perform
1798
- # this operation on a CMK in a different AWS account.
1862
+ # preventing its use for [cryptographic operations][1]. You cannot
1863
+ # perform this operation on a CMK in a different AWS account.
1799
1864
  #
1800
1865
  # For more information about how key state affects the use of a CMK, see
1801
- # [How Key State Affects the Use of a Customer Master Key][1] in the <i>
1866
+ # [How Key State Affects the Use of a Customer Master Key][2] in the <i>
1802
1867
  # <i>AWS Key Management Service Developer Guide</i> </i>.
1803
1868
  #
1804
1869
  # The CMK that you use for this operation must be in a compatible key
1805
1870
  # state. For details, see [How Key State Affects Use of a Customer
1806
- # Master Key][1] in the *AWS Key Management Service Developer Guide*.
1871
+ # Master Key][2] in the *AWS Key Management Service Developer Guide*.
1807
1872
  #
1808
1873
  #
1809
1874
  #
1810
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
1875
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
1876
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
1811
1877
  #
1812
1878
  # @option params [required, String] :key_id
1813
1879
  # A unique identifier for the customer master key (CMK).
@@ -1922,8 +1988,8 @@ module Aws::KMS
1922
1988
  #
1923
1989
  # <note markdown="1"> While a custom key store is disconnected, all attempts to create
1924
1990
  # customer master keys (CMKs) in the custom key store or to use existing
1925
- # CMKs in cryptographic operations will fail. This action can prevent
1926
- # users from storing and accessing sensitive data.
1991
+ # CMKs in [cryptographic operations][2] will fail. This action can
1992
+ # prevent users from storing and accessing sensitive data.
1927
1993
  #
1928
1994
  # </note>
1929
1995
  #
@@ -1943,6 +2009,7 @@ module Aws::KMS
1943
2009
  #
1944
2010
  #
1945
2011
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
2012
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
1946
2013
  #
1947
2014
  # @option params [required, String] :custom_key_store_id
1948
2015
  # Enter the ID of the custom key store you want to disconnect. To find
@@ -1967,16 +2034,17 @@ module Aws::KMS
1967
2034
  end
1968
2035
 
1969
2036
  # Sets the key state of a customer master key (CMK) to enabled. This
1970
- # allows you to use the CMK for cryptographic operations. You cannot
1971
- # perform this operation on a CMK in a different AWS account.
2037
+ # allows you to use the CMK for [cryptographic operations][1]. You
2038
+ # cannot perform this operation on a CMK in a different AWS account.
1972
2039
  #
1973
2040
  # The CMK that you use for this operation must be in a compatible key
1974
2041
  # state. For details, see [How Key State Affects Use of a Customer
1975
- # Master Key][1] in the *AWS Key Management Service Developer Guide*.
2042
+ # Master Key][2] in the *AWS Key Management Service Developer Guide*.
1976
2043
  #
1977
2044
  #
1978
2045
  #
1979
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
2046
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
2047
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
1980
2048
  #
1981
2049
  # @option params [required, String] :key_id
1982
2050
  # A unique identifier for the customer master key (CMK).
@@ -2088,11 +2156,13 @@ module Aws::KMS
2088
2156
  # identifier or database password, or other sensitive information.
2089
2157
  #
2090
2158
  # * You can use the `Encrypt` operation to move encrypted data from one
2091
- # AWS region to another. In the first region, generate a data key and
2092
- # use the plaintext key to encrypt the data. Then, in the new region,
2093
- # call the `Encrypt` method on same plaintext data key. Now, you can
2094
- # safely move the encrypted data and encrypted data key to the new
2095
- # region, and decrypt in the new region when necessary.
2159
+ # AWS Region to another. For example, in Region A, generate a data key
2160
+ # and use the plaintext key to encrypt your data. Then, in Region A,
2161
+ # use the `Encrypt` operation to encrypt the plaintext data key under
2162
+ # a CMK in Region B. Now, you can move the encrypted data and the
2163
+ # encrypted data key to Region B. When necessary, you can decrypt the
2164
+ # encrypted data key and the encrypted data entirely within in Region
2165
+ # B.
2096
2166
  #
2097
2167
  # You don't need to use the `Encrypt` operation to encrypt a data key.
2098
2168
  # The GenerateDataKey and GenerateDataKeyPair operations return a
@@ -2192,9 +2262,10 @@ module Aws::KMS
2192
2262
  #
2193
2263
  # @option params [Hash<String,String>] :encryption_context
2194
2264
  # Specifies the encryption context that will be used to encrypt the
2195
- # data. An encryption context is valid only for cryptographic operations
2196
- # with a symmetric CMK. The standard asymmetric encryption algorithms
2197
- # that AWS KMS uses do not support an encryption context.
2265
+ # data. An encryption context is valid only for [cryptographic
2266
+ # operations][1] with a symmetric CMK. The standard asymmetric
2267
+ # encryption algorithms that AWS KMS uses do not support an encryption
2268
+ # context.
2198
2269
  #
2199
2270
  # An *encryption context* is a collection of non-secret key-value pairs
2200
2271
  # that represents additional authenticated data. When you use an
@@ -2203,12 +2274,13 @@ module Aws::KMS
2203
2274
  # encryption context is optional when encrypting with a symmetric CMK,
2204
2275
  # but it is highly recommended.
2205
2276
  #
2206
- # For more information, see [Encryption Context][1] in the *AWS Key
2277
+ # For more information, see [Encryption Context][2] in the *AWS Key
2207
2278
  # Management Service Developer Guide*.
2208
2279
  #
2209
2280
  #
2210
2281
  #
2211
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
2282
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
2283
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
2212
2284
  #
2213
2285
  # @option params [Array<String>] :grant_tokens
2214
2286
  # A list of grant tokens.
@@ -2279,28 +2351,22 @@ module Aws::KMS
2279
2351
  req.send_request(options)
2280
2352
  end
2281
2353
 
2282
- # Generates a unique symmetric data key. This operation returns a
2283
- # plaintext copy of the data key and a copy that is encrypted under a
2284
- # customer master key (CMK) that you specify. You can use the plaintext
2285
- # key to encrypt your data outside of AWS KMS and store the encrypted
2286
- # data key with the encrypted data.
2354
+ # Generates a unique symmetric data key for client-side encryption. This
2355
+ # operation returns a plaintext copy of the data key and a copy that is
2356
+ # encrypted under a customer master key (CMK) that you specify. You can
2357
+ # use the plaintext key to encrypt your data outside of AWS KMS and
2358
+ # store the encrypted data key with the encrypted data.
2287
2359
  #
2288
2360
  # `GenerateDataKey` returns a unique data key for each request. The
2289
- # bytes in the key are not related to the caller or CMK that is used to
2290
- # encrypt the data key.
2361
+ # bytes in the plaintext key are not related to the caller or the CMK.
2291
2362
  #
2292
2363
  # To generate a data key, specify the symmetric CMK that will be used to
2293
2364
  # encrypt the data key. You cannot use an asymmetric CMK to generate
2294
2365
  # data keys. To get the type of your CMK, use the DescribeKey operation.
2295
- #
2296
2366
  # You must also specify the length of the data key. Use either the
2297
2367
  # `KeySpec` or `NumberOfBytes` parameters (but not both). For 128-bit
2298
2368
  # and 256-bit data keys, use the `KeySpec` parameter.
2299
2369
  #
2300
- # If the operation succeeds, the plaintext copy of the data key is in
2301
- # the `Plaintext` field of the response, and the encrypted copy of the
2302
- # data key in the `CiphertextBlob` field.
2303
- #
2304
2370
  # To get only an encrypted copy of the data key, use
2305
2371
  # GenerateDataKeyWithoutPlaintext. To generate an asymmetric data key
2306
2372
  # pair, use the GenerateDataKeyPair or
@@ -2311,7 +2377,7 @@ module Aws::KMS
2311
2377
  # to the encryption operation. If you specify an `EncryptionContext`,
2312
2378
  # you must specify the same encryption context (a case-sensitive exact
2313
2379
  # match) when decrypting the encrypted data key. Otherwise, the request
2314
- # to decrypt fails with an InvalidCiphertextException. For more
2380
+ # to decrypt fails with an `InvalidCiphertextException`. For more
2315
2381
  # information, see [Encryption Context][1] in the *AWS Key Management
2316
2382
  # Service Developer Guide*.
2317
2383
  #
@@ -2319,30 +2385,40 @@ module Aws::KMS
2319
2385
  # state. For details, see [How Key State Affects Use of a Customer
2320
2386
  # Master Key][2] in the *AWS Key Management Service Developer Guide*.
2321
2387
  #
2388
+ # **How to use your data key**
2389
+ #
2322
2390
  # We recommend that you use the following pattern to encrypt data
2323
- # locally in your application:
2391
+ # locally in your application. You can write your own code or use a
2392
+ # client-side encryption library, such as the [AWS Encryption SDK][3],
2393
+ # the [Amazon DynamoDB Encryption Client][4], or [Amazon S3 client-side
2394
+ # encryption][5] to do these tasks for you.
2395
+ #
2396
+ # To encrypt data outside of AWS KMS:
2324
2397
  #
2325
- # 1. Use the `GenerateDataKey` operation to get a data encryption key.
2398
+ # 1. Use the `GenerateDataKey` operation to get a data key.
2326
2399
  #
2327
- # 2. Use the plaintext data key (returned in the `Plaintext` field of
2328
- # the response) to encrypt data locally, then erase the plaintext
2329
- # data key from memory.
2400
+ # 2. Use the plaintext data key (in the `Plaintext` field of the
2401
+ # response) to encrypt your data outside of AWS KMS. Then erase the
2402
+ # plaintext data key from memory.
2330
2403
  #
2331
- # 3. Store the encrypted data key (returned in the `CiphertextBlob`
2332
- # field of the response) alongside the locally encrypted data.
2404
+ # 3. Store the encrypted data key (in the `CiphertextBlob` field of the
2405
+ # response) with the encrypted data.
2333
2406
  #
2334
- # To decrypt data locally:
2407
+ # To decrypt data outside of AWS KMS:
2335
2408
  #
2336
2409
  # 1. Use the Decrypt operation to decrypt the encrypted data key. The
2337
2410
  # operation returns a plaintext copy of the data key.
2338
2411
  #
2339
- # 2. Use the plaintext data key to decrypt data locally, then erase the
2340
- # plaintext data key from memory.
2412
+ # 2. Use the plaintext data key to decrypt data outside of AWS KMS,
2413
+ # then erase the plaintext data key from memory.
2341
2414
  #
2342
2415
  #
2343
2416
  #
2344
2417
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
2345
2418
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
2419
+ # [3]: https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/
2420
+ # [4]: https://docs.aws.amazon.com/dynamodb-encryption-client/latest/devguide/
2421
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html
2346
2422
  #
2347
2423
  # @option params [required, String] :key_id
2348
2424
  # Identifies the symmetric CMK that encrypts the data key.
@@ -2480,8 +2556,8 @@ module Aws::KMS
2480
2556
  #
2481
2557
  # To generate a data key pair, you must specify a symmetric customer
2482
2558
  # master key (CMK) to encrypt the private key in a data key pair. You
2483
- # cannot use an asymmetric CMK. To get the type of your CMK, use the
2484
- # DescribeKey operation.
2559
+ # cannot use an asymmetric CMK or a CMK in a custom key store. To get
2560
+ # the type and origin of your CMK, use the DescribeKey operation.
2485
2561
  #
2486
2562
  # If you are using the data key pair to encrypt data, or for any
2487
2563
  # operation where you don't immediately need a private key, consider
@@ -2496,7 +2572,7 @@ module Aws::KMS
2496
2572
  # to the encryption operation. If you specify an `EncryptionContext`,
2497
2573
  # you must specify the same encryption context (a case-sensitive exact
2498
2574
  # match) when decrypting the encrypted data key. Otherwise, the request
2499
- # to decrypt fails with an InvalidCiphertextException. For more
2575
+ # to decrypt fails with an `InvalidCiphertextException`. For more
2500
2576
  # information, see [Encryption Context][1] in the *AWS Key Management
2501
2577
  # Service Developer Guide*.
2502
2578
  #
@@ -2529,7 +2605,9 @@ module Aws::KMS
2529
2605
  #
2530
2606
  # @option params [required, String] :key_id
2531
2607
  # Specifies the symmetric CMK that encrypts the private key in the data
2532
- # key pair. You cannot specify an asymmetric CMKs.
2608
+ # key pair. You cannot specify an asymmetric CMK or a CMK in a custom
2609
+ # key store. To get the type and origin of your CMK, use the DescribeKey
2610
+ # operation.
2533
2611
  #
2534
2612
  # To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias
2535
2613
  # name, or alias ARN. When using an alias name, prefix it with
@@ -2612,8 +2690,9 @@ module Aws::KMS
2612
2690
  #
2613
2691
  # To generate a data key pair, you must specify a symmetric customer
2614
2692
  # master key (CMK) to encrypt the private key in the data key pair. You
2615
- # cannot use an asymmetric CMK. To get the type of your CMK, use the
2616
- # `KeySpec` field in the DescribeKey response.
2693
+ # cannot use an asymmetric CMK or a CMK in a custom key store. To get
2694
+ # the type and origin of your CMK, use the `KeySpec` field in the
2695
+ # DescribeKey response.
2617
2696
  #
2618
2697
  # You can use the public key that `GenerateDataKeyPairWithoutPlaintext`
2619
2698
  # returns to encrypt data or verify a signature outside of AWS KMS.
@@ -2629,7 +2708,7 @@ module Aws::KMS
2629
2708
  # to the encryption operation. If you specify an `EncryptionContext`,
2630
2709
  # you must specify the same encryption context (a case-sensitive exact
2631
2710
  # match) when decrypting the encrypted data key. Otherwise, the request
2632
- # to decrypt fails with an InvalidCiphertextException. For more
2711
+ # to decrypt fails with an `InvalidCiphertextException`. For more
2633
2712
  # information, see [Encryption Context][1] in the *AWS Key Management
2634
2713
  # Service Developer Guide*.
2635
2714
  #
@@ -2662,8 +2741,9 @@ module Aws::KMS
2662
2741
  #
2663
2742
  # @option params [required, String] :key_id
2664
2743
  # Specifies the CMK that encrypts the private key in the data key pair.
2665
- # You must specify a symmetric CMK. You cannot use an asymmetric CMK. To
2666
- # get the type of your CMK, use the DescribeKey operation.
2744
+ # You must specify a symmetric CMK. You cannot use an asymmetric CMK or
2745
+ # a CMK in a custom key store. To get the type and origin of your CMK,
2746
+ # use the DescribeKey operation.
2667
2747
  #
2668
2748
  # To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias
2669
2749
  # name, or alias ARN. When using an alias name, prefix it with
@@ -2772,7 +2852,7 @@ module Aws::KMS
2772
2852
  # to the encryption operation. If you specify an `EncryptionContext`,
2773
2853
  # you must specify the same encryption context (a case-sensitive exact
2774
2854
  # match) when decrypting the encrypted data key. Otherwise, the request
2775
- # to decrypt fails with an InvalidCiphertextException. For more
2855
+ # to decrypt fails with an `InvalidCiphertextException`. For more
2776
2856
  # information, see [Encryption Context][1] in the *AWS Key Management
2777
2857
  # Service Developer Guide*.
2778
2858
  #
@@ -3518,6 +3598,8 @@ module Aws::KMS
3518
3598
  # * {Types::ListAliasesResponse#next_marker #next_marker} => String
3519
3599
  # * {Types::ListAliasesResponse#truncated #truncated} => Boolean
3520
3600
  #
3601
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3602
+ #
3521
3603
  #
3522
3604
  # @example Example: To list aliases
3523
3605
  #
@@ -3604,6 +3686,19 @@ module Aws::KMS
3604
3686
  # To perform this operation on a CMK in a different AWS account, specify
3605
3687
  # the key ARN in the value of the `KeyId` parameter.
3606
3688
  #
3689
+ # <note markdown="1"> The `GranteePrincipal` field in the `ListGrants` response usually
3690
+ # contains the user or role designated as the grantee principal in the
3691
+ # grant. However, when the grantee principal in the grant is an AWS
3692
+ # service, the `GranteePrincipal` field contains the [service
3693
+ # principal][1], which might represent several different grantee
3694
+ # principals.
3695
+ #
3696
+ # </note>
3697
+ #
3698
+ #
3699
+ #
3700
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services
3701
+ #
3607
3702
  # @option params [Integer] :limit
3608
3703
  # Use this parameter to specify the maximum number of items to return.
3609
3704
  # When this value is present, AWS KMS does not return more than the
@@ -3638,6 +3733,8 @@ module Aws::KMS
3638
3733
  # * {Types::ListGrantsResponse#next_marker #next_marker} => String
3639
3734
  # * {Types::ListGrantsResponse#truncated #truncated} => Boolean
3640
3735
  #
3736
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3737
+ #
3641
3738
  #
3642
3739
  # @example Example: To list grants for a customer master key (CMK)
3643
3740
  #
@@ -3783,6 +3880,8 @@ module Aws::KMS
3783
3880
  # * {Types::ListKeyPoliciesResponse#next_marker #next_marker} => String
3784
3881
  # * {Types::ListKeyPoliciesResponse#truncated #truncated} => Boolean
3785
3882
  #
3883
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3884
+ #
3786
3885
  #
3787
3886
  # @example Example: To list key policies for a customer master key (CMK)
3788
3887
  #
@@ -3847,6 +3946,8 @@ module Aws::KMS
3847
3946
  # * {Types::ListKeysResponse#next_marker #next_marker} => String
3848
3947
  # * {Types::ListKeysResponse#truncated #truncated} => Boolean
3849
3948
  #
3949
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3950
+ #
3850
3951
  #
3851
3952
  # @example Example: To list customer master keys (CMKs)
3852
3953
  #
@@ -4227,16 +4328,16 @@ module Aws::KMS
4227
4328
  # under which data is encrypted, such as when you [manually rotate][1] a
4228
4329
  # CMK or change the CMK that protects a ciphertext. You can also use it
4229
4330
  # to reencrypt ciphertext under the same CMK, such as to change the
4230
- # encryption context of a ciphertext.
4331
+ # [encryption context][2] of a ciphertext.
4231
4332
  #
4232
4333
  # The `ReEncrypt` operation can decrypt ciphertext that was encrypted by
4233
4334
  # using an AWS KMS CMK in an AWS KMS operation, such as Encrypt or
4234
4335
  # GenerateDataKey. It can also decrypt ciphertext that was encrypted by
4235
- # using the public key of an asymmetric CMK outside of AWS KMS. However,
4236
- # it cannot decrypt ciphertext produced by other libraries, such as the
4237
- # [AWS Encryption SDK][2] or [Amazon S3 client-side encryption][3].
4238
- # These libraries return a ciphertext format that is incompatible with
4239
- # AWS KMS.
4336
+ # using the public key of an [asymmetric CMK][3] outside of AWS KMS.
4337
+ # However, it cannot decrypt ciphertext produced by other libraries,
4338
+ # such as the [AWS Encryption SDK][4] or [Amazon S3 client-side
4339
+ # encryption][5]. These libraries return a ciphertext format that is
4340
+ # incompatible with AWS KMS.
4240
4341
  #
4241
4342
  # When you use the `ReEncrypt` operation, you need to provide
4242
4343
  # information for the decrypt operation and the subsequent encrypt
@@ -4274,29 +4375,30 @@ module Aws::KMS
4274
4375
  # Unlike other AWS KMS API operations, `ReEncrypt` callers must have two
4275
4376
  # permissions:
4276
4377
  #
4277
- # * `kms:EncryptFrom` permission on the source CMK
4278
- #
4279
- # * `kms:EncryptTo` permission on the destination CMK
4378
+ # * `kms:ReEncryptFrom` permission on the source CMK
4280
4379
  #
4281
- # To permit reencryption from
4380
+ # * `kms:ReEncryptTo` permission on the destination CMK
4282
4381
  #
4283
- # or to a CMK, include the `"kms:ReEncrypt*"` permission in your [key
4284
- # policy][4]. This permission is automatically included in the key
4285
- # policy when you use the console to create a CMK. But you must include
4286
- # it manually when you create a CMK programmatically or when you use the
4287
- # PutKeyPolicy operation set a key policy.
4382
+ # To permit reencryption from or to a CMK, include the
4383
+ # `"kms:ReEncrypt*"` permission in your [key policy][6]. This permission
4384
+ # is automatically included in the key policy when you use the console
4385
+ # to create a CMK. But you must include it manually when you create a
4386
+ # CMK programmatically or when you use the PutKeyPolicy operation to set
4387
+ # a key policy.
4288
4388
  #
4289
4389
  # The CMK that you use for this operation must be in a compatible key
4290
4390
  # state. For details, see [How Key State Affects Use of a Customer
4291
- # Master Key][5] in the *AWS Key Management Service Developer Guide*.
4391
+ # Master Key][7] in the *AWS Key Management Service Developer Guide*.
4292
4392
  #
4293
4393
  #
4294
4394
  #
4295
4395
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotate-keys-manually
4296
- # [2]: https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/
4297
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html
4298
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
4299
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
4396
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
4397
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-concepts.html#asymmetric-cmks
4398
+ # [4]: https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/
4399
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html
4400
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
4401
+ # [7]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
4300
4402
  #
4301
4403
  # @option params [required, String, IO] :ciphertext_blob
4302
4404
  # Ciphertext of the data to reencrypt.
@@ -5375,7 +5477,7 @@ module Aws::KMS
5375
5477
  params: params,
5376
5478
  config: config)
5377
5479
  context[:gem_name] = 'aws-sdk-kms'
5378
- context[:gem_version] = '1.29.0'
5480
+ context[:gem_version] = '1.34.1'
5379
5481
  Seahorse::Client::Request.new(handlers, context)
5380
5482
  end
5381
5483