aws-sdk-kms 1.27.0 → 1.32.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: 6a983aaa03a80ed7188f61a1bab13d7bcddf5701
4
- data.tar.gz: 155fd553e0ddd8cb820d3f1b4e8f051177446d1f
2
+ SHA256:
3
+ metadata.gz: 429d3556c6ee6342d08a47f751e42a23793659d358624e577d274986f58627ef
4
+ data.tar.gz: 7c5044014048141ca656e23cb3bea94088c46cfd599e21dbbec4527fadedf0cd
5
5
  SHA512:
6
- metadata.gz: 39eb4bc0cfd2bb7b6cd062d5b1b54052edf5868d720bae9f20359a75b8c84721b676e20444e4454b446b576ea5009ff5d5b3259094d82a0d8eb758abd27af195
7
- data.tar.gz: 0fd429e969b0ba7461822783be9b7ea9e77239e021ff189bdeb729327ff2179b887009eacdd77d237f32ae622851fd483cb539fe69717f9d670799e779731741
6
+ metadata.gz: b4f4e02a1259bb6b804089bf8666ef9430be50deae769ee10d95ead6d50ab1ab11c9dc1f820b74bff70208c933edc1c169b5d30c17772957b3ae85ce9e470544
7
+ data.tar.gz: ebb3e1f0e58e309e16bd5b12a2b8612533b71c2e890da215adf67df84011c9d99b1fc4def32d968f04870c623ddc04b1464e930f8d92f437e404308ef6867e5c
@@ -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.27.0'
48
+ GEM_VERSION = '1.32.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`.
@@ -344,7 +398,9 @@ module Aws::KMS
344
398
  # To connect a custom key store, its associated AWS CloudHSM cluster
345
399
  # must have at least one active HSM. To get the number of active HSMs in
346
400
  # a cluster, use the [DescribeClusters][2] operation. To add HSMs to the
347
- # cluster, use the [CreateHsm][3] operation.
401
+ # cluster, use the [CreateHsm][3] operation. Also, the [ `kmsuser`
402
+ # crypto user][4] (CU) must not be logged into the cluster. This
403
+ # prevents AWS KMS from using this account to log in.
348
404
  #
349
405
  # The connection process can take an extended amount of time to
350
406
  # complete; up to 20 minutes. This operation starts the connection
@@ -357,8 +413,7 @@ module Aws::KMS
357
413
  # During the connection process, AWS KMS finds the AWS CloudHSM cluster
358
414
  # that is associated with the custom key store, creates the connection
359
415
  # infrastructure, connects to the cluster, logs into the AWS CloudHSM
360
- # client as the [ `kmsuser` crypto user][4] (CU), and rotates its
361
- # password.
416
+ # client as the `kmsuser` CU, and rotates its password.
362
417
  #
363
418
  # The `ConnectCustomKeyStore` operation might fail for various reasons.
364
419
  # To find the reason, use the DescribeCustomKeyStores operation and see
@@ -581,6 +636,9 @@ module Aws::KMS
581
636
  # the specified AWS CloudHSM cluster. AWS KMS logs into the cluster as
582
637
  # this user to manage key material on your behalf.
583
638
  #
639
+ # The password must be a string of 7 to 32 characters. Its value is case
640
+ # sensitive.
641
+ #
584
642
  # This parameter tells AWS KMS the `kmsuser` account password; it does
585
643
  # not change the password in the AWS CloudHSM cluster.
586
644
  #
@@ -831,8 +889,9 @@ module Aws::KMS
831
889
  # * **Symmetric CMKs** contain a 256-bit symmetric key that never leaves
832
890
  # AWS KMS unencrypted. To use the CMK, you must call AWS KMS. You can
833
891
  # use a symmetric CMK to encrypt and decrypt small amounts of data,
834
- # but they are typically used to generate [data keys][2] or data key
835
- # pairs. For details, see GenerateDataKey and GenerateDataKeyPair.
892
+ # but they are typically used to generate [data keys][2] and [data
893
+ # keys pairs][3]. For details, see GenerateDataKey and
894
+ # GenerateDataKeyPair.
836
895
  #
837
896
  # * **Asymmetric CMKs** can contain an RSA key pair or an Elliptic Curve
838
897
  # (ECC) key pair. The private key in an asymmetric CMK never leaves
@@ -843,7 +902,7 @@ module Aws::KMS
843
902
  # be used only to sign and verify messages.
844
903
  #
845
904
  # For information about symmetric and asymmetric CMKs, see [Using
846
- # Symmetric and Asymmetric CMKs][3] in the *AWS Key Management Service
905
+ # Symmetric and Asymmetric CMKs][4] in the *AWS Key Management Service
847
906
  # Developer Guide*.
848
907
  #
849
908
  # To create different types of CMKs, use the following guidance:
@@ -877,7 +936,7 @@ module Aws::KMS
877
936
  # token, and use the public key to encrypt your key material. Then,
878
937
  # use ImportKeyMaterial with your import token to import the key
879
938
  # material. For step-by-step instructions, see [Importing Key
880
- # Material][4] in the <i> <i>AWS Key Management Service Developer
939
+ # Material][5] in the <i> <i>AWS Key Management Service Developer
881
940
  # Guide</i> </i>. You cannot import the key material into an
882
941
  # asymmetric CMK.
883
942
  #
@@ -885,7 +944,7 @@ module Aws::KMS
885
944
  #
886
945
  # Custom Key Stores
887
946
  #
888
- # : To create a symmetric CMK in a [custom key store][5], use the
947
+ # : To create a symmetric CMK in a [custom key store][6], use the
889
948
  # `CustomKeyStoreId` parameter to specify the custom key store. You
890
949
  # must also use the `Origin` parameter with a value of `AWS_CLOUDHSM`.
891
950
  # The AWS CloudHSM cluster that is associated with the custom key
@@ -894,16 +953,17 @@ module Aws::KMS
894
953
  #
895
954
  # You cannot create an asymmetric CMK in a custom key store. For
896
955
  # information about custom key stores in AWS KMS see [Using Custom Key
897
- # Stores][5] in the <i> <i>AWS Key Management Service Developer
956
+ # Stores][6] in the <i> <i>AWS Key Management Service Developer
898
957
  # Guide</i> </i>.
899
958
  #
900
959
  #
901
960
  #
902
961
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master-keys
903
962
  # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#data-keys
904
- # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
905
- # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
906
- # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
963
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#data-key-pairs
964
+ # [4]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html
965
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
966
+ # [6]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
907
967
  #
908
968
  # @option params [String] :policy
909
969
  # The key policy to attach to the CMK.
@@ -931,7 +991,7 @@ module Aws::KMS
931
991
  # policy to the CMK. For more information, see [Default Key Policy][3]
932
992
  # in the *AWS Key Management Service Developer Guide*.
933
993
  #
934
- # The key policy size limit is 32 kilobytes (32768 bytes).
994
+ # The key policy size quota is 32 kilobytes (32768 bytes).
935
995
  #
936
996
  #
937
997
  #
@@ -961,20 +1021,26 @@ module Aws::KMS
961
1021
  # * For asymmetric CMKs with ECC key material, specify `SIGN_VERIFY`.
962
1022
  #
963
1023
  # @option params [String] :customer_master_key_spec
964
- # Specifies the type of CMK to create. The `CustomerMasterKeySpec`
965
- # determines whether the CMK contains a symmetric key or an asymmetric
966
- # key pair. It also determines the encryption algorithms or signing
967
- # algorithms that the CMK supports. You can't change the
968
- # `CustomerMasterKeySpec` after the CMK is created. To further restrict
969
- # the algorithms that can be used with the CMK, use its key policy or
970
- # IAM policy.
971
- #
972
- # For help with choosing a key spec for your CMK, see [Selecting a
973
- # Customer Master Key Spec][1] in the *AWS Key Management Service
974
- # Developer Guide*.
1024
+ # Specifies the type of CMK to create. The default value,
1025
+ # `SYMMETRIC_DEFAULT`, creates a CMK with a 256-bit symmetric key for
1026
+ # encryption and decryption. For help choosing a key spec for your CMK,
1027
+ # see [How to Choose Your CMK Configuration][1] in the *AWS Key
1028
+ # Management Service Developer Guide*.
975
1029
  #
976
- # The default value, `SYMMETRIC_DEFAULT`, creates a CMK with a 256-bit
977
- # symmetric key.
1030
+ # The `CustomerMasterKeySpec` determines whether the CMK contains a
1031
+ # symmetric key or an asymmetric key pair. It also determines the
1032
+ # encryption algorithms or signing algorithms that the CMK supports. You
1033
+ # can't change the `CustomerMasterKeySpec` after the CMK is created. To
1034
+ # further restrict the algorithms that can be used with the CMK, use a
1035
+ # condition key in its key policy or IAM policy. For more information,
1036
+ # see [kms:EncryptionAlgorithm][2] or [kms:Signing Algorithm][3] in the
1037
+ # *AWS Key Management Service Developer Guide*.
1038
+ #
1039
+ # [AWS services that are integrated with AWS KMS][4] use symmetric CMKs
1040
+ # to protect your data. These services do not support asymmetric CMKs.
1041
+ # For help determining whether a CMK is symmetric or asymmetric, see
1042
+ # [Identifying Symmetric and Asymmetric CMKs][5] in the *AWS Key
1043
+ # Management Service Developer Guide*.
978
1044
  #
979
1045
  # AWS KMS supports the following key specs for CMKs:
980
1046
  #
@@ -1008,7 +1074,11 @@ module Aws::KMS
1008
1074
  #
1009
1075
  #
1010
1076
  #
1011
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html#cmk-key-spec
1077
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-choose.html
1078
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-encryption-algorithm
1079
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-signing-algorithm
1080
+ # [4]: http://aws.amazon.com/kms/features/#AWS_Service_Integration
1081
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/find-symm-asymm.html
1012
1082
  #
1013
1083
  # @option params [String] :origin
1014
1084
  # The source of the key material for the CMK. You cannot change the
@@ -1610,7 +1680,7 @@ module Aws::KMS
1610
1680
  # resp.custom_key_stores[0].cloud_hsm_cluster_id #=> String
1611
1681
  # resp.custom_key_stores[0].trust_anchor_certificate #=> String
1612
1682
  # resp.custom_key_stores[0].connection_state #=> String, one of "CONNECTED", "CONNECTING", "FAILED", "DISCONNECTED", "DISCONNECTING"
1613
- # 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"
1683
+ # 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"
1614
1684
  # resp.custom_key_stores[0].creation_date #=> Time
1615
1685
  # resp.next_marker #=> String
1616
1686
  # resp.truncated #=> Boolean
@@ -2275,7 +2345,7 @@ module Aws::KMS
2275
2345
  #
2276
2346
  # To generate a data key, specify the symmetric CMK that will be used to
2277
2347
  # encrypt the data key. You cannot use an asymmetric CMK to generate
2278
- # data keys.
2348
+ # data keys. To get the type of your CMK, use the DescribeKey operation.
2279
2349
  #
2280
2350
  # You must also specify the length of the data key. Use either the
2281
2351
  # `KeySpec` or `NumberOfBytes` parameters (but not both). For 128-bit
@@ -2646,7 +2716,8 @@ module Aws::KMS
2646
2716
  #
2647
2717
  # @option params [required, String] :key_id
2648
2718
  # Specifies the CMK that encrypts the private key in the data key pair.
2649
- # You must specify a symmetric CMK. You cannot use an asymmetric CMK.
2719
+ # You must specify a symmetric CMK. You cannot use an asymmetric CMK. To
2720
+ # get the type of your CMK, use the DescribeKey operation.
2650
2721
  #
2651
2722
  # To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias
2652
2723
  # name, or alias ARN. When using an alias name, prefix it with
@@ -2746,14 +2817,10 @@ module Aws::KMS
2746
2817
  # To generate a data key, you must specify the symmetric customer master
2747
2818
  # key (CMK) that is used to encrypt the data key. You cannot use an
2748
2819
  # asymmetric CMK to generate a data key. To get the type of your CMK,
2749
- # use the `KeySpec` field in the DescribeKey response. You must also
2750
- # specify the length of the data key using either the `KeySpec` or
2751
- # `NumberOfBytes` field (but not both). For common key lengths (128-bit
2752
- # and 256-bit symmetric keys), use the `KeySpec` parameter.
2820
+ # use the DescribeKey operation.
2753
2821
  #
2754
- # If the operation succeeds, you will find the plaintext copy of the
2755
- # data key in the `Plaintext` field of the response, and the encrypted
2756
- # copy of the data key in the `CiphertextBlob` field.
2822
+ # If the operation succeeds, you will find the encrypted copy of the
2823
+ # data key in the `CiphertextBlob` field.
2757
2824
  #
2758
2825
  # You can use the optional encryption context to add additional security
2759
2826
  # to the encryption operation. If you specify an `EncryptionContext`,
@@ -3471,7 +3538,7 @@ module Aws::KMS
3471
3538
  # field. These are predefined aliases that AWS has created but has not
3472
3539
  # yet associated with a CMK. Aliases that AWS creates in your account,
3473
3540
  # including predefined aliases, do not count against your [AWS KMS
3474
- # aliases limit][1].
3541
+ # aliases quota][1].
3475
3542
  #
3476
3543
  #
3477
3544
  #
@@ -3505,6 +3572,8 @@ module Aws::KMS
3505
3572
  # * {Types::ListAliasesResponse#next_marker #next_marker} => String
3506
3573
  # * {Types::ListAliasesResponse#truncated #truncated} => Boolean
3507
3574
  #
3575
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3576
+ #
3508
3577
  #
3509
3578
  # @example Example: To list aliases
3510
3579
  #
@@ -3625,6 +3694,8 @@ module Aws::KMS
3625
3694
  # * {Types::ListGrantsResponse#next_marker #next_marker} => String
3626
3695
  # * {Types::ListGrantsResponse#truncated #truncated} => Boolean
3627
3696
  #
3697
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3698
+ #
3628
3699
  #
3629
3700
  # @example Example: To list grants for a customer master key (CMK)
3630
3701
  #
@@ -3770,6 +3841,8 @@ module Aws::KMS
3770
3841
  # * {Types::ListKeyPoliciesResponse#next_marker #next_marker} => String
3771
3842
  # * {Types::ListKeyPoliciesResponse#truncated #truncated} => Boolean
3772
3843
  #
3844
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3845
+ #
3773
3846
  #
3774
3847
  # @example Example: To list key policies for a customer master key (CMK)
3775
3848
  #
@@ -3834,6 +3907,8 @@ module Aws::KMS
3834
3907
  # * {Types::ListKeysResponse#next_marker #next_marker} => String
3835
3908
  # * {Types::ListKeysResponse#truncated #truncated} => Boolean
3836
3909
  #
3910
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3911
+ #
3837
3912
  #
3838
3913
  # @example Example: To list customer master keys (CMKs)
3839
3914
  #
@@ -4147,12 +4222,15 @@ module Aws::KMS
4147
4222
  # information, see [Changes that I make are not always immediately
4148
4223
  # visible][2] in the *AWS Identity and Access Management User Guide*.
4149
4224
  #
4150
- # The key policy size limit is 32 kilobytes (32768 bytes).
4225
+ # The key policy cannot exceed 32 kilobytes (32768 bytes). For more
4226
+ # information, see [Resource Quotas][3] in the *AWS Key Management
4227
+ # Service Developer Guide*.
4151
4228
  #
4152
4229
  #
4153
4230
  #
4154
4231
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam
4155
4232
  # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
4233
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/resource-limits.html
4156
4234
  #
4157
4235
  # @option params [Boolean] :bypass_policy_lockout_safety_check
4158
4236
  # A flag to indicate whether to bypass the key policy lockout safety
@@ -4775,8 +4853,8 @@ module Aws::KMS
4775
4853
  #
4776
4854
  # @option params [String] :message_type
4777
4855
  # Tells AWS KMS whether the value of the `Message` parameter is a
4778
- # message or message digest. To indicate a message, enter `RAW`. To
4779
- # indicate a message digest, enter `DIGEST`.
4856
+ # message or message digest. The default value, RAW, indicates a
4857
+ # message. To indicate a message digest, enter `DIGEST`.
4780
4858
  #
4781
4859
  # @option params [Array<String>] :grant_tokens
4782
4860
  # A list of grant tokens.
@@ -5280,17 +5358,22 @@ module Aws::KMS
5280
5358
  # To get the alias name and alias ARN, use ListAliases.
5281
5359
  #
5282
5360
  # @option params [required, String, IO] :message
5283
- # Specifies the message that was signed, or a hash digest of that
5284
- # message. Messages can be 0-4096 bytes. To verify a larger message,
5285
- # provide a hash digest of the message.
5361
+ # Specifies the message that was signed. You can submit a raw message of
5362
+ # up to 4096 bytes, or a hash digest of the message. If you submit a
5363
+ # digest, use the `MessageType` parameter with a value of `DIGEST`.
5286
5364
  #
5287
- # If the digest of the message specified here is different from the
5288
- # message digest that was signed, the signature verification fails.
5365
+ # If the message specified here is different from the message that was
5366
+ # signed, the signature verification fails. A message and its hash
5367
+ # digest are considered to be the same message.
5289
5368
  #
5290
5369
  # @option params [String] :message_type
5291
5370
  # Tells AWS KMS whether the value of the `Message` parameter is a
5292
- # message or message digest. To indicate a message, enter `RAW`. To
5293
- # indicate a message digest, enter `DIGEST`.
5371
+ # message or message digest. The default value, RAW, indicates a
5372
+ # message. To indicate a message digest, enter `DIGEST`.
5373
+ #
5374
+ # Use the `DIGEST` value only when the value of the `Message` parameter
5375
+ # is a message digest. If you use the `DIGEST` value with a raw message,
5376
+ # the security of the verification operation can be compromised.
5294
5377
  #
5295
5378
  # @option params [required, String, IO] :signature
5296
5379
  # The signature that the `Sign` operation generated.
@@ -5354,7 +5437,7 @@ module Aws::KMS
5354
5437
  params: params,
5355
5438
  config: config)
5356
5439
  context[:gem_name] = 'aws-sdk-kms'
5357
- context[:gem_version] = '1.27.0'
5440
+ context[:gem_version] = '1.32.0'
5358
5441
  Seahorse::Client::Request.new(handlers, context)
5359
5442
  end
5360
5443
 
@@ -6,6 +6,61 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::KMS
9
+
10
+ # When KMS returns an error response, the Ruby SDK constructs and raises an error.
11
+ # These errors all extend Aws::KMS::Errors::ServiceError < {Aws::Errors::ServiceError}
12
+ #
13
+ # You can rescue all KMS errors using ServiceError:
14
+ #
15
+ # begin
16
+ # # do stuff
17
+ # rescue Aws::KMS::Errors::ServiceError
18
+ # # rescues all KMS API errors
19
+ # end
20
+ #
21
+ #
22
+ # ## Request Context
23
+ # ServiceError objects have a {Aws::Errors::ServiceError#context #context} method that returns
24
+ # information about the request that generated the error.
25
+ # See {Seahorse::Client::RequestContext} for more information.
26
+ #
27
+ # ## Error Classes
28
+ # * {AlreadyExistsException}
29
+ # * {CloudHsmClusterInUseException}
30
+ # * {CloudHsmClusterInvalidConfigurationException}
31
+ # * {CloudHsmClusterNotActiveException}
32
+ # * {CloudHsmClusterNotFoundException}
33
+ # * {CloudHsmClusterNotRelatedException}
34
+ # * {CustomKeyStoreHasCMKsException}
35
+ # * {CustomKeyStoreInvalidStateException}
36
+ # * {CustomKeyStoreNameInUseException}
37
+ # * {CustomKeyStoreNotFoundException}
38
+ # * {DependencyTimeoutException}
39
+ # * {DisabledException}
40
+ # * {ExpiredImportTokenException}
41
+ # * {IncorrectKeyException}
42
+ # * {IncorrectKeyMaterialException}
43
+ # * {IncorrectTrustAnchorException}
44
+ # * {InvalidAliasNameException}
45
+ # * {InvalidArnException}
46
+ # * {InvalidCiphertextException}
47
+ # * {InvalidGrantIdException}
48
+ # * {InvalidGrantTokenException}
49
+ # * {InvalidImportTokenException}
50
+ # * {InvalidKeyUsageException}
51
+ # * {InvalidMarkerException}
52
+ # * {KMSInternalException}
53
+ # * {KMSInvalidSignatureException}
54
+ # * {KMSInvalidStateException}
55
+ # * {KeyUnavailableException}
56
+ # * {LimitExceededException}
57
+ # * {MalformedPolicyDocumentException}
58
+ # * {NotFoundException}
59
+ # * {TagException}
60
+ # * {UnsupportedOperationException}
61
+ #
62
+ # Additionally, error classes are dynamically generated for service errors based on the error code
63
+ # if they are not defined above.
9
64
  module Errors
10
65
 
11
66
  extend Aws::Errors::DynamicErrors
@@ -23,7 +78,6 @@ module Aws::KMS
23
78
  def message
24
79
  @message || @data[:message]
25
80
  end
26
-
27
81
  end
28
82
 
29
83
  class CloudHsmClusterInUseException < ServiceError
@@ -39,7 +93,6 @@ module Aws::KMS
39
93
  def message
40
94
  @message || @data[:message]
41
95
  end
42
-
43
96
  end
44
97
 
45
98
  class CloudHsmClusterInvalidConfigurationException < ServiceError
@@ -55,7 +108,6 @@ module Aws::KMS
55
108
  def message
56
109
  @message || @data[:message]
57
110
  end
58
-
59
111
  end
60
112
 
61
113
  class CloudHsmClusterNotActiveException < ServiceError
@@ -71,7 +123,6 @@ module Aws::KMS
71
123
  def message
72
124
  @message || @data[:message]
73
125
  end
74
-
75
126
  end
76
127
 
77
128
  class CloudHsmClusterNotFoundException < ServiceError
@@ -87,7 +138,6 @@ module Aws::KMS
87
138
  def message
88
139
  @message || @data[:message]
89
140
  end
90
-
91
141
  end
92
142
 
93
143
  class CloudHsmClusterNotRelatedException < ServiceError
@@ -103,7 +153,6 @@ module Aws::KMS
103
153
  def message
104
154
  @message || @data[:message]
105
155
  end
106
-
107
156
  end
108
157
 
109
158
  class CustomKeyStoreHasCMKsException < ServiceError
@@ -119,7 +168,6 @@ module Aws::KMS
119
168
  def message
120
169
  @message || @data[:message]
121
170
  end
122
-
123
171
  end
124
172
 
125
173
  class CustomKeyStoreInvalidStateException < ServiceError
@@ -135,7 +183,6 @@ module Aws::KMS
135
183
  def message
136
184
  @message || @data[:message]
137
185
  end
138
-
139
186
  end
140
187
 
141
188
  class CustomKeyStoreNameInUseException < ServiceError
@@ -151,7 +198,6 @@ module Aws::KMS
151
198
  def message
152
199
  @message || @data[:message]
153
200
  end
154
-
155
201
  end
156
202
 
157
203
  class CustomKeyStoreNotFoundException < ServiceError
@@ -167,7 +213,6 @@ module Aws::KMS
167
213
  def message
168
214
  @message || @data[:message]
169
215
  end
170
-
171
216
  end
172
217
 
173
218
  class DependencyTimeoutException < ServiceError
@@ -183,7 +228,6 @@ module Aws::KMS
183
228
  def message
184
229
  @message || @data[:message]
185
230
  end
186
-
187
231
  end
188
232
 
189
233
  class DisabledException < ServiceError
@@ -199,7 +243,6 @@ module Aws::KMS
199
243
  def message
200
244
  @message || @data[:message]
201
245
  end
202
-
203
246
  end
204
247
 
205
248
  class ExpiredImportTokenException < ServiceError
@@ -215,7 +258,6 @@ module Aws::KMS
215
258
  def message
216
259
  @message || @data[:message]
217
260
  end
218
-
219
261
  end
220
262
 
221
263
  class IncorrectKeyException < ServiceError
@@ -231,7 +273,6 @@ module Aws::KMS
231
273
  def message
232
274
  @message || @data[:message]
233
275
  end
234
-
235
276
  end
236
277
 
237
278
  class IncorrectKeyMaterialException < ServiceError
@@ -247,7 +288,6 @@ module Aws::KMS
247
288
  def message
248
289
  @message || @data[:message]
249
290
  end
250
-
251
291
  end
252
292
 
253
293
  class IncorrectTrustAnchorException < ServiceError
@@ -263,7 +303,6 @@ module Aws::KMS
263
303
  def message
264
304
  @message || @data[:message]
265
305
  end
266
-
267
306
  end
268
307
 
269
308
  class InvalidAliasNameException < ServiceError
@@ -279,7 +318,6 @@ module Aws::KMS
279
318
  def message
280
319
  @message || @data[:message]
281
320
  end
282
-
283
321
  end
284
322
 
285
323
  class InvalidArnException < ServiceError
@@ -295,7 +333,6 @@ module Aws::KMS
295
333
  def message
296
334
  @message || @data[:message]
297
335
  end
298
-
299
336
  end
300
337
 
301
338
  class InvalidCiphertextException < ServiceError
@@ -311,7 +348,6 @@ module Aws::KMS
311
348
  def message
312
349
  @message || @data[:message]
313
350
  end
314
-
315
351
  end
316
352
 
317
353
  class InvalidGrantIdException < ServiceError
@@ -327,7 +363,6 @@ module Aws::KMS
327
363
  def message
328
364
  @message || @data[:message]
329
365
  end
330
-
331
366
  end
332
367
 
333
368
  class InvalidGrantTokenException < ServiceError
@@ -343,7 +378,6 @@ module Aws::KMS
343
378
  def message
344
379
  @message || @data[:message]
345
380
  end
346
-
347
381
  end
348
382
 
349
383
  class InvalidImportTokenException < ServiceError
@@ -359,7 +393,6 @@ module Aws::KMS
359
393
  def message
360
394
  @message || @data[:message]
361
395
  end
362
-
363
396
  end
364
397
 
365
398
  class InvalidKeyUsageException < ServiceError
@@ -375,7 +408,6 @@ module Aws::KMS
375
408
  def message
376
409
  @message || @data[:message]
377
410
  end
378
-
379
411
  end
380
412
 
381
413
  class InvalidMarkerException < ServiceError
@@ -391,7 +423,6 @@ module Aws::KMS
391
423
  def message
392
424
  @message || @data[:message]
393
425
  end
394
-
395
426
  end
396
427
 
397
428
  class KMSInternalException < ServiceError
@@ -407,7 +438,6 @@ module Aws::KMS
407
438
  def message
408
439
  @message || @data[:message]
409
440
  end
410
-
411
441
  end
412
442
 
413
443
  class KMSInvalidSignatureException < ServiceError
@@ -423,7 +453,6 @@ module Aws::KMS
423
453
  def message
424
454
  @message || @data[:message]
425
455
  end
426
-
427
456
  end
428
457
 
429
458
  class KMSInvalidStateException < ServiceError
@@ -439,7 +468,6 @@ module Aws::KMS
439
468
  def message
440
469
  @message || @data[:message]
441
470
  end
442
-
443
471
  end
444
472
 
445
473
  class KeyUnavailableException < ServiceError
@@ -455,7 +483,6 @@ module Aws::KMS
455
483
  def message
456
484
  @message || @data[:message]
457
485
  end
458
-
459
486
  end
460
487
 
461
488
  class LimitExceededException < ServiceError
@@ -471,7 +498,6 @@ module Aws::KMS
471
498
  def message
472
499
  @message || @data[:message]
473
500
  end
474
-
475
501
  end
476
502
 
477
503
  class MalformedPolicyDocumentException < ServiceError
@@ -487,7 +513,6 @@ module Aws::KMS
487
513
  def message
488
514
  @message || @data[:message]
489
515
  end
490
-
491
516
  end
492
517
 
493
518
  class NotFoundException < ServiceError
@@ -503,7 +528,6 @@ module Aws::KMS
503
528
  def message
504
529
  @message || @data[:message]
505
530
  end
506
-
507
531
  end
508
532
 
509
533
  class TagException < ServiceError
@@ -519,7 +543,6 @@ module Aws::KMS
519
543
  def message
520
544
  @message || @data[:message]
521
545
  end
522
-
523
546
  end
524
547
 
525
548
  class UnsupportedOperationException < ServiceError
@@ -535,7 +558,6 @@ module Aws::KMS
535
558
  def message
536
559
  @message || @data[:message]
537
560
  end
538
-
539
561
  end
540
562
 
541
563
  end
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::KMS
9
+
9
10
  class Resource
10
11
 
11
12
  # @param options ({})
@@ -324,6 +324,9 @@ module Aws::KMS
324
324
  # in the specified AWS CloudHSM cluster. AWS KMS logs into the cluster
325
325
  # as this user to manage key material on your behalf.
326
326
  #
327
+ # The password must be a string of 7 to 32 characters. Its value is
328
+ # case sensitive.
329
+ #
327
330
  # This parameter tells AWS KMS the `kmsuser` account password; it does
328
331
  # not change the password in the AWS CloudHSM cluster.
329
332
  #
@@ -555,7 +558,7 @@ module Aws::KMS
555
558
  # policy to the CMK. For more information, see [Default Key Policy][3]
556
559
  # in the *AWS Key Management Service Developer Guide*.
557
560
  #
558
- # The key policy size limit is 32 kilobytes (32768 bytes).
561
+ # The key policy size quota is 32 kilobytes (32768 bytes).
559
562
  #
560
563
  #
561
564
  #
@@ -589,20 +592,26 @@ module Aws::KMS
589
592
  # @return [String]
590
593
  #
591
594
  # @!attribute [rw] customer_master_key_spec
592
- # Specifies the type of CMK to create. The `CustomerMasterKeySpec`
593
- # determines whether the CMK contains a symmetric key or an asymmetric
594
- # key pair. It also determines the encryption algorithms or signing
595
- # algorithms that the CMK supports. You can't change the
596
- # `CustomerMasterKeySpec` after the CMK is created. To further
597
- # restrict the algorithms that can be used with the CMK, use its key
598
- # policy or IAM policy.
599
- #
600
- # For help with choosing a key spec for your CMK, see [Selecting a
601
- # Customer Master Key Spec][1] in the *AWS Key Management Service
602
- # Developer Guide*.
595
+ # Specifies the type of CMK to create. The default value,
596
+ # `SYMMETRIC_DEFAULT`, creates a CMK with a 256-bit symmetric key for
597
+ # encryption and decryption. For help choosing a key spec for your
598
+ # CMK, see [How to Choose Your CMK Configuration][1] in the *AWS Key
599
+ # Management Service Developer Guide*.
603
600
  #
604
- # The default value, `SYMMETRIC_DEFAULT`, creates a CMK with a 256-bit
605
- # symmetric key.
601
+ # The `CustomerMasterKeySpec` determines whether the CMK contains a
602
+ # symmetric key or an asymmetric key pair. It also determines the
603
+ # encryption algorithms or signing algorithms that the CMK supports.
604
+ # You can't change the `CustomerMasterKeySpec` after the CMK is
605
+ # created. To further restrict the algorithms that can be used with
606
+ # the CMK, use a condition key in its key policy or IAM policy. For
607
+ # more information, see [kms:EncryptionAlgorithm][2] or [kms:Signing
608
+ # Algorithm][3] in the *AWS Key Management Service Developer Guide*.
609
+ #
610
+ # [AWS services that are integrated with AWS KMS][4] use symmetric
611
+ # CMKs to protect your data. These services do not support asymmetric
612
+ # CMKs. For help determining whether a CMK is symmetric or asymmetric,
613
+ # see [Identifying Symmetric and Asymmetric CMKs][5] in the *AWS Key
614
+ # Management Service Developer Guide*.
606
615
  #
607
616
  # AWS KMS supports the following key specs for CMKs:
608
617
  #
@@ -637,7 +646,11 @@ module Aws::KMS
637
646
  #
638
647
  #
639
648
  #
640
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html#cmk-key-spec
649
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-choose.html
650
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-encryption-algorithm
651
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-signing-algorithm
652
+ # [4]: http://aws.amazon.com/kms/features/#AWS_Service_Integration
653
+ # [5]: https://docs.aws.amazon.com/kms/latest/developerguide/find-symm-asymm.html
641
654
  # @return [String]
642
655
  #
643
656
  # @!attribute [rw] origin
@@ -867,9 +880,10 @@ module Aws::KMS
867
880
  # AWS CloudHSM cluster is active and contains at least one active HSM.
868
881
  #
869
882
  # A value of `FAILED` indicates that an attempt to connect was
870
- # unsuccessful. For help resolving a connection failure, see
871
- # [Troubleshooting a Custom Key Store][1] in the *AWS Key Management
872
- # Service Developer Guide*.
883
+ # unsuccessful. The `ConnectionErrorCode` field in the response
884
+ # indicates the cause of the failure. For help resolving a connection
885
+ # failure, see [Troubleshooting a Custom Key Store][1] in the *AWS Key
886
+ # Management Service Developer Guide*.
873
887
  #
874
888
  #
875
889
  #
@@ -877,7 +891,12 @@ module Aws::KMS
877
891
  # @return [String]
878
892
  #
879
893
  # @!attribute [rw] connection_error_code
880
- # Describes the connection error. Valid values are:
894
+ # Describes the connection error. This field appears in the response
895
+ # only when the `ConnectionState` is `FAILED`. For help resolving
896
+ # these errors, see [How to Fix a Connection Failure][1] in *AWS Key
897
+ # Management Service Developer Guide*.
898
+ #
899
+ # Valid values are:
881
900
  #
882
901
  # * `CLUSTER_NOT_FOUND` - AWS KMS cannot find the AWS CloudHSM cluster
883
902
  # with the specified cluster ID.
@@ -893,23 +912,49 @@ module Aws::KMS
893
912
  # again.
894
913
  #
895
914
  # * `INVALID_CREDENTIALS` - AWS KMS does not have the correct password
896
- # for the `kmsuser` crypto user in the AWS CloudHSM cluster.
915
+ # for the `kmsuser` crypto user in the AWS CloudHSM cluster. Before
916
+ # you can connect your custom key store to its AWS CloudHSM cluster,
917
+ # you must change the `kmsuser` account password and update the key
918
+ # store password value for the custom key store.
897
919
  #
898
920
  # * `NETWORK_ERRORS` - Network errors are preventing AWS KMS from
899
921
  # connecting to the custom key store.
900
922
  #
923
+ # * `SUBNET_NOT_FOUND` - A subnet in the AWS CloudHSM cluster
924
+ # configuration was deleted. If AWS KMS cannot find all of the
925
+ # subnets that were configured for the cluster when the custom key
926
+ # store was created, attempts to connect fail. To fix this error,
927
+ # create a cluster from a backup and associate it with your custom
928
+ # key store. This process includes selecting a VPC and subnets. For
929
+ # details, see [How to Fix a Connection Failure][1] in the *AWS Key
930
+ # Management Service Developer Guide*.
931
+ #
901
932
  # * `USER_LOCKED_OUT` - The `kmsuser` CU account is locked out of the
902
933
  # associated AWS CloudHSM cluster due to too many failed password
903
934
  # attempts. Before you can connect your custom key store to its AWS
904
935
  # CloudHSM cluster, you must change the `kmsuser` account password
905
- # and update the password value for the custom key store.
936
+ # and update the key store password value for the custom key store.
906
937
  #
907
- # For help with connection failures, see [Troubleshooting Custom Key
908
- # Stores][1] in the *AWS Key Management Service Developer Guide*.
938
+ # * `USER_LOGGED_IN` - The `kmsuser` CU account is logged into the the
939
+ # associated AWS CloudHSM cluster. This prevents AWS KMS from
940
+ # rotating the `kmsuser` account password and logging into the
941
+ # cluster. Before you can connect your custom key store to its AWS
942
+ # CloudHSM cluster, you must log the `kmsuser` CU out of the
943
+ # cluster. If you changed the `kmsuser` password to log into the
944
+ # cluster, you must also and update the key store password value for
945
+ # the custom key store. For help, see [How to Log Out and
946
+ # Reconnect][2] in the *AWS Key Management Service Developer Guide*.
909
947
  #
948
+ # * `USER_NOT_FOUND` - AWS KMS cannot find a `kmsuser` CU account in
949
+ # the associated AWS CloudHSM cluster. Before you can connect your
950
+ # custom key store to its AWS CloudHSM cluster, you must create a
951
+ # `kmsuser` CU account in the cluster, and then update the key store
952
+ # password value for the custom key store.
910
953
  #
911
954
  #
912
- # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html
955
+ #
956
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html#fix-keystore-failed
957
+ # [2]: https://docs.aws.amazon.com/kms/latest/developerguide/fix-keystore.html#login-kmsuser-2
913
958
  # @return [String]
914
959
  #
915
960
  # @!attribute [rw] creation_date
@@ -1745,7 +1790,7 @@ module Aws::KMS
1745
1790
  # @!attribute [rw] key_id
1746
1791
  # Specifies the CMK that encrypts the private key in the data key
1747
1792
  # pair. You must specify a symmetric CMK. You cannot use an asymmetric
1748
- # CMK.
1793
+ # CMK. To get the type of your CMK, use the DescribeKey operation.
1749
1794
  #
1750
1795
  # To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias
1751
1796
  # name, or alias ARN. When using an alias name, prefix it with
@@ -1809,7 +1854,7 @@ module Aws::KMS
1809
1854
  # @!attribute [rw] key_id
1810
1855
  # Specifies the CMK that encrypted the private key in the data key
1811
1856
  # pair. You must specify a symmetric CMK. You cannot use an asymmetric
1812
- # CMK.
1857
+ # CMK. To get the type of your CMK, use the DescribeKey operation.
1813
1858
  #
1814
1859
  # To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias
1815
1860
  # name, or alias ARN. When using an alias name, prefix it with
@@ -2346,14 +2391,16 @@ module Aws::KMS
2346
2391
  # @!attribute [rw] public_key
2347
2392
  # The exported public key.
2348
2393
  #
2349
- # This value is returned as a binary [Distinguished Encoding Rules][1]
2350
- # (DER)-encoded object. To decode it, use an ASN.1 parsing tool, such
2351
- # as [OpenSSL asn1parse][2].
2394
+ # The value is a DER-encoded X.509 public key, also known as
2395
+ # `SubjectPublicKeyInfo` (SPKI), as defined in [RFC 5280][1]. When you
2396
+ # use the HTTP API or the AWS CLI, the value is Base64-encoded.
2397
+ # Otherwise, it is not Base64-encoded.
2352
2398
  #
2353
2399
  #
2354
2400
  #
2355
- # [1]: https://www.itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf
2356
- # [2]: https://www.openssl.org/docs/man1.0.2/man1/asn1parse.html
2401
+ #
2402
+ #
2403
+ # [1]: https://tools.ietf.org/html/rfc5280
2357
2404
  # @return [String]
2358
2405
  #
2359
2406
  # @!attribute [rw] customer_master_key_spec
@@ -3016,8 +3063,8 @@ module Aws::KMS
3016
3063
  include Aws::Structure
3017
3064
  end
3018
3065
 
3019
- # The request was rejected because a limit was exceeded. For more
3020
- # information, see [Limits][1] in the *AWS Key Management Service
3066
+ # The request was rejected because a quota was exceeded. For more
3067
+ # information, see [Quotas][1] in the *AWS Key Management Service
3021
3068
  # Developer Guide*.
3022
3069
  #
3023
3070
  #
@@ -3521,12 +3568,15 @@ module Aws::KMS
3521
3568
  # visible][2] in the *AWS Identity and Access Management User
3522
3569
  # Guide*.
3523
3570
  #
3524
- # The key policy size limit is 32 kilobytes (32768 bytes).
3571
+ # The key policy cannot exceed 32 kilobytes (32768 bytes). For more
3572
+ # information, see [Resource Quotas][3] in the *AWS Key Management
3573
+ # Service Developer Guide*.
3525
3574
  #
3526
3575
  #
3527
3576
  #
3528
3577
  # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam
3529
3578
  # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
3579
+ # [3]: https://docs.aws.amazon.com/kms/latest/developerguide/resource-limits.html
3530
3580
  # @return [String]
3531
3581
  #
3532
3582
  # @!attribute [rw] bypass_policy_lockout_safety_check
@@ -3949,8 +3999,8 @@ module Aws::KMS
3949
3999
  #
3950
4000
  # @!attribute [rw] message_type
3951
4001
  # Tells AWS KMS whether the value of the `Message` parameter is a
3952
- # message or message digest. To indicate a message, enter `RAW`. To
3953
- # indicate a message digest, enter `DIGEST`.
4002
+ # message or message digest. The default value, RAW, indicates a
4003
+ # message. To indicate a message digest, enter `DIGEST`.
3954
4004
  # @return [String]
3955
4005
  #
3956
4006
  # @!attribute [rw] grant_tokens
@@ -3989,6 +4039,23 @@ module Aws::KMS
3989
4039
  #
3990
4040
  # @!attribute [rw] signature
3991
4041
  # The cryptographic signature that was generated for the message.
4042
+ #
4043
+ # * When used with the supported RSA signing algorithms, the encoding
4044
+ # of this value is defined by [PKCS #1 in RFC 8017][1].
4045
+ #
4046
+ # * When used with the `ECDSA_SHA_256`, `ECDSA_SHA_384`, or
4047
+ # `ECDSA_SHA_512` signing algorithms, this value is a DER-encoded
4048
+ # object as defined by ANS X9.62–2005 and [RFC 3279 Section
4049
+ # 2.2.3][2]. This is the most commonly used signature format and is
4050
+ # appropriate for most uses.
4051
+ #
4052
+ # When you use the HTTP API or the AWS CLI, the value is
4053
+ # Base64-encoded. Otherwise, it is not Base64-encoded.
4054
+ #
4055
+ #
4056
+ #
4057
+ # [1]: https://tools.ietf.org/html/rfc8017
4058
+ # [2]: https://tools.ietf.org/html/rfc3279#section-2.2.3
3992
4059
  # @return [String]
3993
4060
  #
3994
4061
  # @!attribute [rw] signing_algorithm
@@ -4328,18 +4395,24 @@ module Aws::KMS
4328
4395
  # @return [String]
4329
4396
  #
4330
4397
  # @!attribute [rw] message
4331
- # Specifies the message that was signed, or a hash digest of that
4332
- # message. Messages can be 0-4096 bytes. To verify a larger message,
4333
- # provide a hash digest of the message.
4398
+ # Specifies the message that was signed. You can submit a raw message
4399
+ # of up to 4096 bytes, or a hash digest of the message. If you submit
4400
+ # a digest, use the `MessageType` parameter with a value of `DIGEST`.
4334
4401
  #
4335
- # If the digest of the message specified here is different from the
4336
- # message digest that was signed, the signature verification fails.
4402
+ # If the message specified here is different from the message that was
4403
+ # signed, the signature verification fails. A message and its hash
4404
+ # digest are considered to be the same message.
4337
4405
  # @return [String]
4338
4406
  #
4339
4407
  # @!attribute [rw] message_type
4340
4408
  # Tells AWS KMS whether the value of the `Message` parameter is a
4341
- # message or message digest. To indicate a message, enter `RAW`. To
4342
- # indicate a message digest, enter `DIGEST`.
4409
+ # message or message digest. The default value, RAW, indicates a
4410
+ # message. To indicate a message digest, enter `DIGEST`.
4411
+ #
4412
+ # Use the `DIGEST` value only when the value of the `Message`
4413
+ # parameter is a message digest. If you use the `DIGEST` value with a
4414
+ # raw message, the security of the verification operation can be
4415
+ # compromised.
4343
4416
  # @return [String]
4344
4417
  #
4345
4418
  # @!attribute [rw] signature
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-kms
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.27.0
4
+ version: 1.32.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-12-09 00:00:00.000000000 Z
11
+ date: 2020-05-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -81,7 +81,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
81
81
  version: '0'
82
82
  requirements: []
83
83
  rubyforge_project:
84
- rubygems_version: 2.5.2.3
84
+ rubygems_version: 2.7.6.2
85
85
  signing_key:
86
86
  specification_version: 4
87
87
  summary: AWS SDK for Ruby - KMS