aws-sdk-kms 1.28.0 → 1.33.0

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