aws-sdk-kms 1.0.0.rc2 → 1.0.0.rc3

Sign up to get free protection for your applications and to get access to all the features.
@@ -101,6 +101,8 @@ module Aws::KMS
101
101
  ListKeyPoliciesResponse = Shapes::StructureShape.new(name: 'ListKeyPoliciesResponse')
102
102
  ListKeysRequest = Shapes::StructureShape.new(name: 'ListKeysRequest')
103
103
  ListKeysResponse = Shapes::StructureShape.new(name: 'ListKeysResponse')
104
+ ListResourceTagsRequest = Shapes::StructureShape.new(name: 'ListResourceTagsRequest')
105
+ ListResourceTagsResponse = Shapes::StructureShape.new(name: 'ListResourceTagsResponse')
104
106
  ListRetirableGrantsRequest = Shapes::StructureShape.new(name: 'ListRetirableGrantsRequest')
105
107
  MalformedPolicyDocumentException = Shapes::StructureShape.new(name: 'MalformedPolicyDocumentException')
106
108
  MarkerType = Shapes::StringShape.new(name: 'MarkerType')
@@ -120,7 +122,15 @@ module Aws::KMS
120
122
  RevokeGrantRequest = Shapes::StructureShape.new(name: 'RevokeGrantRequest')
121
123
  ScheduleKeyDeletionRequest = Shapes::StructureShape.new(name: 'ScheduleKeyDeletionRequest')
122
124
  ScheduleKeyDeletionResponse = Shapes::StructureShape.new(name: 'ScheduleKeyDeletionResponse')
125
+ Tag = Shapes::StructureShape.new(name: 'Tag')
126
+ TagException = Shapes::StructureShape.new(name: 'TagException')
127
+ TagKeyList = Shapes::ListShape.new(name: 'TagKeyList')
128
+ TagKeyType = Shapes::StringShape.new(name: 'TagKeyType')
129
+ TagList = Shapes::ListShape.new(name: 'TagList')
130
+ TagResourceRequest = Shapes::StructureShape.new(name: 'TagResourceRequest')
131
+ TagValueType = Shapes::StringShape.new(name: 'TagValueType')
123
132
  UnsupportedOperationException = Shapes::StructureShape.new(name: 'UnsupportedOperationException')
133
+ UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
124
134
  UpdateAliasRequest = Shapes::StructureShape.new(name: 'UpdateAliasRequest')
125
135
  UpdateKeyDescriptionRequest = Shapes::StructureShape.new(name: 'UpdateKeyDescriptionRequest')
126
136
  WrappingKeySpec = Shapes::StringShape.new(name: 'WrappingKeySpec')
@@ -160,6 +170,7 @@ module Aws::KMS
160
170
  CreateKeyRequest.add_member(:key_usage, Shapes::ShapeRef.new(shape: KeyUsageType, location_name: "KeyUsage"))
161
171
  CreateKeyRequest.add_member(:origin, Shapes::ShapeRef.new(shape: OriginType, location_name: "Origin"))
162
172
  CreateKeyRequest.add_member(:bypass_policy_lockout_safety_check, Shapes::ShapeRef.new(shape: BooleanType, location_name: "BypassPolicyLockoutSafetyCheck"))
173
+ CreateKeyRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
163
174
  CreateKeyRequest.struct_class = Types::CreateKeyRequest
164
175
 
165
176
  CreateKeyResponse.add_member(:key_metadata, Shapes::ShapeRef.new(shape: KeyMetadata, location_name: "KeyMetadata"))
@@ -353,6 +364,16 @@ module Aws::KMS
353
364
  ListKeysResponse.add_member(:truncated, Shapes::ShapeRef.new(shape: BooleanType, location_name: "Truncated"))
354
365
  ListKeysResponse.struct_class = Types::ListKeysResponse
355
366
 
367
+ ListResourceTagsRequest.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, required: true, location_name: "KeyId"))
368
+ ListResourceTagsRequest.add_member(:limit, Shapes::ShapeRef.new(shape: LimitType, location_name: "Limit"))
369
+ ListResourceTagsRequest.add_member(:marker, Shapes::ShapeRef.new(shape: MarkerType, location_name: "Marker"))
370
+ ListResourceTagsRequest.struct_class = Types::ListResourceTagsRequest
371
+
372
+ ListResourceTagsResponse.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
373
+ ListResourceTagsResponse.add_member(:next_marker, Shapes::ShapeRef.new(shape: MarkerType, location_name: "NextMarker"))
374
+ ListResourceTagsResponse.add_member(:truncated, Shapes::ShapeRef.new(shape: BooleanType, location_name: "Truncated"))
375
+ ListResourceTagsResponse.struct_class = Types::ListResourceTagsResponse
376
+
356
377
  ListRetirableGrantsRequest.add_member(:limit, Shapes::ShapeRef.new(shape: LimitType, location_name: "Limit"))
357
378
  ListRetirableGrantsRequest.add_member(:marker, Shapes::ShapeRef.new(shape: MarkerType, location_name: "Marker"))
358
379
  ListRetirableGrantsRequest.add_member(:retiring_principal, Shapes::ShapeRef.new(shape: PrincipalIdType, required: true, location_name: "RetiringPrincipal"))
@@ -395,6 +416,22 @@ module Aws::KMS
395
416
  ScheduleKeyDeletionResponse.add_member(:deletion_date, Shapes::ShapeRef.new(shape: DateType, location_name: "DeletionDate"))
396
417
  ScheduleKeyDeletionResponse.struct_class = Types::ScheduleKeyDeletionResponse
397
418
 
419
+ Tag.add_member(:tag_key, Shapes::ShapeRef.new(shape: TagKeyType, required: true, location_name: "TagKey"))
420
+ Tag.add_member(:tag_value, Shapes::ShapeRef.new(shape: TagValueType, required: true, location_name: "TagValue"))
421
+ Tag.struct_class = Types::Tag
422
+
423
+ TagKeyList.member = Shapes::ShapeRef.new(shape: TagKeyType)
424
+
425
+ TagList.member = Shapes::ShapeRef.new(shape: Tag)
426
+
427
+ TagResourceRequest.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, required: true, location_name: "KeyId"))
428
+ TagResourceRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, required: true, location_name: "Tags"))
429
+ TagResourceRequest.struct_class = Types::TagResourceRequest
430
+
431
+ UntagResourceRequest.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, required: true, location_name: "KeyId"))
432
+ UntagResourceRequest.add_member(:tag_keys, Shapes::ShapeRef.new(shape: TagKeyList, required: true, location_name: "TagKeys"))
433
+ UntagResourceRequest.struct_class = Types::UntagResourceRequest
434
+
398
435
  UpdateAliasRequest.add_member(:alias_name, Shapes::ShapeRef.new(shape: AliasNameType, required: true, location_name: "AliasName"))
399
436
  UpdateAliasRequest.add_member(:target_key_id, Shapes::ShapeRef.new(shape: KeyIdType, required: true, location_name: "TargetKeyId"))
400
437
  UpdateAliasRequest.struct_class = Types::UpdateAliasRequest
@@ -474,6 +511,7 @@ module Aws::KMS
474
511
  o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
475
512
  o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
476
513
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
514
+ o.errors << Shapes::ShapeRef.new(shape: TagException)
477
515
  end)
478
516
 
479
517
  api.add_operation(:decrypt, Seahorse::Model::Operation.new.tap do |o|
@@ -781,6 +819,18 @@ module Aws::KMS
781
819
  )
782
820
  end)
783
821
 
822
+ api.add_operation(:list_resource_tags, Seahorse::Model::Operation.new.tap do |o|
823
+ o.name = "ListResourceTags"
824
+ o.http_method = "POST"
825
+ o.http_request_uri = "/"
826
+ o.input = Shapes::ShapeRef.new(shape: ListResourceTagsRequest)
827
+ o.output = Shapes::ShapeRef.new(shape: ListResourceTagsResponse)
828
+ o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
829
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
830
+ o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
831
+ o.errors << Shapes::ShapeRef.new(shape: InvalidMarkerException)
832
+ end)
833
+
784
834
  api.add_operation(:list_retirable_grants, Seahorse::Model::Operation.new.tap do |o|
785
835
  o.name = "ListRetirableGrants"
786
836
  o.http_method = "POST"
@@ -868,6 +918,33 @@ module Aws::KMS
868
918
  o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
869
919
  end)
870
920
 
921
+ api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
922
+ o.name = "TagResource"
923
+ o.http_method = "POST"
924
+ o.http_request_uri = "/"
925
+ o.input = Shapes::ShapeRef.new(shape: TagResourceRequest)
926
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
927
+ o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
928
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
929
+ o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
930
+ o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
931
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
932
+ o.errors << Shapes::ShapeRef.new(shape: TagException)
933
+ end)
934
+
935
+ api.add_operation(:untag_resource, Seahorse::Model::Operation.new.tap do |o|
936
+ o.name = "UntagResource"
937
+ o.http_method = "POST"
938
+ o.http_request_uri = "/"
939
+ o.input = Shapes::ShapeRef.new(shape: UntagResourceRequest)
940
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
941
+ o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
942
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
943
+ o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
944
+ o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
945
+ o.errors << Shapes::ShapeRef.new(shape: TagException)
946
+ end)
947
+
871
948
  api.add_operation(:update_alias, Seahorse::Model::Operation.new.tap do |o|
872
949
  o.name = "UpdateAlias"
873
950
  o.http_method = "POST"
@@ -22,6 +22,8 @@ module Aws::KMS
22
22
  # String that contains the key identifier referred to by the alias.
23
23
  # @return [String]
24
24
  #
25
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/AliasListEntry AWS API Documentation
26
+ #
25
27
  class AliasListEntry < Struct.new(
26
28
  :alias_name,
27
29
  :alias_arn,
@@ -52,6 +54,8 @@ module Aws::KMS
52
54
  # ListKeys or DescribeKey.
53
55
  # @return [String]
54
56
  #
57
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/CancelKeyDeletionRequest AWS API Documentation
58
+ #
55
59
  class CancelKeyDeletionRequest < Struct.new(
56
60
  :key_id)
57
61
  include Aws::Structure
@@ -62,6 +66,8 @@ module Aws::KMS
62
66
  # canceled.
63
67
  # @return [String]
64
68
  #
69
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/CancelKeyDeletionResponse AWS API Documentation
70
+ #
65
71
  class CancelKeyDeletionResponse < Struct.new(
66
72
  :key_id)
67
73
  include Aws::Structure
@@ -93,6 +99,8 @@ module Aws::KMS
93
99
  # 12345678-1234-1234-1234-123456789012
94
100
  # @return [String]
95
101
  #
102
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/CreateAliasRequest AWS API Documentation
103
+ #
96
104
  class CreateAliasRequest < Struct.new(
97
105
  :alias_name,
98
106
  :target_key_id)
@@ -212,6 +220,8 @@ module Aws::KMS
212
220
  # obtained in this way can be used interchangeably.
213
221
  # @return [String]
214
222
  #
223
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/CreateGrantRequest AWS API Documentation
224
+ #
215
225
  class CreateGrantRequest < Struct.new(
216
226
  :key_id,
217
227
  :grantee_principal,
@@ -241,6 +251,8 @@ module Aws::KMS
241
251
  # operation.
242
252
  # @return [String]
243
253
  #
254
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/CreateGrantResponse AWS API Documentation
255
+ #
244
256
  class CreateGrantResponse < Struct.new(
245
257
  :grant_token,
246
258
  :grant_id)
@@ -256,6 +268,12 @@ module Aws::KMS
256
268
  # key_usage: "ENCRYPT_DECRYPT", # accepts ENCRYPT_DECRYPT
257
269
  # origin: "AWS_KMS", # accepts AWS_KMS, EXTERNAL
258
270
  # bypass_policy_lockout_safety_check: false,
271
+ # tags: [
272
+ # {
273
+ # tag_key: "TagKeyType", # required
274
+ # tag_value: "TagValueType", # required
275
+ # },
276
+ # ],
259
277
  # }
260
278
  #
261
279
  # @!attribute [rw] policy
@@ -265,14 +283,14 @@ module Aws::KMS
265
283
  # `BypassPolicyLockoutSafetyCheck` to true, the policy must meet the
266
284
  # following criteria:
267
285
  #
268
- # * It must allow the principal making the `CreateKey` request to make
269
- # a subsequent PutKeyPolicy request on the CMK. This reduces the
270
- # likelihood that the CMK becomes unmanageable. For more
286
+ # * It must allow the principal that is making the `CreateKey` request
287
+ # to make a subsequent PutKeyPolicy request on the CMK. This reduces
288
+ # the likelihood that the CMK becomes unmanageable. For more
271
289
  # information, refer to the scenario in the [Default Key Policy][1]
272
290
  # section in the *AWS Key Management Service Developer Guide*.
273
291
  #
274
- # * The principal(s) specified in the key policy must exist and be
275
- # visible to AWS KMS. When you create a new AWS principal (for
292
+ # * The principals that are specified in the key policy must exist and
293
+ # be visible to AWS KMS. When you create a new AWS principal (for
276
294
  # example, an IAM user or role), you might need to enforce a delay
277
295
  # before specifying the new principal in a key policy because the
278
296
  # new principal might not immediately be visible to AWS KMS. For
@@ -336,8 +354,8 @@ module Aws::KMS
336
354
  # Guide*.
337
355
  #
338
356
  # Use this parameter only when you include a policy in the request and
339
- # you intend to prevent the principal making the request from making a
340
- # subsequent PutKeyPolicy request on the CMK.
357
+ # you intend to prevent the principal that is making the request from
358
+ # making a subsequent PutKeyPolicy request on the CMK.
341
359
  #
342
360
  # The default value is false.
343
361
  #
@@ -346,12 +364,25 @@ module Aws::KMS
346
364
  # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam
347
365
  # @return [Boolean]
348
366
  #
367
+ # @!attribute [rw] tags
368
+ # One or more tags. Each tag consists of a tag key and a tag value.
369
+ # Tag keys and tag values are both required, but tag values can be
370
+ # empty (null) strings.
371
+ #
372
+ # Use this parameter to tag the CMK when it is created. Alternately,
373
+ # you can omit this parameter and instead tag the CMK after it is
374
+ # created using TagResource.
375
+ # @return [Array<Types::Tag>]
376
+ #
377
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/CreateKeyRequest AWS API Documentation
378
+ #
349
379
  class CreateKeyRequest < Struct.new(
350
380
  :policy,
351
381
  :description,
352
382
  :key_usage,
353
383
  :origin,
354
- :bypass_policy_lockout_safety_check)
384
+ :bypass_policy_lockout_safety_check,
385
+ :tags)
355
386
  include Aws::Structure
356
387
  end
357
388
 
@@ -359,6 +390,8 @@ module Aws::KMS
359
390
  # Metadata associated with the CMK.
360
391
  # @return [Types::KeyMetadata]
361
392
  #
393
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/CreateKeyResponse AWS API Documentation
394
+ #
362
395
  class CreateKeyResponse < Struct.new(
363
396
  :key_metadata)
364
397
  include Aws::Structure
@@ -400,6 +433,8 @@ module Aws::KMS
400
433
  # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token
401
434
  # @return [Array<String>]
402
435
  #
436
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DecryptRequest AWS API Documentation
437
+ #
403
438
  class DecryptRequest < Struct.new(
404
439
  :ciphertext_blob,
405
440
  :encryption_context,
@@ -418,6 +453,8 @@ module Aws::KMS
418
453
  # permission to use it.
419
454
  # @return [String]
420
455
  #
456
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DecryptResponse AWS API Documentation
457
+ #
421
458
  class DecryptResponse < Struct.new(
422
459
  :key_id,
423
460
  :plaintext)
@@ -437,6 +474,8 @@ module Aws::KMS
437
474
  # "alias/AWS" are reserved.
438
475
  # @return [String]
439
476
  #
477
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DeleteAliasRequest AWS API Documentation
478
+ #
440
479
  class DeleteAliasRequest < Struct.new(
441
480
  :alias_name)
442
481
  include Aws::Structure
@@ -462,6 +501,8 @@ module Aws::KMS
462
501
  # `arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`
463
502
  # @return [String]
464
503
  #
504
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DeleteImportedKeyMaterialRequest AWS API Documentation
505
+ #
465
506
  class DeleteImportedKeyMaterialRequest < Struct.new(
466
507
  :key_id)
467
508
  include Aws::Structure
@@ -503,6 +544,8 @@ module Aws::KMS
503
544
  # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token
504
545
  # @return [Array<String>]
505
546
  #
547
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DescribeKeyRequest AWS API Documentation
548
+ #
506
549
  class DescribeKeyRequest < Struct.new(
507
550
  :key_id,
508
551
  :grant_tokens)
@@ -513,6 +556,8 @@ module Aws::KMS
513
556
  # Metadata associated with the key.
514
557
  # @return [Types::KeyMetadata]
515
558
  #
559
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DescribeKeyResponse AWS API Documentation
560
+ #
516
561
  class DescribeKeyResponse < Struct.new(
517
562
  :key_metadata)
518
563
  include Aws::Structure
@@ -537,6 +582,8 @@ module Aws::KMS
537
582
  # arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
538
583
  # @return [String]
539
584
  #
585
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DisableKeyRequest AWS API Documentation
586
+ #
540
587
  class DisableKeyRequest < Struct.new(
541
588
  :key_id)
542
589
  include Aws::Structure
@@ -560,6 +607,8 @@ module Aws::KMS
560
607
  # 12345678-1234-1234-1234-123456789012
561
608
  # @return [String]
562
609
  #
610
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/DisableKeyRotationRequest AWS API Documentation
611
+ #
563
612
  class DisableKeyRotationRequest < Struct.new(
564
613
  :key_id)
565
614
  include Aws::Structure
@@ -583,6 +632,8 @@ module Aws::KMS
583
632
  # 12345678-1234-1234-1234-123456789012
584
633
  # @return [String]
585
634
  #
635
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/EnableKeyRequest AWS API Documentation
636
+ #
586
637
  class EnableKeyRequest < Struct.new(
587
638
  :key_id)
588
639
  include Aws::Structure
@@ -606,6 +657,8 @@ module Aws::KMS
606
657
  # 12345678-1234-1234-1234-123456789012
607
658
  # @return [String]
608
659
  #
660
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/EnableKeyRotationRequest AWS API Documentation
661
+ #
609
662
  class EnableKeyRotationRequest < Struct.new(
610
663
  :key_id)
611
664
  include Aws::Structure
@@ -666,6 +719,8 @@ module Aws::KMS
666
719
  # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token
667
720
  # @return [Array<String>]
668
721
  #
722
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/EncryptRequest AWS API Documentation
723
+ #
669
724
  class EncryptRequest < Struct.new(
670
725
  :key_id,
671
726
  :plaintext,
@@ -683,6 +738,8 @@ module Aws::KMS
683
738
  # The ID of the key used during encryption.
684
739
  # @return [String]
685
740
  #
741
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/EncryptResponse AWS API Documentation
742
+ #
686
743
  class EncryptResponse < Struct.new(
687
744
  :ciphertext_blob,
688
745
  :key_id)
@@ -756,6 +813,8 @@ module Aws::KMS
756
813
  # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token
757
814
  # @return [Array<String>]
758
815
  #
816
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyRequest AWS API Documentation
817
+ #
759
818
  class GenerateDataKeyRequest < Struct.new(
760
819
  :key_id,
761
820
  :encryption_context,
@@ -779,6 +838,8 @@ module Aws::KMS
779
838
  # generated and encrypted.
780
839
  # @return [String]
781
840
  #
841
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyResponse AWS API Documentation
842
+ #
782
843
  class GenerateDataKeyResponse < Struct.new(
783
844
  :ciphertext_blob,
784
845
  :plaintext,
@@ -853,6 +914,8 @@ module Aws::KMS
853
914
  # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token
854
915
  # @return [Array<String>]
855
916
  #
917
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyWithoutPlaintextRequest AWS API Documentation
918
+ #
856
919
  class GenerateDataKeyWithoutPlaintextRequest < Struct.new(
857
920
  :key_id,
858
921
  :encryption_context,
@@ -871,6 +934,8 @@ module Aws::KMS
871
934
  # generated and encrypted.
872
935
  # @return [String]
873
936
  #
937
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateDataKeyWithoutPlaintextResponse AWS API Documentation
938
+ #
874
939
  class GenerateDataKeyWithoutPlaintextResponse < Struct.new(
875
940
  :ciphertext_blob,
876
941
  :key_id)
@@ -888,6 +953,8 @@ module Aws::KMS
888
953
  # The length of the byte string.
889
954
  # @return [Integer]
890
955
  #
956
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateRandomRequest AWS API Documentation
957
+ #
891
958
  class GenerateRandomRequest < Struct.new(
892
959
  :number_of_bytes)
893
960
  include Aws::Structure
@@ -897,6 +964,8 @@ module Aws::KMS
897
964
  # The unpredictable byte string.
898
965
  # @return [String]
899
966
  #
967
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GenerateRandomResponse AWS API Documentation
968
+ #
900
969
  class GenerateRandomResponse < Struct.new(
901
970
  :plaintext)
902
971
  include Aws::Structure
@@ -927,6 +996,8 @@ module Aws::KMS
927
996
  # ListKeyPolicies.
928
997
  # @return [String]
929
998
  #
999
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GetKeyPolicyRequest AWS API Documentation
1000
+ #
930
1001
  class GetKeyPolicyRequest < Struct.new(
931
1002
  :key_id,
932
1003
  :policy_name)
@@ -937,6 +1008,8 @@ module Aws::KMS
937
1008
  # A policy document in JSON format.
938
1009
  # @return [String]
939
1010
  #
1011
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GetKeyPolicyResponse AWS API Documentation
1012
+ #
940
1013
  class GetKeyPolicyResponse < Struct.new(
941
1014
  :policy)
942
1015
  include Aws::Structure
@@ -960,6 +1033,8 @@ module Aws::KMS
960
1033
  # 12345678-1234-1234-1234-123456789012
961
1034
  # @return [String]
962
1035
  #
1036
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GetKeyRotationStatusRequest AWS API Documentation
1037
+ #
963
1038
  class GetKeyRotationStatusRequest < Struct.new(
964
1039
  :key_id)
965
1040
  include Aws::Structure
@@ -969,6 +1044,8 @@ module Aws::KMS
969
1044
  # A Boolean value that specifies whether key rotation is enabled.
970
1045
  # @return [Boolean]
971
1046
  #
1047
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GetKeyRotationStatusResponse AWS API Documentation
1048
+ #
972
1049
  class GetKeyRotationStatusResponse < Struct.new(
973
1050
  :key_rotation_enabled)
974
1051
  include Aws::Structure
@@ -1012,6 +1089,8 @@ module Aws::KMS
1012
1089
  # Only 2048-bit RSA public keys are supported.
1013
1090
  # @return [String]
1014
1091
  #
1092
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GetParametersForImportRequest AWS API Documentation
1093
+ #
1015
1094
  class GetParametersForImportRequest < Struct.new(
1016
1095
  :key_id,
1017
1096
  :wrapping_algorithm,
@@ -1041,6 +1120,8 @@ module Aws::KMS
1041
1120
  # `GetParametersForImport` request to retrieve new ones.
1042
1121
  # @return [Time]
1043
1122
  #
1123
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GetParametersForImportResponse AWS API Documentation
1124
+ #
1044
1125
  class GetParametersForImportResponse < Struct.new(
1045
1126
  :key_id,
1046
1127
  :import_token,
@@ -1090,6 +1171,8 @@ module Aws::KMS
1090
1171
  # operation. Otherwise, the operation is not allowed.
1091
1172
  # @return [Hash<String,String>]
1092
1173
  #
1174
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GrantConstraints AWS API Documentation
1175
+ #
1093
1176
  class GrantConstraints < Struct.new(
1094
1177
  :encryption_context_subset,
1095
1178
  :encryption_context_equals)
@@ -1137,6 +1220,8 @@ module Aws::KMS
1137
1220
  # The conditions under which the grant's operations are allowed.
1138
1221
  # @return [Types::GrantConstraints]
1139
1222
  #
1223
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/GrantListEntry AWS API Documentation
1224
+ #
1140
1225
  class GrantListEntry < Struct.new(
1141
1226
  :key_id,
1142
1227
  :grant_id,
@@ -1204,6 +1289,8 @@ module Aws::KMS
1204
1289
  # parameter.
1205
1290
  # @return [String]
1206
1291
  #
1292
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ImportKeyMaterialRequest AWS API Documentation
1293
+ #
1207
1294
  class ImportKeyMaterialRequest < Struct.new(
1208
1295
  :key_id,
1209
1296
  :import_token,
@@ -1213,6 +1300,8 @@ module Aws::KMS
1213
1300
  include Aws::Structure
1214
1301
  end
1215
1302
 
1303
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ImportKeyMaterialResponse AWS API Documentation
1304
+ #
1216
1305
  class ImportKeyMaterialResponse < Aws::EmptyStructure; end
1217
1306
 
1218
1307
  # Contains information about each entry in the key list.
@@ -1225,6 +1314,8 @@ module Aws::KMS
1225
1314
  # ARN of the key.
1226
1315
  # @return [String]
1227
1316
  #
1317
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/KeyListEntry AWS API Documentation
1318
+ #
1228
1319
  class KeyListEntry < Struct.new(
1229
1320
  :key_id,
1230
1321
  :key_arn)
@@ -1312,6 +1403,8 @@ module Aws::KMS
1312
1403
  # omitted.
1313
1404
  # @return [String]
1314
1405
  #
1406
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/KeyMetadata AWS API Documentation
1407
+ #
1315
1408
  class KeyMetadata < Struct.new(
1316
1409
  :aws_account_id,
1317
1410
  :key_id,
@@ -1337,9 +1430,9 @@ module Aws::KMS
1337
1430
  # }
1338
1431
  #
1339
1432
  # @!attribute [rw] limit
1340
- # When paginating results, specify the maximum number of items to
1341
- # return in the response. If additional items exist beyond the number
1342
- # you specify, the `Truncated` element in the response is set to true.
1433
+ # Use this parameter to specify the maximum number of items to return.
1434
+ # When this value is present, AWS KMS does not return more than the
1435
+ # specified number of items, but it might return fewer.
1343
1436
  #
1344
1437
  # This value is optional. If you include a value, it must be between 1
1345
1438
  # and 100, inclusive. If you do not include a value, it defaults to
@@ -1347,12 +1440,13 @@ module Aws::KMS
1347
1440
  # @return [Integer]
1348
1441
  #
1349
1442
  # @!attribute [rw] marker
1350
- # Use this parameter only when paginating results and only in a
1351
- # subsequent request after you receive a response with truncated
1352
- # results. Set it to the value of `NextMarker` from the response you
1353
- # just received.
1443
+ # Use this parameter in a subsequent request after you receive a
1444
+ # response with truncated results. Set it to the value of `NextMarker`
1445
+ # from the truncated response you just received.
1354
1446
  # @return [String]
1355
1447
  #
1448
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ListAliasesRequest AWS API Documentation
1449
+ #
1356
1450
  class ListAliasesRequest < Struct.new(
1357
1451
  :limit,
1358
1452
  :marker)
@@ -1364,18 +1458,19 @@ module Aws::KMS
1364
1458
  # @return [Array<Types::AliasListEntry>]
1365
1459
  #
1366
1460
  # @!attribute [rw] next_marker
1367
- # When `Truncated` is true, this value is present and contains the
1368
- # value to use for the `Marker` parameter in a subsequent pagination
1369
- # request.
1461
+ # When `Truncated` is true, this element is present and contains the
1462
+ # value to use for the `Marker` parameter in a subsequent request.
1370
1463
  # @return [String]
1371
1464
  #
1372
1465
  # @!attribute [rw] truncated
1373
- # A flag that indicates whether there are more items in the list. If
1374
- # your results were truncated, you can use the `Marker` parameter to
1375
- # make a subsequent pagination request to retrieve more items in the
1376
- # list.
1466
+ # A flag that indicates whether there are more items in the list. When
1467
+ # this value is true, the list in this response is truncated. To
1468
+ # retrieve more items, pass the value of the `NextMarker` element in
1469
+ # this response to the `Marker` parameter in a subsequent request.
1377
1470
  # @return [Boolean]
1378
1471
  #
1472
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ListAliasesResponse AWS API Documentation
1473
+ #
1379
1474
  class ListAliasesResponse < Struct.new(
1380
1475
  :aliases,
1381
1476
  :next_marker,
@@ -1393,9 +1488,9 @@ module Aws::KMS
1393
1488
  # }
1394
1489
  #
1395
1490
  # @!attribute [rw] limit
1396
- # When paginating results, specify the maximum number of items to
1397
- # return in the response. If additional items exist beyond the number
1398
- # you specify, the `Truncated` element in the response is set to true.
1491
+ # Use this parameter to specify the maximum number of items to return.
1492
+ # When this value is present, AWS KMS does not return more than the
1493
+ # specified number of items, but it might return fewer.
1399
1494
  #
1400
1495
  # This value is optional. If you include a value, it must be between 1
1401
1496
  # and 100, inclusive. If you do not include a value, it defaults to
@@ -1403,10 +1498,9 @@ module Aws::KMS
1403
1498
  # @return [Integer]
1404
1499
  #
1405
1500
  # @!attribute [rw] marker
1406
- # Use this parameter only when paginating results and only in a
1407
- # subsequent request after you receive a response with truncated
1408
- # results. Set it to the value of `NextMarker` from the response you
1409
- # just received.
1501
+ # Use this parameter in a subsequent request after you receive a
1502
+ # response with truncated results. Set it to the value of `NextMarker`
1503
+ # from the truncated response you just received.
1410
1504
  # @return [String]
1411
1505
  #
1412
1506
  # @!attribute [rw] key_id
@@ -1420,6 +1514,8 @@ module Aws::KMS
1420
1514
  # 12345678-1234-1234-1234-123456789012
1421
1515
  # @return [String]
1422
1516
  #
1517
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ListGrantsRequest AWS API Documentation
1518
+ #
1423
1519
  class ListGrantsRequest < Struct.new(
1424
1520
  :limit,
1425
1521
  :marker,
@@ -1432,18 +1528,19 @@ module Aws::KMS
1432
1528
  # @return [Array<Types::GrantListEntry>]
1433
1529
  #
1434
1530
  # @!attribute [rw] next_marker
1435
- # When `Truncated` is true, this value is present and contains the
1436
- # value to use for the `Marker` parameter in a subsequent pagination
1437
- # request.
1531
+ # When `Truncated` is true, this element is present and contains the
1532
+ # value to use for the `Marker` parameter in a subsequent request.
1438
1533
  # @return [String]
1439
1534
  #
1440
1535
  # @!attribute [rw] truncated
1441
- # A flag that indicates whether there are more items in the list. If
1442
- # your results were truncated, you can use the `Marker` parameter to
1443
- # make a subsequent pagination request to retrieve more items in the
1444
- # list.
1536
+ # A flag that indicates whether there are more items in the list. When
1537
+ # this value is true, the list in this response is truncated. To
1538
+ # retrieve more items, pass the value of the `NextMarker` element in
1539
+ # this response to the `Marker` parameter in a subsequent request.
1445
1540
  # @return [Boolean]
1446
1541
  #
1542
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ListGrantsResponse AWS API Documentation
1543
+ #
1447
1544
  class ListGrantsResponse < Struct.new(
1448
1545
  :grants,
1449
1546
  :next_marker,
@@ -1472,9 +1569,9 @@ module Aws::KMS
1472
1569
  # @return [String]
1473
1570
  #
1474
1571
  # @!attribute [rw] limit
1475
- # When paginating results, specify the maximum number of items to
1476
- # return in the response. If additional items exist beyond the number
1477
- # you specify, the `Truncated` element in the response is set to true.
1572
+ # Use this parameter to specify the maximum number of items to return.
1573
+ # When this value is present, AWS KMS does not return more than the
1574
+ # specified number of items, but it might return fewer.
1478
1575
  #
1479
1576
  # This value is optional. If you include a value, it must be between 1
1480
1577
  # and 1000, inclusive. If you do not include a value, it defaults to
@@ -1484,12 +1581,13 @@ module Aws::KMS
1484
1581
  # @return [Integer]
1485
1582
  #
1486
1583
  # @!attribute [rw] marker
1487
- # Use this parameter only when paginating results and only in a
1488
- # subsequent request after you receive a response with truncated
1489
- # results. Set it to the value of `NextMarker` from the response you
1490
- # just received.
1584
+ # Use this parameter in a subsequent request after you receive a
1585
+ # response with truncated results. Set it to the value of `NextMarker`
1586
+ # from the truncated response you just received.
1491
1587
  # @return [String]
1492
1588
  #
1589
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ListKeyPoliciesRequest AWS API Documentation
1590
+ #
1493
1591
  class ListKeyPoliciesRequest < Struct.new(
1494
1592
  :key_id,
1495
1593
  :limit,
@@ -1503,18 +1601,19 @@ module Aws::KMS
1503
1601
  # @return [Array<String>]
1504
1602
  #
1505
1603
  # @!attribute [rw] next_marker
1506
- # When `Truncated` is true, this value is present and contains the
1507
- # value to use for the `Marker` parameter in a subsequent pagination
1508
- # request.
1604
+ # When `Truncated` is true, this element is present and contains the
1605
+ # value to use for the `Marker` parameter in a subsequent request.
1509
1606
  # @return [String]
1510
1607
  #
1511
1608
  # @!attribute [rw] truncated
1512
- # A flag that indicates whether there are more items in the list. If
1513
- # your results were truncated, you can use the `Marker` parameter to
1514
- # make a subsequent pagination request to retrieve more items in the
1515
- # list.
1609
+ # A flag that indicates whether there are more items in the list. When
1610
+ # this value is true, the list in this response is truncated. To
1611
+ # retrieve more items, pass the value of the `NextMarker` element in
1612
+ # this response to the `Marker` parameter in a subsequent request.
1516
1613
  # @return [Boolean]
1517
1614
  #
1615
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ListKeyPoliciesResponse AWS API Documentation
1616
+ #
1518
1617
  class ListKeyPoliciesResponse < Struct.new(
1519
1618
  :policy_names,
1520
1619
  :next_marker,
@@ -1531,9 +1630,9 @@ module Aws::KMS
1531
1630
  # }
1532
1631
  #
1533
1632
  # @!attribute [rw] limit
1534
- # When paginating results, specify the maximum number of items to
1535
- # return in the response. If additional items exist beyond the number
1536
- # you specify, the `Truncated` element in the response is set to true.
1633
+ # Use this parameter to specify the maximum number of items to return.
1634
+ # When this value is present, AWS KMS does not return more than the
1635
+ # specified number of items, but it might return fewer.
1537
1636
  #
1538
1637
  # This value is optional. If you include a value, it must be between 1
1539
1638
  # and 1000, inclusive. If you do not include a value, it defaults to
@@ -1541,12 +1640,13 @@ module Aws::KMS
1541
1640
  # @return [Integer]
1542
1641
  #
1543
1642
  # @!attribute [rw] marker
1544
- # Use this parameter only when paginating results and only in a
1545
- # subsequent request after you receive a response with truncated
1546
- # results. Set it to the value of `NextMarker` from the response you
1547
- # just received.
1643
+ # Use this parameter in a subsequent request after you receive a
1644
+ # response with truncated results. Set it to the value of `NextMarker`
1645
+ # from the truncated response you just received.
1548
1646
  # @return [String]
1549
1647
  #
1648
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ListKeysRequest AWS API Documentation
1649
+ #
1550
1650
  class ListKeysRequest < Struct.new(
1551
1651
  :limit,
1552
1652
  :marker)
@@ -1558,18 +1658,19 @@ module Aws::KMS
1558
1658
  # @return [Array<Types::KeyListEntry>]
1559
1659
  #
1560
1660
  # @!attribute [rw] next_marker
1561
- # When `Truncated` is true, this value is present and contains the
1562
- # value to use for the `Marker` parameter in a subsequent pagination
1563
- # request.
1661
+ # When `Truncated` is true, this element is present and contains the
1662
+ # value to use for the `Marker` parameter in a subsequent request.
1564
1663
  # @return [String]
1565
1664
  #
1566
1665
  # @!attribute [rw] truncated
1567
- # A flag that indicates whether there are more items in the list. If
1568
- # your results were truncated, you can use the `Marker` parameter to
1569
- # make a subsequent pagination request to retrieve more items in the
1570
- # list.
1666
+ # A flag that indicates whether there are more items in the list. When
1667
+ # this value is true, the list in this response is truncated. To
1668
+ # retrieve more items, pass the value of the `NextMarker` element in
1669
+ # this response to the `Marker` parameter in a subsequent request.
1571
1670
  # @return [Boolean]
1572
1671
  #
1672
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ListKeysResponse AWS API Documentation
1673
+ #
1573
1674
  class ListKeysResponse < Struct.new(
1574
1675
  :keys,
1575
1676
  :next_marker,
@@ -1577,6 +1678,80 @@ module Aws::KMS
1577
1678
  include Aws::Structure
1578
1679
  end
1579
1680
 
1681
+ # @note When making an API call, you may pass ListResourceTagsRequest
1682
+ # data as a hash:
1683
+ #
1684
+ # {
1685
+ # key_id: "KeyIdType", # required
1686
+ # limit: 1,
1687
+ # marker: "MarkerType",
1688
+ # }
1689
+ #
1690
+ # @!attribute [rw] key_id
1691
+ # A unique identifier for the CMK whose tags you are listing. You can
1692
+ # use the unique key ID or the Amazon Resource Name (ARN) of the CMK.
1693
+ # Examples:
1694
+ #
1695
+ # * Unique key ID: `1234abcd-12ab-34cd-56ef-1234567890ab`
1696
+ #
1697
+ # * Key ARN:
1698
+ # `arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`
1699
+ # @return [String]
1700
+ #
1701
+ # @!attribute [rw] limit
1702
+ # Use this parameter to specify the maximum number of items to return.
1703
+ # When this value is present, AWS KMS does not return more than the
1704
+ # specified number of items, but it might return fewer.
1705
+ #
1706
+ # This value is optional. If you include a value, it must be between 1
1707
+ # and 50, inclusive. If you do not include a value, it defaults to 50.
1708
+ # @return [Integer]
1709
+ #
1710
+ # @!attribute [rw] marker
1711
+ # Use this parameter in a subsequent request after you receive a
1712
+ # response with truncated results. Set it to the value of `NextMarker`
1713
+ # from the truncated response you just received.
1714
+ #
1715
+ # Do not attempt to construct this value. Use only the value of
1716
+ # `NextMarker` from the truncated response you just received.
1717
+ # @return [String]
1718
+ #
1719
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ListResourceTagsRequest AWS API Documentation
1720
+ #
1721
+ class ListResourceTagsRequest < Struct.new(
1722
+ :key_id,
1723
+ :limit,
1724
+ :marker)
1725
+ include Aws::Structure
1726
+ end
1727
+
1728
+ # @!attribute [rw] tags
1729
+ # A list of tags. Each tag consists of a tag key and a tag value.
1730
+ # @return [Array<Types::Tag>]
1731
+ #
1732
+ # @!attribute [rw] next_marker
1733
+ # When `Truncated` is true, this element is present and contains the
1734
+ # value to use for the `Marker` parameter in a subsequent request.
1735
+ #
1736
+ # Do not assume or infer any information from this value.
1737
+ # @return [String]
1738
+ #
1739
+ # @!attribute [rw] truncated
1740
+ # A flag that indicates whether there are more items in the list. When
1741
+ # this value is true, the list in this response is truncated. To
1742
+ # retrieve more items, pass the value of the `NextMarker` element in
1743
+ # this response to the `Marker` parameter in a subsequent request.
1744
+ # @return [Boolean]
1745
+ #
1746
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ListResourceTagsResponse AWS API Documentation
1747
+ #
1748
+ class ListResourceTagsResponse < Struct.new(
1749
+ :tags,
1750
+ :next_marker,
1751
+ :truncated)
1752
+ include Aws::Structure
1753
+ end
1754
+
1580
1755
  # @note When making an API call, you may pass ListRetirableGrantsRequest
1581
1756
  # data as a hash:
1582
1757
  #
@@ -1587,9 +1762,9 @@ module Aws::KMS
1587
1762
  # }
1588
1763
  #
1589
1764
  # @!attribute [rw] limit
1590
- # When paginating results, specify the maximum number of items to
1591
- # return in the response. If additional items exist beyond the number
1592
- # you specify, the `Truncated` element in the response is set to true.
1765
+ # Use this parameter to specify the maximum number of items to return.
1766
+ # When this value is present, AWS KMS does not return more than the
1767
+ # specified number of items, but it might return fewer.
1593
1768
  #
1594
1769
  # This value is optional. If you include a value, it must be between 1
1595
1770
  # and 100, inclusive. If you do not include a value, it defaults to
@@ -1597,10 +1772,9 @@ module Aws::KMS
1597
1772
  # @return [Integer]
1598
1773
  #
1599
1774
  # @!attribute [rw] marker
1600
- # Use this parameter only when paginating results and only in a
1601
- # subsequent request after you receive a response with truncated
1602
- # results. Set it to the value of `NextMarker` from the response you
1603
- # just received.
1775
+ # Use this parameter in a subsequent request after you receive a
1776
+ # response with truncated results. Set it to the value of `NextMarker`
1777
+ # from the truncated response you just received.
1604
1778
  # @return [String]
1605
1779
  #
1606
1780
  # @!attribute [rw] retiring_principal
@@ -1619,6 +1793,8 @@ module Aws::KMS
1619
1793
  # [2]: http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-iam
1620
1794
  # @return [String]
1621
1795
  #
1796
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ListRetirableGrantsRequest AWS API Documentation
1797
+ #
1622
1798
  class ListRetirableGrantsRequest < Struct.new(
1623
1799
  :limit,
1624
1800
  :marker,
@@ -1660,14 +1836,15 @@ module Aws::KMS
1660
1836
  # If you do not set `BypassPolicyLockoutSafetyCheck` to true, the
1661
1837
  # policy must meet the following criteria:
1662
1838
  #
1663
- # * It must allow the principal making the `PutKeyPolicy` request to
1664
- # make a subsequent `PutKeyPolicy` request on the CMK. This reduces
1665
- # the likelihood that the CMK becomes unmanageable. For more
1666
- # information, refer to the scenario in the [Default Key Policy][1]
1667
- # section in the *AWS Key Management Service Developer Guide*.
1839
+ # * It must allow the principal that is making the `PutKeyPolicy`
1840
+ # request to make a subsequent `PutKeyPolicy` request on the CMK.
1841
+ # This reduces the likelihood that the CMK becomes unmanageable. For
1842
+ # more information, refer to the scenario in the [Default Key
1843
+ # Policy][1] section in the *AWS Key Management Service Developer
1844
+ # Guide*.
1668
1845
  #
1669
- # * The principal(s) specified in the key policy must exist and be
1670
- # visible to AWS KMS. When you create a new AWS principal (for
1846
+ # * The principals that are specified in the key policy must exist and
1847
+ # be visible to AWS KMS. When you create a new AWS principal (for
1671
1848
  # example, an IAM user or role), you might need to enforce a delay
1672
1849
  # before specifying the new principal in a key policy because the
1673
1850
  # new principal might not immediately be visible to AWS KMS. For
@@ -1695,8 +1872,8 @@ module Aws::KMS
1695
1872
  # Guide*.
1696
1873
  #
1697
1874
  # Use this parameter only when you intend to prevent the principal
1698
- # making the request from making a subsequent `PutKeyPolicy` request
1699
- # on the CMK.
1875
+ # that is making the request from making a subsequent `PutKeyPolicy`
1876
+ # request on the CMK.
1700
1877
  #
1701
1878
  # The default value is false.
1702
1879
  #
@@ -1705,6 +1882,8 @@ module Aws::KMS
1705
1882
  # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam
1706
1883
  # @return [Boolean]
1707
1884
  #
1885
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/PutKeyPolicyRequest AWS API Documentation
1886
+ #
1708
1887
  class PutKeyPolicyRequest < Struct.new(
1709
1888
  :key_id,
1710
1889
  :policy_name,
@@ -1769,6 +1948,8 @@ module Aws::KMS
1769
1948
  # [1]: http://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant_token
1770
1949
  # @return [Array<String>]
1771
1950
  #
1951
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ReEncryptRequest AWS API Documentation
1952
+ #
1772
1953
  class ReEncryptRequest < Struct.new(
1773
1954
  :ciphertext_blob,
1774
1955
  :source_encryption_context,
@@ -1790,6 +1971,8 @@ module Aws::KMS
1790
1971
  # Unique identifier of the CMK used to reencrypt the data.
1791
1972
  # @return [String]
1792
1973
  #
1974
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ReEncryptResponse AWS API Documentation
1975
+ #
1793
1976
  class ReEncryptResponse < Struct.new(
1794
1977
  :ciphertext_blob,
1795
1978
  :source_key_id,
@@ -1829,6 +2012,8 @@ module Aws::KMS
1829
2012
  # ^
1830
2013
  # @return [String]
1831
2014
  #
2015
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/RetireGrantRequest AWS API Documentation
2016
+ #
1832
2017
  class RetireGrantRequest < Struct.new(
1833
2018
  :grant_token,
1834
2019
  :key_id,
@@ -1860,6 +2045,8 @@ module Aws::KMS
1860
2045
  # Identifier of the grant to be revoked.
1861
2046
  # @return [String]
1862
2047
  #
2048
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/RevokeGrantRequest AWS API Documentation
2049
+ #
1863
2050
  class RevokeGrantRequest < Struct.new(
1864
2051
  :key_id,
1865
2052
  :grant_id)
@@ -1897,6 +2084,8 @@ module Aws::KMS
1897
2084
  # and 30, inclusive. If you do not include a value, it defaults to 30.
1898
2085
  # @return [Integer]
1899
2086
  #
2087
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ScheduleKeyDeletionRequest AWS API Documentation
2088
+ #
1900
2089
  class ScheduleKeyDeletionRequest < Struct.new(
1901
2090
  :key_id,
1902
2091
  :pending_window_in_days)
@@ -1913,12 +2102,109 @@ module Aws::KMS
1913
2102
  # key (CMK).
1914
2103
  # @return [Time]
1915
2104
  #
2105
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ScheduleKeyDeletionResponse AWS API Documentation
2106
+ #
1916
2107
  class ScheduleKeyDeletionResponse < Struct.new(
1917
2108
  :key_id,
1918
2109
  :deletion_date)
1919
2110
  include Aws::Structure
1920
2111
  end
1921
2112
 
2113
+ # A key-value pair. A tag consists of a tag key and a tag value. Tag
2114
+ # keys and tag values are both required, but tag values can be empty
2115
+ # (null) strings.
2116
+ #
2117
+ # @note When making an API call, you may pass Tag
2118
+ # data as a hash:
2119
+ #
2120
+ # {
2121
+ # tag_key: "TagKeyType", # required
2122
+ # tag_value: "TagValueType", # required
2123
+ # }
2124
+ #
2125
+ # @!attribute [rw] tag_key
2126
+ # The key of the tag.
2127
+ # @return [String]
2128
+ #
2129
+ # @!attribute [rw] tag_value
2130
+ # The value of the tag.
2131
+ # @return [String]
2132
+ #
2133
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/Tag AWS API Documentation
2134
+ #
2135
+ class Tag < Struct.new(
2136
+ :tag_key,
2137
+ :tag_value)
2138
+ include Aws::Structure
2139
+ end
2140
+
2141
+ # @note When making an API call, you may pass TagResourceRequest
2142
+ # data as a hash:
2143
+ #
2144
+ # {
2145
+ # key_id: "KeyIdType", # required
2146
+ # tags: [ # required
2147
+ # {
2148
+ # tag_key: "TagKeyType", # required
2149
+ # tag_value: "TagValueType", # required
2150
+ # },
2151
+ # ],
2152
+ # }
2153
+ #
2154
+ # @!attribute [rw] key_id
2155
+ # A unique identifier for the CMK you are tagging. You can use the
2156
+ # unique key ID or the Amazon Resource Name (ARN) of the CMK.
2157
+ # Examples:
2158
+ #
2159
+ # * Unique key ID: `1234abcd-12ab-34cd-56ef-1234567890ab`
2160
+ #
2161
+ # * Key ARN:
2162
+ # `arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`
2163
+ # @return [String]
2164
+ #
2165
+ # @!attribute [rw] tags
2166
+ # One or more tags. Each tag consists of a tag key and a tag value.
2167
+ # @return [Array<Types::Tag>]
2168
+ #
2169
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/TagResourceRequest AWS API Documentation
2170
+ #
2171
+ class TagResourceRequest < Struct.new(
2172
+ :key_id,
2173
+ :tags)
2174
+ include Aws::Structure
2175
+ end
2176
+
2177
+ # @note When making an API call, you may pass UntagResourceRequest
2178
+ # data as a hash:
2179
+ #
2180
+ # {
2181
+ # key_id: "KeyIdType", # required
2182
+ # tag_keys: ["TagKeyType"], # required
2183
+ # }
2184
+ #
2185
+ # @!attribute [rw] key_id
2186
+ # A unique identifier for the CMK from which you are removing tags.
2187
+ # You can use the unique key ID or the Amazon Resource Name (ARN) of
2188
+ # the CMK. Examples:
2189
+ #
2190
+ # * Unique key ID: `1234abcd-12ab-34cd-56ef-1234567890ab`
2191
+ #
2192
+ # * Key ARN:
2193
+ # `arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`
2194
+ # @return [String]
2195
+ #
2196
+ # @!attribute [rw] tag_keys
2197
+ # One or more tag keys. Specify only the tag keys, not the tag values.
2198
+ # @return [Array<String>]
2199
+ #
2200
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/UntagResourceRequest AWS API Documentation
2201
+ #
2202
+ class UntagResourceRequest < Struct.new(
2203
+ :key_id,
2204
+ :tag_keys)
2205
+ include Aws::Structure
2206
+ end
2207
+
1922
2208
  # @note When making an API call, you may pass UpdateAliasRequest
1923
2209
  # data as a hash:
1924
2210
  #
@@ -1948,6 +2234,8 @@ module Aws::KMS
1948
2234
  # correct `TargetKeyId`.
1949
2235
  # @return [String]
1950
2236
  #
2237
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/UpdateAliasRequest AWS API Documentation
2238
+ #
1951
2239
  class UpdateAliasRequest < Struct.new(
1952
2240
  :alias_name,
1953
2241
  :target_key_id)
@@ -1977,6 +2265,8 @@ module Aws::KMS
1977
2265
  # New description for the CMK.
1978
2266
  # @return [String]
1979
2267
  #
2268
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/UpdateKeyDescriptionRequest AWS API Documentation
2269
+ #
1980
2270
  class UpdateKeyDescriptionRequest < Struct.new(
1981
2271
  :key_id,
1982
2272
  :description)