aws-sdk-paymentcryptography 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,1454 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::PaymentCryptography
11
+ module Types
12
+
13
+ # You do not have sufficient access to perform this action.
14
+ #
15
+ # @!attribute [rw] message
16
+ # @return [String]
17
+ #
18
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/AccessDeniedException AWS API Documentation
19
+ #
20
+ class AccessDeniedException < Struct.new(
21
+ :message)
22
+ SENSITIVE = []
23
+ include Aws::Structure
24
+ end
25
+
26
+ # Contains information about an alias.
27
+ #
28
+ # @!attribute [rw] alias_name
29
+ # A friendly name that you can use to refer to a key. The value must
30
+ # begin with `alias/`.
31
+ #
32
+ # Do not include confidential or sensitive information in this field.
33
+ # This field may be displayed in plaintext in CloudTrail logs and
34
+ # other output.
35
+ # @return [String]
36
+ #
37
+ # @!attribute [rw] key_arn
38
+ # The `KeyARN` of the key associated with the alias.
39
+ # @return [String]
40
+ #
41
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/Alias AWS API Documentation
42
+ #
43
+ class Alias < Struct.new(
44
+ :alias_name,
45
+ :key_arn)
46
+ SENSITIVE = []
47
+ include Aws::Structure
48
+ end
49
+
50
+ # This request can cause an inconsistent state for the resource.
51
+ #
52
+ # @!attribute [rw] message
53
+ # @return [String]
54
+ #
55
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/ConflictException AWS API Documentation
56
+ #
57
+ class ConflictException < Struct.new(
58
+ :message)
59
+ SENSITIVE = []
60
+ include Aws::Structure
61
+ end
62
+
63
+ # @!attribute [rw] alias_name
64
+ # A friendly name that you can use to refer a key. An alias must begin
65
+ # with `alias/` followed by a name, for example `alias/ExampleAlias`.
66
+ # It can contain only alphanumeric characters, forward slashes (/),
67
+ # underscores (\_), and dashes (-).
68
+ #
69
+ # Don't include confidential or sensitive information in this field.
70
+ # This field may be displayed in plaintext in CloudTrail logs and
71
+ # other output.
72
+ # @return [String]
73
+ #
74
+ # @!attribute [rw] key_arn
75
+ # The `KeyARN` of the key to associate with the alias.
76
+ # @return [String]
77
+ #
78
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/CreateAliasInput AWS API Documentation
79
+ #
80
+ class CreateAliasInput < Struct.new(
81
+ :alias_name,
82
+ :key_arn)
83
+ SENSITIVE = []
84
+ include Aws::Structure
85
+ end
86
+
87
+ # @!attribute [rw] alias
88
+ # The alias for the key.
89
+ # @return [Types::Alias]
90
+ #
91
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/CreateAliasOutput AWS API Documentation
92
+ #
93
+ class CreateAliasOutput < Struct.new(
94
+ :alias)
95
+ SENSITIVE = []
96
+ include Aws::Structure
97
+ end
98
+
99
+ # @!attribute [rw] enabled
100
+ # Specifies whether to enable the key. If the key is enabled, it is
101
+ # activated for use within the service. If the key not enabled, then
102
+ # it is created but not activated. The default value is enabled.
103
+ # @return [Boolean]
104
+ #
105
+ # @!attribute [rw] exportable
106
+ # Specifies whether the key is exportable from the service.
107
+ # @return [Boolean]
108
+ #
109
+ # @!attribute [rw] key_attributes
110
+ # The role of the key, the algorithm it supports, and the
111
+ # cryptographic operations allowed with the key. This data is
112
+ # immutable after the key is created.
113
+ # @return [Types::KeyAttributes]
114
+ #
115
+ # @!attribute [rw] key_check_value_algorithm
116
+ # The algorithm that Amazon Web Services Payment Cryptography uses to
117
+ # calculate the key check value (KCV) for DES and AES keys.
118
+ #
119
+ # For DES key, the KCV is computed by encrypting 8 bytes, each with
120
+ # value '00', with the key to be checked and retaining the 3 highest
121
+ # order bytes of the encrypted result. For AES key, the KCV is
122
+ # computed by encrypting 8 bytes, each with value '01', with the key
123
+ # to be checked and retaining the 3 highest order bytes of the
124
+ # encrypted result.
125
+ # @return [String]
126
+ #
127
+ # @!attribute [rw] tags
128
+ # The tags to attach to the key. Each tag consists of a tag key and a
129
+ # tag value. Both the tag key and the tag value are required, but the
130
+ # tag value can be an empty (null) string. You can't have more than
131
+ # one tag on an Amazon Web Services Payment Cryptography key with the
132
+ # same tag key.
133
+ #
134
+ # To use this parameter, you must have `TagResource` permission.
135
+ #
136
+ # Don't include confidential or sensitive information in this field.
137
+ # This field may be displayed in plaintext in CloudTrail logs and
138
+ # other output.
139
+ #
140
+ # <note markdown="1"> Tagging or untagging an Amazon Web Services Payment Cryptography key
141
+ # can allow or deny permission to the key.
142
+ #
143
+ # </note>
144
+ # @return [Array<Types::Tag>]
145
+ #
146
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/CreateKeyInput AWS API Documentation
147
+ #
148
+ class CreateKeyInput < Struct.new(
149
+ :enabled,
150
+ :exportable,
151
+ :key_attributes,
152
+ :key_check_value_algorithm,
153
+ :tags)
154
+ SENSITIVE = []
155
+ include Aws::Structure
156
+ end
157
+
158
+ # @!attribute [rw] key
159
+ # The key material that contains all the key attributes.
160
+ # @return [Types::Key]
161
+ #
162
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/CreateKeyOutput AWS API Documentation
163
+ #
164
+ class CreateKeyOutput < Struct.new(
165
+ :key)
166
+ SENSITIVE = []
167
+ include Aws::Structure
168
+ end
169
+
170
+ # @!attribute [rw] alias_name
171
+ # A friendly name that you can use to refer Amazon Web Services
172
+ # Payment Cryptography key. This value must begin with `alias/`
173
+ # followed by a name, such as `alias/ExampleAlias`.
174
+ # @return [String]
175
+ #
176
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/DeleteAliasInput AWS API Documentation
177
+ #
178
+ class DeleteAliasInput < Struct.new(
179
+ :alias_name)
180
+ SENSITIVE = []
181
+ include Aws::Structure
182
+ end
183
+
184
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/DeleteAliasOutput AWS API Documentation
185
+ #
186
+ class DeleteAliasOutput < Aws::EmptyStructure; end
187
+
188
+ # @!attribute [rw] delete_key_in_days
189
+ # The waiting period for key deletion. The default value is seven
190
+ # days.
191
+ # @return [Integer]
192
+ #
193
+ # @!attribute [rw] key_identifier
194
+ # The `KeyARN` of the key that is scheduled for deletion.
195
+ # @return [String]
196
+ #
197
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/DeleteKeyInput AWS API Documentation
198
+ #
199
+ class DeleteKeyInput < Struct.new(
200
+ :delete_key_in_days,
201
+ :key_identifier)
202
+ SENSITIVE = []
203
+ include Aws::Structure
204
+ end
205
+
206
+ # @!attribute [rw] key
207
+ # The `KeyARN` of the key that is scheduled for deletion.
208
+ # @return [Types::Key]
209
+ #
210
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/DeleteKeyOutput AWS API Documentation
211
+ #
212
+ class DeleteKeyOutput < Struct.new(
213
+ :key)
214
+ SENSITIVE = []
215
+ include Aws::Structure
216
+ end
217
+
218
+ # @!attribute [rw] export_key_identifier
219
+ # The `KeyARN` of the key under export from Amazon Web Services
220
+ # Payment Cryptography.
221
+ # @return [String]
222
+ #
223
+ # @!attribute [rw] key_material
224
+ # The key block format type, for example, TR-34 or TR-31, to use
225
+ # during key material export.
226
+ # @return [Types::ExportKeyMaterial]
227
+ #
228
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/ExportKeyInput AWS API Documentation
229
+ #
230
+ class ExportKeyInput < Struct.new(
231
+ :export_key_identifier,
232
+ :key_material)
233
+ SENSITIVE = []
234
+ include Aws::Structure
235
+ end
236
+
237
+ # Parameter information for key material export from Amazon Web Services
238
+ # Payment Cryptography.
239
+ #
240
+ # @note ExportKeyMaterial is a union - when making an API calls you must set exactly one of the members.
241
+ #
242
+ # @!attribute [rw] tr_31_key_block
243
+ # Parameter information for key material export using TR-31 standard.
244
+ # @return [Types::ExportTr31KeyBlock]
245
+ #
246
+ # @!attribute [rw] tr_34_key_block
247
+ # Parameter information for key material export using TR-34 standard.
248
+ # @return [Types::ExportTr34KeyBlock]
249
+ #
250
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/ExportKeyMaterial AWS API Documentation
251
+ #
252
+ class ExportKeyMaterial < Struct.new(
253
+ :tr_31_key_block,
254
+ :tr_34_key_block,
255
+ :unknown)
256
+ SENSITIVE = []
257
+ include Aws::Structure
258
+ include Aws::Structure::Union
259
+
260
+ class Tr31KeyBlock < ExportKeyMaterial; end
261
+ class Tr34KeyBlock < ExportKeyMaterial; end
262
+ class Unknown < ExportKeyMaterial; end
263
+ end
264
+
265
+ # @!attribute [rw] wrapped_key
266
+ # The key material under export as a TR-34 or TR-31 wrapped key block.
267
+ # @return [Types::WrappedKey]
268
+ #
269
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/ExportKeyOutput AWS API Documentation
270
+ #
271
+ class ExportKeyOutput < Struct.new(
272
+ :wrapped_key)
273
+ SENSITIVE = []
274
+ include Aws::Structure
275
+ end
276
+
277
+ # Parameter information for key material export using TR-31 standard.
278
+ #
279
+ # @!attribute [rw] wrapping_key_identifier
280
+ # The `KeyARN` of the the wrapping key. This key encrypts or wraps the
281
+ # key under export for TR-31 key block generation.
282
+ # @return [String]
283
+ #
284
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/ExportTr31KeyBlock AWS API Documentation
285
+ #
286
+ class ExportTr31KeyBlock < Struct.new(
287
+ :wrapping_key_identifier)
288
+ SENSITIVE = []
289
+ include Aws::Structure
290
+ end
291
+
292
+ # Parameter information for key material export using TR-34 standard.
293
+ #
294
+ # @!attribute [rw] certificate_authority_public_key_identifier
295
+ # The `KeyARN` of the certificate chain that signs the wrapping key
296
+ # certificate during TR-34 key export.
297
+ # @return [String]
298
+ #
299
+ # @!attribute [rw] export_token
300
+ # The export token to initiate key export from Amazon Web Services
301
+ # Payment Cryptography. It also contains the signing key certificate
302
+ # that will sign the wrapped key during TR-34 key block generation.
303
+ # Call GetParametersForExport to receive an export token. It expires
304
+ # after 7 days. You can use the same export token to export multiple
305
+ # keys from the same service account.
306
+ # @return [String]
307
+ #
308
+ # @!attribute [rw] key_block_format
309
+ # The format of key block that Amazon Web Services Payment
310
+ # Cryptography will use during key export.
311
+ # @return [String]
312
+ #
313
+ # @!attribute [rw] random_nonce
314
+ # A random number value that is unique to the TR-34 key block
315
+ # generated using 2 pass. The operation will fail, if a random nonce
316
+ # value is not provided for a TR-34 key block generated using 2 pass.
317
+ # @return [String]
318
+ #
319
+ # @!attribute [rw] wrapping_key_certificate
320
+ # The `KeyARN` of the wrapping key certificate. Amazon Web Services
321
+ # Payment Cryptography uses this certificate to wrap the key under
322
+ # export.
323
+ # @return [String]
324
+ #
325
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/ExportTr34KeyBlock AWS API Documentation
326
+ #
327
+ class ExportTr34KeyBlock < Struct.new(
328
+ :certificate_authority_public_key_identifier,
329
+ :export_token,
330
+ :key_block_format,
331
+ :random_nonce,
332
+ :wrapping_key_certificate)
333
+ SENSITIVE = [:wrapping_key_certificate]
334
+ include Aws::Structure
335
+ end
336
+
337
+ # @!attribute [rw] alias_name
338
+ # The alias of the Amazon Web Services Payment Cryptography key.
339
+ # @return [String]
340
+ #
341
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/GetAliasInput AWS API Documentation
342
+ #
343
+ class GetAliasInput < Struct.new(
344
+ :alias_name)
345
+ SENSITIVE = []
346
+ include Aws::Structure
347
+ end
348
+
349
+ # @!attribute [rw] alias
350
+ # The alias of the Amazon Web Services Payment Cryptography key.
351
+ # @return [Types::Alias]
352
+ #
353
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/GetAliasOutput AWS API Documentation
354
+ #
355
+ class GetAliasOutput < Struct.new(
356
+ :alias)
357
+ SENSITIVE = []
358
+ include Aws::Structure
359
+ end
360
+
361
+ # @!attribute [rw] key_identifier
362
+ # The `KeyARN` of the Amazon Web Services Payment Cryptography key.
363
+ # @return [String]
364
+ #
365
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/GetKeyInput AWS API Documentation
366
+ #
367
+ class GetKeyInput < Struct.new(
368
+ :key_identifier)
369
+ SENSITIVE = []
370
+ include Aws::Structure
371
+ end
372
+
373
+ # @!attribute [rw] key
374
+ # The key material, including the immutable and mutable data for the
375
+ # key.
376
+ # @return [Types::Key]
377
+ #
378
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/GetKeyOutput AWS API Documentation
379
+ #
380
+ class GetKeyOutput < Struct.new(
381
+ :key)
382
+ SENSITIVE = []
383
+ include Aws::Structure
384
+ end
385
+
386
+ # @!attribute [rw] key_material_type
387
+ # The key block format type (for example, TR-34 or TR-31) to use
388
+ # during key material export. Export token is only required for a
389
+ # TR-34 key export, `TR34_KEY_BLOCK`. Export token is not required for
390
+ # TR-31 key export.
391
+ # @return [String]
392
+ #
393
+ # @!attribute [rw] signing_key_algorithm
394
+ # The signing key algorithm to generate a signing key certificate.
395
+ # This certificate signs the wrapped key under export within the TR-34
396
+ # key block cryptogram. `RSA_2048` is the only signing key algorithm
397
+ # allowed.
398
+ # @return [String]
399
+ #
400
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/GetParametersForExportInput AWS API Documentation
401
+ #
402
+ class GetParametersForExportInput < Struct.new(
403
+ :key_material_type,
404
+ :signing_key_algorithm)
405
+ SENSITIVE = []
406
+ include Aws::Structure
407
+ end
408
+
409
+ # @!attribute [rw] export_token
410
+ # The export token to initiate key export from Amazon Web Services
411
+ # Payment Cryptography. The export token expires after 7 days. You can
412
+ # use the same export token to export multiple keys from the same
413
+ # service account.
414
+ # @return [String]
415
+ #
416
+ # @!attribute [rw] parameters_valid_until_timestamp
417
+ # The validity period of the export token.
418
+ # @return [Time]
419
+ #
420
+ # @!attribute [rw] signing_key_algorithm
421
+ # The algorithm of the signing key certificate for use in TR-34 key
422
+ # block generation. `RSA_2048` is the only signing key algorithm
423
+ # allowed.
424
+ # @return [String]
425
+ #
426
+ # @!attribute [rw] signing_key_certificate
427
+ # The signing key certificate of the public key for signature within
428
+ # the TR-34 key block cryptogram. The certificate expires after 7
429
+ # days.
430
+ # @return [String]
431
+ #
432
+ # @!attribute [rw] signing_key_certificate_chain
433
+ # The certificate chain that signed the signing key certificate. This
434
+ # is the root certificate authority (CA) within your service account.
435
+ # @return [String]
436
+ #
437
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/GetParametersForExportOutput AWS API Documentation
438
+ #
439
+ class GetParametersForExportOutput < Struct.new(
440
+ :export_token,
441
+ :parameters_valid_until_timestamp,
442
+ :signing_key_algorithm,
443
+ :signing_key_certificate,
444
+ :signing_key_certificate_chain)
445
+ SENSITIVE = [:signing_key_certificate, :signing_key_certificate_chain]
446
+ include Aws::Structure
447
+ end
448
+
449
+ # @!attribute [rw] key_material_type
450
+ # The key block format type such as TR-34 or TR-31 to use during key
451
+ # material import. Import token is only required for TR-34 key import
452
+ # `TR34_KEY_BLOCK`. Import token is not required for TR-31 key import.
453
+ # @return [String]
454
+ #
455
+ # @!attribute [rw] wrapping_key_algorithm
456
+ # The wrapping key algorithm to generate a wrapping key certificate.
457
+ # This certificate wraps the key under import within the TR-34 key
458
+ # block cryptogram. `RSA_2048` is the only wrapping key algorithm
459
+ # allowed.
460
+ # @return [String]
461
+ #
462
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/GetParametersForImportInput AWS API Documentation
463
+ #
464
+ class GetParametersForImportInput < Struct.new(
465
+ :key_material_type,
466
+ :wrapping_key_algorithm)
467
+ SENSITIVE = []
468
+ include Aws::Structure
469
+ end
470
+
471
+ # @!attribute [rw] import_token
472
+ # The import token to initiate key import into Amazon Web Services
473
+ # Payment Cryptography. The import token expires after 7 days. You can
474
+ # use the same import token to import multiple keys to the same
475
+ # service account.
476
+ # @return [String]
477
+ #
478
+ # @!attribute [rw] parameters_valid_until_timestamp
479
+ # The validity period of the import token.
480
+ # @return [Time]
481
+ #
482
+ # @!attribute [rw] wrapping_key_algorithm
483
+ # The algorithm of the wrapping key for use within TR-34 key block.
484
+ # `RSA_2048` is the only wrapping key algorithm allowed.
485
+ # @return [String]
486
+ #
487
+ # @!attribute [rw] wrapping_key_certificate
488
+ # The wrapping key certificate of the wrapping key for use within the
489
+ # TR-34 key block. The certificate expires in 7 days.
490
+ # @return [String]
491
+ #
492
+ # @!attribute [rw] wrapping_key_certificate_chain
493
+ # The Amazon Web Services Payment Cryptography certificate chain that
494
+ # signed the wrapping key certificate. This is the root certificate
495
+ # authority (CA) within your service account.
496
+ # @return [String]
497
+ #
498
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/GetParametersForImportOutput AWS API Documentation
499
+ #
500
+ class GetParametersForImportOutput < Struct.new(
501
+ :import_token,
502
+ :parameters_valid_until_timestamp,
503
+ :wrapping_key_algorithm,
504
+ :wrapping_key_certificate,
505
+ :wrapping_key_certificate_chain)
506
+ SENSITIVE = [:wrapping_key_certificate, :wrapping_key_certificate_chain]
507
+ include Aws::Structure
508
+ end
509
+
510
+ # @!attribute [rw] key_identifier
511
+ # The `KeyARN` of the asymmetric key pair.
512
+ # @return [String]
513
+ #
514
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/GetPublicKeyCertificateInput AWS API Documentation
515
+ #
516
+ class GetPublicKeyCertificateInput < Struct.new(
517
+ :key_identifier)
518
+ SENSITIVE = []
519
+ include Aws::Structure
520
+ end
521
+
522
+ # @!attribute [rw] key_certificate
523
+ # The public key component of the asymmetric key pair in a certificate
524
+ # (PEM) format. It is signed by the root certificate authority (CA)
525
+ # within your service account. The certificate expires in 90 days.
526
+ # @return [String]
527
+ #
528
+ # @!attribute [rw] key_certificate_chain
529
+ # The certificate chain that signed the public key certificate of the
530
+ # asymmetric key pair. This is the root certificate authority (CA)
531
+ # within your service account.
532
+ # @return [String]
533
+ #
534
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/GetPublicKeyCertificateOutput AWS API Documentation
535
+ #
536
+ class GetPublicKeyCertificateOutput < Struct.new(
537
+ :key_certificate,
538
+ :key_certificate_chain)
539
+ SENSITIVE = [:key_certificate, :key_certificate_chain]
540
+ include Aws::Structure
541
+ end
542
+
543
+ # @!attribute [rw] enabled
544
+ # Specifies whether import key is enabled.
545
+ # @return [Boolean]
546
+ #
547
+ # @!attribute [rw] key_check_value_algorithm
548
+ # The algorithm that Amazon Web Services Payment Cryptography uses to
549
+ # calculate the key check value (KCV) for DES and AES keys.
550
+ #
551
+ # For DES key, the KCV is computed by encrypting 8 bytes, each with
552
+ # value '00', with the key to be checked and retaining the 3 highest
553
+ # order bytes of the encrypted result. For AES key, the KCV is
554
+ # computed by encrypting 8 bytes, each with value '01', with the key
555
+ # to be checked and retaining the 3 highest order bytes of the
556
+ # encrypted result.
557
+ # @return [String]
558
+ #
559
+ # @!attribute [rw] key_material
560
+ # The key or public key certificate type to use during key material
561
+ # import, for example TR-34 or RootCertificatePublicKey.
562
+ # @return [Types::ImportKeyMaterial]
563
+ #
564
+ # @!attribute [rw] tags
565
+ # The tags to attach to the key. Each tag consists of a tag key and a
566
+ # tag value. Both the tag key and the tag value are required, but the
567
+ # tag value can be an empty (null) string. You can't have more than
568
+ # one tag on an Amazon Web Services Payment Cryptography key with the
569
+ # same tag key.
570
+ #
571
+ # You can't have more than one tag on an Amazon Web Services Payment
572
+ # Cryptography key with the same tag key. If you specify an existing
573
+ # tag key with a different tag value, Amazon Web Services Payment
574
+ # Cryptography replaces the current tag value with the specified one.
575
+ #
576
+ # To use this parameter, you must have `TagResource` permission.
577
+ #
578
+ # Don't include confidential or sensitive information in this field.
579
+ # This field may be displayed in plaintext in CloudTrail logs and
580
+ # other output.
581
+ #
582
+ # <note markdown="1"> Tagging or untagging an Amazon Web Services Payment Cryptography key
583
+ # can allow or deny permission to the key.
584
+ #
585
+ # </note>
586
+ # @return [Array<Types::Tag>]
587
+ #
588
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/ImportKeyInput AWS API Documentation
589
+ #
590
+ class ImportKeyInput < Struct.new(
591
+ :enabled,
592
+ :key_check_value_algorithm,
593
+ :key_material,
594
+ :tags)
595
+ SENSITIVE = []
596
+ include Aws::Structure
597
+ end
598
+
599
+ # Parameter information for key material import.
600
+ #
601
+ # @note ImportKeyMaterial is a union - when making an API calls you must set exactly one of the members.
602
+ #
603
+ # @!attribute [rw] root_certificate_public_key
604
+ # Parameter information for root public key certificate import.
605
+ # @return [Types::RootCertificatePublicKey]
606
+ #
607
+ # @!attribute [rw] tr_31_key_block
608
+ # Parameter information for key material import using TR-31 standard.
609
+ # @return [Types::ImportTr31KeyBlock]
610
+ #
611
+ # @!attribute [rw] tr_34_key_block
612
+ # Parameter information for key material import using TR-34 standard.
613
+ # @return [Types::ImportTr34KeyBlock]
614
+ #
615
+ # @!attribute [rw] trusted_certificate_public_key
616
+ # Parameter information for trusted public key certificate import.
617
+ # @return [Types::TrustedCertificatePublicKey]
618
+ #
619
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/ImportKeyMaterial AWS API Documentation
620
+ #
621
+ class ImportKeyMaterial < Struct.new(
622
+ :root_certificate_public_key,
623
+ :tr_31_key_block,
624
+ :tr_34_key_block,
625
+ :trusted_certificate_public_key,
626
+ :unknown)
627
+ SENSITIVE = []
628
+ include Aws::Structure
629
+ include Aws::Structure::Union
630
+
631
+ class RootCertificatePublicKey < ImportKeyMaterial; end
632
+ class Tr31KeyBlock < ImportKeyMaterial; end
633
+ class Tr34KeyBlock < ImportKeyMaterial; end
634
+ class TrustedCertificatePublicKey < ImportKeyMaterial; end
635
+ class Unknown < ImportKeyMaterial; end
636
+ end
637
+
638
+ # @!attribute [rw] key
639
+ # The `KeyARN` of the key material imported within Amazon Web Services
640
+ # Payment Cryptography.
641
+ # @return [Types::Key]
642
+ #
643
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/ImportKeyOutput AWS API Documentation
644
+ #
645
+ class ImportKeyOutput < Struct.new(
646
+ :key)
647
+ SENSITIVE = []
648
+ include Aws::Structure
649
+ end
650
+
651
+ # Parameter information for key material import using TR-31 standard.
652
+ #
653
+ # @!attribute [rw] wrapped_key_block
654
+ # The TR-34 wrapped key block to import.
655
+ # @return [String]
656
+ #
657
+ # @!attribute [rw] wrapping_key_identifier
658
+ # The `KeyARN` of the key that will decrypt or unwrap a TR-31 key
659
+ # block during import.
660
+ # @return [String]
661
+ #
662
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/ImportTr31KeyBlock AWS API Documentation
663
+ #
664
+ class ImportTr31KeyBlock < Struct.new(
665
+ :wrapped_key_block,
666
+ :wrapping_key_identifier)
667
+ SENSITIVE = []
668
+ include Aws::Structure
669
+ end
670
+
671
+ # Parameter information for key material import using TR-34 standard.
672
+ #
673
+ # @!attribute [rw] certificate_authority_public_key_identifier
674
+ # The `KeyARN` of the certificate chain that signs the signing key
675
+ # certificate during TR-34 key import.
676
+ # @return [String]
677
+ #
678
+ # @!attribute [rw] import_token
679
+ # The import token that initiates key import into Amazon Web Services
680
+ # Payment Cryptography. It expires after 7 days. You can use the same
681
+ # import token to import multiple keys to the same service account.
682
+ # @return [String]
683
+ #
684
+ # @!attribute [rw] key_block_format
685
+ # The key block format to use during key import. The only value
686
+ # allowed is `X9_TR34_2012`.
687
+ # @return [String]
688
+ #
689
+ # @!attribute [rw] random_nonce
690
+ # A random number value that is unique to the TR-34 key block
691
+ # generated using 2 pass. The operation will fail, if a random nonce
692
+ # value is not provided for a TR-34 key block generated using 2 pass.
693
+ # @return [String]
694
+ #
695
+ # @!attribute [rw] signing_key_certificate
696
+ # The public key component in PEM certificate format of the private
697
+ # key that signs the KDH TR-34 wrapped key block.
698
+ # @return [String]
699
+ #
700
+ # @!attribute [rw] wrapped_key_block
701
+ # The TR-34 wrapped key block to import.
702
+ # @return [String]
703
+ #
704
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/ImportTr34KeyBlock AWS API Documentation
705
+ #
706
+ class ImportTr34KeyBlock < Struct.new(
707
+ :certificate_authority_public_key_identifier,
708
+ :import_token,
709
+ :key_block_format,
710
+ :random_nonce,
711
+ :signing_key_certificate,
712
+ :wrapped_key_block)
713
+ SENSITIVE = [:signing_key_certificate]
714
+ include Aws::Structure
715
+ end
716
+
717
+ # The request processing has failed because of an unknown error,
718
+ # exception, or failure.
719
+ #
720
+ # @!attribute [rw] message
721
+ # @return [String]
722
+ #
723
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/InternalServerException AWS API Documentation
724
+ #
725
+ class InternalServerException < Struct.new(
726
+ :message)
727
+ SENSITIVE = []
728
+ include Aws::Structure
729
+ end
730
+
731
+ # Metadata about an Amazon Web Services Payment Cryptography key.
732
+ #
733
+ # @!attribute [rw] create_timestamp
734
+ # The date and time when the key was created.
735
+ # @return [Time]
736
+ #
737
+ # @!attribute [rw] delete_pending_timestamp
738
+ # The date and time after which Amazon Web Services Payment
739
+ # Cryptography will delete the key. This value is present only when
740
+ # `KeyState` is `DELETE_PENDING` and the key is scheduled for
741
+ # deletion.
742
+ # @return [Time]
743
+ #
744
+ # @!attribute [rw] delete_timestamp
745
+ # The date and time after which Amazon Web Services Payment
746
+ # Cryptography will delete the key. This value is present only when
747
+ # when the `KeyState` is `DELETE_COMPLETE` and the Amazon Web Services
748
+ # Payment Cryptography key is deleted.
749
+ # @return [Time]
750
+ #
751
+ # @!attribute [rw] enabled
752
+ # Specifies whether the key is enabled.
753
+ # @return [Boolean]
754
+ #
755
+ # @!attribute [rw] exportable
756
+ # Specifies whether the key is exportable. This data is immutable
757
+ # after the key is created.
758
+ # @return [Boolean]
759
+ #
760
+ # @!attribute [rw] key_arn
761
+ # The Amazon Resource Name (ARN) of the key.
762
+ # @return [String]
763
+ #
764
+ # @!attribute [rw] key_attributes
765
+ # The role of the key, the algorithm it supports, and the
766
+ # cryptographic operations allowed with the key. This data is
767
+ # immutable after the key is created.
768
+ # @return [Types::KeyAttributes]
769
+ #
770
+ # @!attribute [rw] key_check_value
771
+ # The key check value (KCV) is used to check if all parties holding a
772
+ # given key have the same key or to detect that a key has changed.
773
+ # Amazon Web Services Payment Cryptography calculates the KCV by using
774
+ # standard algorithms, typically by encrypting 8 or 16 bytes or "00"
775
+ # or "01" and then truncating the result to the first 3 bytes, or 6
776
+ # hex digits, of the resulting cryptogram.
777
+ # @return [String]
778
+ #
779
+ # @!attribute [rw] key_check_value_algorithm
780
+ # The algorithm used for calculating key check value (KCV) for DES and
781
+ # AES keys. For a DES key, Amazon Web Services Payment Cryptography
782
+ # computes the KCV by encrypting 8 bytes, each with value '00', with
783
+ # the key to be checked and retaining the 3 highest order bytes of the
784
+ # encrypted result. For an AES key, Amazon Web Services Payment
785
+ # Cryptography computes the KCV by encrypting 8 bytes, each with value
786
+ # '01', with the key to be checked and retaining the 3 highest order
787
+ # bytes of the encrypted result.
788
+ # @return [String]
789
+ #
790
+ # @!attribute [rw] key_origin
791
+ # The source of the key material. For keys created within Amazon Web
792
+ # Services Payment Cryptography, the value is
793
+ # `AWS_PAYMENT_CRYPTOGRAPHY`. For keys imported into Amazon Web
794
+ # Services Payment Cryptography, the value is `EXTERNAL`.
795
+ # @return [String]
796
+ #
797
+ # @!attribute [rw] key_state
798
+ # The state of key that is being created or deleted.
799
+ # @return [String]
800
+ #
801
+ # @!attribute [rw] usage_start_timestamp
802
+ # The date and time after which Amazon Web Services Payment
803
+ # Cryptography will start using the key material for cryptographic
804
+ # operations.
805
+ # @return [Time]
806
+ #
807
+ # @!attribute [rw] usage_stop_timestamp
808
+ # The date and time after which Amazon Web Services Payment
809
+ # Cryptography will stop using the key material for cryptographic
810
+ # operations.
811
+ # @return [Time]
812
+ #
813
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/Key AWS API Documentation
814
+ #
815
+ class Key < Struct.new(
816
+ :create_timestamp,
817
+ :delete_pending_timestamp,
818
+ :delete_timestamp,
819
+ :enabled,
820
+ :exportable,
821
+ :key_arn,
822
+ :key_attributes,
823
+ :key_check_value,
824
+ :key_check_value_algorithm,
825
+ :key_origin,
826
+ :key_state,
827
+ :usage_start_timestamp,
828
+ :usage_stop_timestamp)
829
+ SENSITIVE = []
830
+ include Aws::Structure
831
+ end
832
+
833
+ # The role of the key, the algorithm it supports, and the cryptographic
834
+ # operations allowed with the key. This data is immutable after the key
835
+ # is created.
836
+ #
837
+ # @!attribute [rw] key_algorithm
838
+ # The key algorithm to be use during creation of an Amazon Web
839
+ # Services Payment Cryptography key.
840
+ #
841
+ # For symmetric keys, Amazon Web Services Payment Cryptography
842
+ # supports `AES` and `TDES` algorithms. For asymmetric keys, Amazon
843
+ # Web Services Payment Cryptography supports `RSA` and `ECC_NIST`
844
+ # algorithms.
845
+ # @return [String]
846
+ #
847
+ # @!attribute [rw] key_class
848
+ # The type of Amazon Web Services Payment Cryptography key to create,
849
+ # which determines the classification of the cryptographic method and
850
+ # whether Amazon Web Services Payment Cryptography key contains a
851
+ # symmetric key or an asymmetric key pair.
852
+ # @return [String]
853
+ #
854
+ # @!attribute [rw] key_modes_of_use
855
+ # The list of cryptographic operations that you can perform using the
856
+ # key.
857
+ # @return [Types::KeyModesOfUse]
858
+ #
859
+ # @!attribute [rw] key_usage
860
+ # The cryptographic usage of an Amazon Web Services Payment
861
+ # Cryptography key as defined in section A.5.2 of the TR-31 spec.
862
+ # @return [String]
863
+ #
864
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/KeyAttributes AWS API Documentation
865
+ #
866
+ class KeyAttributes < Struct.new(
867
+ :key_algorithm,
868
+ :key_class,
869
+ :key_modes_of_use,
870
+ :key_usage)
871
+ SENSITIVE = []
872
+ include Aws::Structure
873
+ end
874
+
875
+ # The list of cryptographic operations that you can perform using the
876
+ # key. The modes of use are defined in section A.5.3 of the TR-31 spec.
877
+ #
878
+ # @!attribute [rw] decrypt
879
+ # Specifies whether an Amazon Web Services Payment Cryptography key can
880
+ # be used to decrypt data.
881
+ # @return [Boolean]
882
+ #
883
+ # @!attribute [rw] derive_key
884
+ # Specifies whether an Amazon Web Services Payment Cryptography key can
885
+ # be used to derive new keys.
886
+ # @return [Boolean]
887
+ #
888
+ # @!attribute [rw] encrypt
889
+ # Specifies whether an Amazon Web Services Payment Cryptography key can
890
+ # be used to encrypt data.
891
+ # @return [Boolean]
892
+ #
893
+ # @!attribute [rw] generate
894
+ # Specifies whether an Amazon Web Services Payment Cryptography key can
895
+ # be used to generate and verify other card and PIN verification keys.
896
+ # @return [Boolean]
897
+ #
898
+ # @!attribute [rw] no_restrictions
899
+ # Specifies whether an Amazon Web Services Payment Cryptography key has
900
+ # no special restrictions other than the restrictions implied by
901
+ # `KeyUsage`.
902
+ # @return [Boolean]
903
+ #
904
+ # @!attribute [rw] sign
905
+ # Specifies whether an Amazon Web Services Payment Cryptography key can
906
+ # be used for signing.
907
+ # @return [Boolean]
908
+ #
909
+ # @!attribute [rw] unwrap
910
+ # Specifies whether an Amazon Web Services Payment Cryptography key can
911
+ # be used to unwrap other keys.
912
+ # @return [Boolean]
913
+ #
914
+ # @!attribute [rw] verify
915
+ # Specifies whether an Amazon Web Services Payment Cryptography key can
916
+ # be used to verify signatures.
917
+ # @return [Boolean]
918
+ #
919
+ # @!attribute [rw] wrap
920
+ # Specifies whether an Amazon Web Services Payment Cryptography key can
921
+ # be used to wrap other keys.
922
+ # @return [Boolean]
923
+ #
924
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/KeyModesOfUse AWS API Documentation
925
+ #
926
+ class KeyModesOfUse < Struct.new(
927
+ :decrypt,
928
+ :derive_key,
929
+ :encrypt,
930
+ :generate,
931
+ :no_restrictions,
932
+ :sign,
933
+ :unwrap,
934
+ :verify,
935
+ :wrap)
936
+ SENSITIVE = []
937
+ include Aws::Structure
938
+ end
939
+
940
+ # Metadata about an Amazon Web Services Payment Cryptography key.
941
+ #
942
+ # @!attribute [rw] enabled
943
+ # Specifies whether the key is enabled.
944
+ # @return [Boolean]
945
+ #
946
+ # @!attribute [rw] exportable
947
+ # Specifies whether the key is exportable. This data is immutable
948
+ # after the key is created.
949
+ # @return [Boolean]
950
+ #
951
+ # @!attribute [rw] key_arn
952
+ # The Amazon Resource Name (ARN) of the key.
953
+ # @return [String]
954
+ #
955
+ # @!attribute [rw] key_attributes
956
+ # The role of the key, the algorithm it supports, and the
957
+ # cryptographic operations allowed with the key. This data is
958
+ # immutable after the key is created.
959
+ # @return [Types::KeyAttributes]
960
+ #
961
+ # @!attribute [rw] key_check_value
962
+ # The key check value (KCV) is used to check if all parties holding a
963
+ # given key have the same key or to detect that a key has changed.
964
+ # Amazon Web Services Payment Cryptography calculates the KCV by using
965
+ # standard algorithms, typically by encrypting 8 or 16 bytes or "00"
966
+ # or "01" and then truncating the result to the first 3 bytes, or 6
967
+ # hex digits, of the resulting cryptogram.
968
+ # @return [String]
969
+ #
970
+ # @!attribute [rw] key_state
971
+ # The state of an Amazon Web Services Payment Cryptography that is
972
+ # being created or deleted.
973
+ # @return [String]
974
+ #
975
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/KeySummary AWS API Documentation
976
+ #
977
+ class KeySummary < Struct.new(
978
+ :enabled,
979
+ :exportable,
980
+ :key_arn,
981
+ :key_attributes,
982
+ :key_check_value,
983
+ :key_state)
984
+ SENSITIVE = []
985
+ include Aws::Structure
986
+ end
987
+
988
+ # @!attribute [rw] max_results
989
+ # Use this parameter to specify the maximum number of items to return.
990
+ # When this value is present, Amazon Web Services Payment Cryptography
991
+ # does not return more than the specified number of items, but it
992
+ # might return fewer.
993
+ #
994
+ # This value is optional. If you include a value, it must be between 1
995
+ # and 100, inclusive. If you do not include a value, it defaults to
996
+ # 50.
997
+ # @return [Integer]
998
+ #
999
+ # @!attribute [rw] next_token
1000
+ # Use this parameter in a subsequent request after you receive a
1001
+ # response with truncated results. Set it to the value of `NextToken`
1002
+ # from the truncated response you just received.
1003
+ # @return [String]
1004
+ #
1005
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/ListAliasesInput AWS API Documentation
1006
+ #
1007
+ class ListAliasesInput < Struct.new(
1008
+ :max_results,
1009
+ :next_token)
1010
+ SENSITIVE = []
1011
+ include Aws::Structure
1012
+ end
1013
+
1014
+ # @!attribute [rw] aliases
1015
+ # The list of aliases. Each alias describes the `KeyArn` contained
1016
+ # within.
1017
+ # @return [Array<Types::Alias>]
1018
+ #
1019
+ # @!attribute [rw] next_token
1020
+ # The token for the next set of results, or an empty or null value if
1021
+ # there are no more results.
1022
+ # @return [String]
1023
+ #
1024
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/ListAliasesOutput AWS API Documentation
1025
+ #
1026
+ class ListAliasesOutput < Struct.new(
1027
+ :aliases,
1028
+ :next_token)
1029
+ SENSITIVE = []
1030
+ include Aws::Structure
1031
+ end
1032
+
1033
+ # @!attribute [rw] key_state
1034
+ # The key state of the keys you want to list.
1035
+ # @return [String]
1036
+ #
1037
+ # @!attribute [rw] max_results
1038
+ # Use this parameter to specify the maximum number of items to return.
1039
+ # When this value is present, Amazon Web Services Payment Cryptography
1040
+ # does not return more than the specified number of items, but it
1041
+ # might return fewer.
1042
+ # @return [Integer]
1043
+ #
1044
+ # @!attribute [rw] next_token
1045
+ # Use this parameter in a subsequent request after you receive a
1046
+ # response with truncated results. Set it to the value of `NextToken`
1047
+ # from the truncated response you just received.
1048
+ # @return [String]
1049
+ #
1050
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/ListKeysInput AWS API Documentation
1051
+ #
1052
+ class ListKeysInput < Struct.new(
1053
+ :key_state,
1054
+ :max_results,
1055
+ :next_token)
1056
+ SENSITIVE = []
1057
+ include Aws::Structure
1058
+ end
1059
+
1060
+ # @!attribute [rw] keys
1061
+ # The list of keys created within the caller's Amazon Web Services
1062
+ # account and Amazon Web Services Region.
1063
+ # @return [Array<Types::KeySummary>]
1064
+ #
1065
+ # @!attribute [rw] next_token
1066
+ # The token for the next set of results, or an empty or null value if
1067
+ # there are no more results.
1068
+ # @return [String]
1069
+ #
1070
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/ListKeysOutput AWS API Documentation
1071
+ #
1072
+ class ListKeysOutput < Struct.new(
1073
+ :keys,
1074
+ :next_token)
1075
+ SENSITIVE = []
1076
+ include Aws::Structure
1077
+ end
1078
+
1079
+ # @!attribute [rw] max_results
1080
+ # Use this parameter to specify the maximum number of items to return.
1081
+ # When this value is present, Amazon Web Services Payment Cryptography
1082
+ # does not return more than the specified number of items, but it
1083
+ # might return fewer.
1084
+ # @return [Integer]
1085
+ #
1086
+ # @!attribute [rw] next_token
1087
+ # Use this parameter in a subsequent request after you receive a
1088
+ # response with truncated results. Set it to the value of `NextToken`
1089
+ # from the truncated response you just received.
1090
+ # @return [String]
1091
+ #
1092
+ # @!attribute [rw] resource_arn
1093
+ # The `KeyARN` of the key whose tags you are getting.
1094
+ # @return [String]
1095
+ #
1096
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/ListTagsForResourceInput AWS API Documentation
1097
+ #
1098
+ class ListTagsForResourceInput < Struct.new(
1099
+ :max_results,
1100
+ :next_token,
1101
+ :resource_arn)
1102
+ SENSITIVE = []
1103
+ include Aws::Structure
1104
+ end
1105
+
1106
+ # @!attribute [rw] next_token
1107
+ # The token for the next set of results, or an empty or null value if
1108
+ # there are no more results.
1109
+ # @return [String]
1110
+ #
1111
+ # @!attribute [rw] tags
1112
+ # The list of tags associated with a `ResourceArn`. Each tag will list
1113
+ # the key-value pair contained within that tag.
1114
+ # @return [Array<Types::Tag>]
1115
+ #
1116
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/ListTagsForResourceOutput AWS API Documentation
1117
+ #
1118
+ class ListTagsForResourceOutput < Struct.new(
1119
+ :next_token,
1120
+ :tags)
1121
+ SENSITIVE = []
1122
+ include Aws::Structure
1123
+ end
1124
+
1125
+ # The request was denied due to an invalid resource error.
1126
+ #
1127
+ # @!attribute [rw] resource_id
1128
+ # The string for the exception.
1129
+ # @return [String]
1130
+ #
1131
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/ResourceNotFoundException AWS API Documentation
1132
+ #
1133
+ class ResourceNotFoundException < Struct.new(
1134
+ :resource_id)
1135
+ SENSITIVE = []
1136
+ include Aws::Structure
1137
+ end
1138
+
1139
+ # @!attribute [rw] key_identifier
1140
+ # The `KeyARN` of the key to be restored within Amazon Web Services
1141
+ # Payment Cryptography.
1142
+ # @return [String]
1143
+ #
1144
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/RestoreKeyInput AWS API Documentation
1145
+ #
1146
+ class RestoreKeyInput < Struct.new(
1147
+ :key_identifier)
1148
+ SENSITIVE = []
1149
+ include Aws::Structure
1150
+ end
1151
+
1152
+ # @!attribute [rw] key
1153
+ # The key material of the restored key. The `KeyState` will change to
1154
+ # `CREATE_COMPLETE` and value for `DeletePendingTimestamp` gets
1155
+ # removed.
1156
+ # @return [Types::Key]
1157
+ #
1158
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/RestoreKeyOutput AWS API Documentation
1159
+ #
1160
+ class RestoreKeyOutput < Struct.new(
1161
+ :key)
1162
+ SENSITIVE = []
1163
+ include Aws::Structure
1164
+ end
1165
+
1166
+ # Parameter information for root public key certificate import.
1167
+ #
1168
+ # @!attribute [rw] key_attributes
1169
+ # The role of the key, the algorithm it supports, and the
1170
+ # cryptographic operations allowed with the key. This data is
1171
+ # immutable after the root public key is imported.
1172
+ # @return [Types::KeyAttributes]
1173
+ #
1174
+ # @!attribute [rw] public_key_certificate
1175
+ # Parameter information for root public key certificate import.
1176
+ # @return [String]
1177
+ #
1178
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/RootCertificatePublicKey AWS API Documentation
1179
+ #
1180
+ class RootCertificatePublicKey < Struct.new(
1181
+ :key_attributes,
1182
+ :public_key_certificate)
1183
+ SENSITIVE = [:public_key_certificate]
1184
+ include Aws::Structure
1185
+ end
1186
+
1187
+ # This request would cause a service quota to be exceeded.
1188
+ #
1189
+ # @!attribute [rw] message
1190
+ # @return [String]
1191
+ #
1192
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/ServiceQuotaExceededException AWS API Documentation
1193
+ #
1194
+ class ServiceQuotaExceededException < Struct.new(
1195
+ :message)
1196
+ SENSITIVE = []
1197
+ include Aws::Structure
1198
+ end
1199
+
1200
+ # The service cannot complete the request.
1201
+ #
1202
+ # @!attribute [rw] message
1203
+ # @return [String]
1204
+ #
1205
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/ServiceUnavailableException AWS API Documentation
1206
+ #
1207
+ class ServiceUnavailableException < Struct.new(
1208
+ :message)
1209
+ SENSITIVE = []
1210
+ include Aws::Structure
1211
+ end
1212
+
1213
+ # @!attribute [rw] key_identifier
1214
+ # The `KeyArn` of the key.
1215
+ # @return [String]
1216
+ #
1217
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/StartKeyUsageInput AWS API Documentation
1218
+ #
1219
+ class StartKeyUsageInput < Struct.new(
1220
+ :key_identifier)
1221
+ SENSITIVE = []
1222
+ include Aws::Structure
1223
+ end
1224
+
1225
+ # @!attribute [rw] key
1226
+ # The `KeyARN` of the Amazon Web Services Payment Cryptography key
1227
+ # activated for use.
1228
+ # @return [Types::Key]
1229
+ #
1230
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/StartKeyUsageOutput AWS API Documentation
1231
+ #
1232
+ class StartKeyUsageOutput < Struct.new(
1233
+ :key)
1234
+ SENSITIVE = []
1235
+ include Aws::Structure
1236
+ end
1237
+
1238
+ # @!attribute [rw] key_identifier
1239
+ # The `KeyArn` of the key.
1240
+ # @return [String]
1241
+ #
1242
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/StopKeyUsageInput AWS API Documentation
1243
+ #
1244
+ class StopKeyUsageInput < Struct.new(
1245
+ :key_identifier)
1246
+ SENSITIVE = []
1247
+ include Aws::Structure
1248
+ end
1249
+
1250
+ # @!attribute [rw] key
1251
+ # The `KeyARN` of the key.
1252
+ # @return [Types::Key]
1253
+ #
1254
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/StopKeyUsageOutput AWS API Documentation
1255
+ #
1256
+ class StopKeyUsageOutput < Struct.new(
1257
+ :key)
1258
+ SENSITIVE = []
1259
+ include Aws::Structure
1260
+ end
1261
+
1262
+ # A structure that contains information about a tag.
1263
+ #
1264
+ # @!attribute [rw] key
1265
+ # The key of the tag.
1266
+ # @return [String]
1267
+ #
1268
+ # @!attribute [rw] value
1269
+ # The value of the tag.
1270
+ # @return [String]
1271
+ #
1272
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/Tag AWS API Documentation
1273
+ #
1274
+ class Tag < Struct.new(
1275
+ :key,
1276
+ :value)
1277
+ SENSITIVE = []
1278
+ include Aws::Structure
1279
+ end
1280
+
1281
+ # @!attribute [rw] resource_arn
1282
+ # The `KeyARN` of the key whose tags are being updated.
1283
+ # @return [String]
1284
+ #
1285
+ # @!attribute [rw] tags
1286
+ # One or more tags. Each tag consists of a tag key and a tag value.
1287
+ # The tag value can be an empty (null) string. You can't have more
1288
+ # than one tag on an Amazon Web Services Payment Cryptography key with
1289
+ # the same tag key. If you specify an existing tag key with a
1290
+ # different tag value, Amazon Web Services Payment Cryptography
1291
+ # replaces the current tag value with the new one.
1292
+ #
1293
+ # Don't include confidential or sensitive information in this field.
1294
+ # This field may be displayed in plaintext in CloudTrail logs and
1295
+ # other output.
1296
+ #
1297
+ # To use this parameter, you must have TagResource permission in an
1298
+ # IAM policy.
1299
+ #
1300
+ # Don't include confidential or sensitive information in this field.
1301
+ # This field may be displayed in plaintext in CloudTrail logs and
1302
+ # other output.
1303
+ # @return [Array<Types::Tag>]
1304
+ #
1305
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/TagResourceInput AWS API Documentation
1306
+ #
1307
+ class TagResourceInput < Struct.new(
1308
+ :resource_arn,
1309
+ :tags)
1310
+ SENSITIVE = []
1311
+ include Aws::Structure
1312
+ end
1313
+
1314
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/TagResourceOutput AWS API Documentation
1315
+ #
1316
+ class TagResourceOutput < Aws::EmptyStructure; end
1317
+
1318
+ # The request was denied due to request throttling.
1319
+ #
1320
+ # @!attribute [rw] message
1321
+ # @return [String]
1322
+ #
1323
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/ThrottlingException AWS API Documentation
1324
+ #
1325
+ class ThrottlingException < Struct.new(
1326
+ :message)
1327
+ SENSITIVE = []
1328
+ include Aws::Structure
1329
+ end
1330
+
1331
+ # Parameter information for trusted public key certificate import.
1332
+ #
1333
+ # @!attribute [rw] certificate_authority_public_key_identifier
1334
+ # The `KeyARN` of the root public key certificate or certificate chain
1335
+ # that signs the trusted public key certificate import.
1336
+ # @return [String]
1337
+ #
1338
+ # @!attribute [rw] key_attributes
1339
+ # The role of the key, the algorithm it supports, and the
1340
+ # cryptographic operations allowed with the key. This data is
1341
+ # immutable after a trusted public key is imported.
1342
+ # @return [Types::KeyAttributes]
1343
+ #
1344
+ # @!attribute [rw] public_key_certificate
1345
+ # Parameter information for trusted public key certificate import.
1346
+ # @return [String]
1347
+ #
1348
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/TrustedCertificatePublicKey AWS API Documentation
1349
+ #
1350
+ class TrustedCertificatePublicKey < Struct.new(
1351
+ :certificate_authority_public_key_identifier,
1352
+ :key_attributes,
1353
+ :public_key_certificate)
1354
+ SENSITIVE = [:public_key_certificate]
1355
+ include Aws::Structure
1356
+ end
1357
+
1358
+ # @!attribute [rw] resource_arn
1359
+ # The `KeyARN` of the key whose tags are being removed.
1360
+ # @return [String]
1361
+ #
1362
+ # @!attribute [rw] tag_keys
1363
+ # One or more tag keys. Don't include the tag values.
1364
+ #
1365
+ # If the Amazon Web Services Payment Cryptography key doesn't have
1366
+ # the specified tag key, Amazon Web Services Payment Cryptography
1367
+ # doesn't throw an exception or return a response. To confirm that
1368
+ # the operation succeeded, use the ListTagsForResource operation.
1369
+ # @return [Array<String>]
1370
+ #
1371
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/UntagResourceInput AWS API Documentation
1372
+ #
1373
+ class UntagResourceInput < Struct.new(
1374
+ :resource_arn,
1375
+ :tag_keys)
1376
+ SENSITIVE = []
1377
+ include Aws::Structure
1378
+ end
1379
+
1380
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/UntagResourceOutput AWS API Documentation
1381
+ #
1382
+ class UntagResourceOutput < Aws::EmptyStructure; end
1383
+
1384
+ # @!attribute [rw] alias_name
1385
+ # The alias whose associated key is changing.
1386
+ # @return [String]
1387
+ #
1388
+ # @!attribute [rw] key_arn
1389
+ # The `KeyARN` for the key that you are updating or removing from the
1390
+ # alias.
1391
+ # @return [String]
1392
+ #
1393
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/UpdateAliasInput AWS API Documentation
1394
+ #
1395
+ class UpdateAliasInput < Struct.new(
1396
+ :alias_name,
1397
+ :key_arn)
1398
+ SENSITIVE = []
1399
+ include Aws::Structure
1400
+ end
1401
+
1402
+ # @!attribute [rw] alias
1403
+ # The alias name.
1404
+ # @return [Types::Alias]
1405
+ #
1406
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/UpdateAliasOutput AWS API Documentation
1407
+ #
1408
+ class UpdateAliasOutput < Struct.new(
1409
+ :alias)
1410
+ SENSITIVE = []
1411
+ include Aws::Structure
1412
+ end
1413
+
1414
+ # The request was denied due to an invalid request error.
1415
+ #
1416
+ # @!attribute [rw] message
1417
+ # @return [String]
1418
+ #
1419
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/ValidationException AWS API Documentation
1420
+ #
1421
+ class ValidationException < Struct.new(
1422
+ :message)
1423
+ SENSITIVE = []
1424
+ include Aws::Structure
1425
+ end
1426
+
1427
+ # Parameter information for generating a wrapped key using TR-31 or
1428
+ # TR-34 standard.
1429
+ #
1430
+ # @!attribute [rw] key_material
1431
+ # Parameter information for generating a wrapped key using TR-31 or
1432
+ # TR-34 standard.
1433
+ # @return [String]
1434
+ #
1435
+ # @!attribute [rw] wrapped_key_material_format
1436
+ # The key block format of a wrapped key.
1437
+ # @return [String]
1438
+ #
1439
+ # @!attribute [rw] wrapping_key_arn
1440
+ # The `KeyARN` of the wrapped key.
1441
+ # @return [String]
1442
+ #
1443
+ # @see http://docs.aws.amazon.com/goto/WebAPI/payment-cryptography-2021-09-14/WrappedKey AWS API Documentation
1444
+ #
1445
+ class WrappedKey < Struct.new(
1446
+ :key_material,
1447
+ :wrapped_key_material_format,
1448
+ :wrapping_key_arn)
1449
+ SENSITIVE = [:key_material]
1450
+ include Aws::Structure
1451
+ end
1452
+
1453
+ end
1454
+ end