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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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)