aws-sdk-kms 1.40.0 → 1.44.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +299 -0
- data/LICENSE.txt +202 -0
- data/VERSION +1 -0
- data/lib/aws-sdk-kms.rb +2 -2
- data/lib/aws-sdk-kms/client.rb +1071 -387
- data/lib/aws-sdk-kms/client_api.rb +80 -1
- data/lib/aws-sdk-kms/customizations.rb +1 -1
- data/lib/aws-sdk-kms/errors.rb +1 -1
- data/lib/aws-sdk-kms/resource.rb +1 -1
- data/lib/aws-sdk-kms/types.rb +700 -161
- metadata +11 -9
@@ -3,7 +3,7 @@
|
|
3
3
|
# WARNING ABOUT GENERATED CODE
|
4
4
|
#
|
5
5
|
# This file is generated. See the contributing guide for more information:
|
6
|
-
# https://github.com/aws/aws-sdk-ruby/blob/
|
6
|
+
# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
|
7
7
|
#
|
8
8
|
# WARNING ABOUT GENERATED CODE
|
9
9
|
|
@@ -150,7 +150,12 @@ module Aws::KMS
|
|
150
150
|
MalformedPolicyDocumentException = Shapes::StructureShape.new(name: 'MalformedPolicyDocumentException')
|
151
151
|
MarkerType = Shapes::StringShape.new(name: 'MarkerType')
|
152
152
|
MessageType = Shapes::StringShape.new(name: 'MessageType')
|
153
|
+
MultiRegionConfiguration = Shapes::StructureShape.new(name: 'MultiRegionConfiguration')
|
154
|
+
MultiRegionKey = Shapes::StructureShape.new(name: 'MultiRegionKey')
|
155
|
+
MultiRegionKeyList = Shapes::ListShape.new(name: 'MultiRegionKeyList')
|
156
|
+
MultiRegionKeyType = Shapes::StringShape.new(name: 'MultiRegionKeyType')
|
153
157
|
NotFoundException = Shapes::StructureShape.new(name: 'NotFoundException')
|
158
|
+
NullableBooleanType = Shapes::BooleanShape.new(name: 'NullableBooleanType')
|
154
159
|
NumberOfBytesType = Shapes::IntegerShape.new(name: 'NumberOfBytesType')
|
155
160
|
OriginType = Shapes::StringShape.new(name: 'OriginType')
|
156
161
|
PendingWindowInDaysType = Shapes::IntegerShape.new(name: 'PendingWindowInDaysType')
|
@@ -163,6 +168,9 @@ module Aws::KMS
|
|
163
168
|
PutKeyPolicyRequest = Shapes::StructureShape.new(name: 'PutKeyPolicyRequest')
|
164
169
|
ReEncryptRequest = Shapes::StructureShape.new(name: 'ReEncryptRequest')
|
165
170
|
ReEncryptResponse = Shapes::StructureShape.new(name: 'ReEncryptResponse')
|
171
|
+
RegionType = Shapes::StringShape.new(name: 'RegionType')
|
172
|
+
ReplicateKeyRequest = Shapes::StructureShape.new(name: 'ReplicateKeyRequest')
|
173
|
+
ReplicateKeyResponse = Shapes::StructureShape.new(name: 'ReplicateKeyResponse')
|
166
174
|
RetireGrantRequest = Shapes::StructureShape.new(name: 'RetireGrantRequest')
|
167
175
|
RevokeGrantRequest = Shapes::StructureShape.new(name: 'RevokeGrantRequest')
|
168
176
|
ScheduleKeyDeletionRequest = Shapes::StructureShape.new(name: 'ScheduleKeyDeletionRequest')
|
@@ -185,6 +193,7 @@ module Aws::KMS
|
|
185
193
|
UpdateCustomKeyStoreRequest = Shapes::StructureShape.new(name: 'UpdateCustomKeyStoreRequest')
|
186
194
|
UpdateCustomKeyStoreResponse = Shapes::StructureShape.new(name: 'UpdateCustomKeyStoreResponse')
|
187
195
|
UpdateKeyDescriptionRequest = Shapes::StructureShape.new(name: 'UpdateKeyDescriptionRequest')
|
196
|
+
UpdatePrimaryRegionRequest = Shapes::StructureShape.new(name: 'UpdatePrimaryRegionRequest')
|
188
197
|
VerifyRequest = Shapes::StructureShape.new(name: 'VerifyRequest')
|
189
198
|
VerifyResponse = Shapes::StructureShape.new(name: 'VerifyResponse')
|
190
199
|
WrappingKeySpec = Shapes::StringShape.new(name: 'WrappingKeySpec')
|
@@ -261,6 +270,7 @@ module Aws::KMS
|
|
261
270
|
CreateKeyRequest.add_member(:custom_key_store_id, Shapes::ShapeRef.new(shape: CustomKeyStoreIdType, location_name: "CustomKeyStoreId"))
|
262
271
|
CreateKeyRequest.add_member(:bypass_policy_lockout_safety_check, Shapes::ShapeRef.new(shape: BooleanType, location_name: "BypassPolicyLockoutSafetyCheck"))
|
263
272
|
CreateKeyRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
|
273
|
+
CreateKeyRequest.add_member(:multi_region, Shapes::ShapeRef.new(shape: NullableBooleanType, location_name: "MultiRegion"))
|
264
274
|
CreateKeyRequest.struct_class = Types::CreateKeyRequest
|
265
275
|
|
266
276
|
CreateKeyResponse.add_member(:key_metadata, Shapes::ShapeRef.new(shape: KeyMetadata, location_name: "KeyMetadata"))
|
@@ -560,6 +570,9 @@ module Aws::KMS
|
|
560
570
|
KeyMetadata.add_member(:customer_master_key_spec, Shapes::ShapeRef.new(shape: CustomerMasterKeySpec, location_name: "CustomerMasterKeySpec"))
|
561
571
|
KeyMetadata.add_member(:encryption_algorithms, Shapes::ShapeRef.new(shape: EncryptionAlgorithmSpecList, location_name: "EncryptionAlgorithms"))
|
562
572
|
KeyMetadata.add_member(:signing_algorithms, Shapes::ShapeRef.new(shape: SigningAlgorithmSpecList, location_name: "SigningAlgorithms"))
|
573
|
+
KeyMetadata.add_member(:multi_region, Shapes::ShapeRef.new(shape: NullableBooleanType, location_name: "MultiRegion"))
|
574
|
+
KeyMetadata.add_member(:multi_region_configuration, Shapes::ShapeRef.new(shape: MultiRegionConfiguration, location_name: "MultiRegionConfiguration"))
|
575
|
+
KeyMetadata.add_member(:pending_deletion_window_in_days, Shapes::ShapeRef.new(shape: PendingWindowInDaysType, location_name: "PendingDeletionWindowInDays"))
|
563
576
|
KeyMetadata.struct_class = Types::KeyMetadata
|
564
577
|
|
565
578
|
KeyUnavailableException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessageType, location_name: "message"))
|
@@ -581,6 +594,8 @@ module Aws::KMS
|
|
581
594
|
ListGrantsRequest.add_member(:limit, Shapes::ShapeRef.new(shape: LimitType, location_name: "Limit"))
|
582
595
|
ListGrantsRequest.add_member(:marker, Shapes::ShapeRef.new(shape: MarkerType, location_name: "Marker"))
|
583
596
|
ListGrantsRequest.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, required: true, location_name: "KeyId"))
|
597
|
+
ListGrantsRequest.add_member(:grant_id, Shapes::ShapeRef.new(shape: GrantIdType, location_name: "GrantId"))
|
598
|
+
ListGrantsRequest.add_member(:grantee_principal, Shapes::ShapeRef.new(shape: PrincipalIdType, location_name: "GranteePrincipal"))
|
584
599
|
ListGrantsRequest.struct_class = Types::ListGrantsRequest
|
585
600
|
|
586
601
|
ListGrantsResponse.add_member(:grants, Shapes::ShapeRef.new(shape: GrantList, location_name: "Grants"))
|
@@ -625,6 +640,17 @@ module Aws::KMS
|
|
625
640
|
MalformedPolicyDocumentException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessageType, location_name: "message"))
|
626
641
|
MalformedPolicyDocumentException.struct_class = Types::MalformedPolicyDocumentException
|
627
642
|
|
643
|
+
MultiRegionConfiguration.add_member(:multi_region_key_type, Shapes::ShapeRef.new(shape: MultiRegionKeyType, location_name: "MultiRegionKeyType"))
|
644
|
+
MultiRegionConfiguration.add_member(:primary_key, Shapes::ShapeRef.new(shape: MultiRegionKey, location_name: "PrimaryKey"))
|
645
|
+
MultiRegionConfiguration.add_member(:replica_keys, Shapes::ShapeRef.new(shape: MultiRegionKeyList, location_name: "ReplicaKeys"))
|
646
|
+
MultiRegionConfiguration.struct_class = Types::MultiRegionConfiguration
|
647
|
+
|
648
|
+
MultiRegionKey.add_member(:arn, Shapes::ShapeRef.new(shape: ArnType, location_name: "Arn"))
|
649
|
+
MultiRegionKey.add_member(:region, Shapes::ShapeRef.new(shape: RegionType, location_name: "Region"))
|
650
|
+
MultiRegionKey.struct_class = Types::MultiRegionKey
|
651
|
+
|
652
|
+
MultiRegionKeyList.member = Shapes::ShapeRef.new(shape: MultiRegionKey)
|
653
|
+
|
628
654
|
NotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessageType, location_name: "message"))
|
629
655
|
NotFoundException.struct_class = Types::NotFoundException
|
630
656
|
|
@@ -653,6 +679,19 @@ module Aws::KMS
|
|
653
679
|
ReEncryptResponse.add_member(:destination_encryption_algorithm, Shapes::ShapeRef.new(shape: EncryptionAlgorithmSpec, location_name: "DestinationEncryptionAlgorithm"))
|
654
680
|
ReEncryptResponse.struct_class = Types::ReEncryptResponse
|
655
681
|
|
682
|
+
ReplicateKeyRequest.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, required: true, location_name: "KeyId"))
|
683
|
+
ReplicateKeyRequest.add_member(:replica_region, Shapes::ShapeRef.new(shape: RegionType, required: true, location_name: "ReplicaRegion"))
|
684
|
+
ReplicateKeyRequest.add_member(:policy, Shapes::ShapeRef.new(shape: PolicyType, location_name: "Policy"))
|
685
|
+
ReplicateKeyRequest.add_member(:bypass_policy_lockout_safety_check, Shapes::ShapeRef.new(shape: BooleanType, location_name: "BypassPolicyLockoutSafetyCheck"))
|
686
|
+
ReplicateKeyRequest.add_member(:description, Shapes::ShapeRef.new(shape: DescriptionType, location_name: "Description"))
|
687
|
+
ReplicateKeyRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
|
688
|
+
ReplicateKeyRequest.struct_class = Types::ReplicateKeyRequest
|
689
|
+
|
690
|
+
ReplicateKeyResponse.add_member(:replica_key_metadata, Shapes::ShapeRef.new(shape: KeyMetadata, location_name: "ReplicaKeyMetadata"))
|
691
|
+
ReplicateKeyResponse.add_member(:replica_policy, Shapes::ShapeRef.new(shape: PolicyType, location_name: "ReplicaPolicy"))
|
692
|
+
ReplicateKeyResponse.add_member(:replica_tags, Shapes::ShapeRef.new(shape: TagList, location_name: "ReplicaTags"))
|
693
|
+
ReplicateKeyResponse.struct_class = Types::ReplicateKeyResponse
|
694
|
+
|
656
695
|
RetireGrantRequest.add_member(:grant_token, Shapes::ShapeRef.new(shape: GrantTokenType, location_name: "GrantToken"))
|
657
696
|
RetireGrantRequest.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, location_name: "KeyId"))
|
658
697
|
RetireGrantRequest.add_member(:grant_id, Shapes::ShapeRef.new(shape: GrantIdType, location_name: "GrantId"))
|
@@ -668,6 +707,8 @@ module Aws::KMS
|
|
668
707
|
|
669
708
|
ScheduleKeyDeletionResponse.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, location_name: "KeyId"))
|
670
709
|
ScheduleKeyDeletionResponse.add_member(:deletion_date, Shapes::ShapeRef.new(shape: DateType, location_name: "DeletionDate"))
|
710
|
+
ScheduleKeyDeletionResponse.add_member(:key_state, Shapes::ShapeRef.new(shape: KeyState, location_name: "KeyState"))
|
711
|
+
ScheduleKeyDeletionResponse.add_member(:pending_window_in_days, Shapes::ShapeRef.new(shape: PendingWindowInDaysType, location_name: "PendingWindowInDays"))
|
671
712
|
ScheduleKeyDeletionResponse.struct_class = Types::ScheduleKeyDeletionResponse
|
672
713
|
|
673
714
|
SignRequest.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, required: true, location_name: "KeyId"))
|
@@ -722,6 +763,10 @@ module Aws::KMS
|
|
722
763
|
UpdateKeyDescriptionRequest.add_member(:description, Shapes::ShapeRef.new(shape: DescriptionType, required: true, location_name: "Description"))
|
723
764
|
UpdateKeyDescriptionRequest.struct_class = Types::UpdateKeyDescriptionRequest
|
724
765
|
|
766
|
+
UpdatePrimaryRegionRequest.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, required: true, location_name: "KeyId"))
|
767
|
+
UpdatePrimaryRegionRequest.add_member(:primary_region, Shapes::ShapeRef.new(shape: RegionType, required: true, location_name: "PrimaryRegion"))
|
768
|
+
UpdatePrimaryRegionRequest.struct_class = Types::UpdatePrimaryRegionRequest
|
769
|
+
|
725
770
|
VerifyRequest.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, required: true, location_name: "KeyId"))
|
726
771
|
VerifyRequest.add_member(:message, Shapes::ShapeRef.new(shape: PlaintextType, required: true, location_name: "Message"))
|
727
772
|
VerifyRequest.add_member(:message_type, Shapes::ShapeRef.new(shape: MessageType, location_name: "MessageType"))
|
@@ -907,6 +952,7 @@ module Aws::KMS
|
|
907
952
|
o.input = Shapes::ShapeRef.new(shape: DescribeCustomKeyStoresRequest)
|
908
953
|
o.output = Shapes::ShapeRef.new(shape: DescribeCustomKeyStoresResponse)
|
909
954
|
o.errors << Shapes::ShapeRef.new(shape: CustomKeyStoreNotFoundException)
|
955
|
+
o.errors << Shapes::ShapeRef.new(shape: InvalidMarkerException)
|
910
956
|
o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
|
911
957
|
end)
|
912
958
|
|
@@ -1190,6 +1236,7 @@ module Aws::KMS
|
|
1190
1236
|
o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
|
1191
1237
|
o.errors << Shapes::ShapeRef.new(shape: DependencyTimeoutException)
|
1192
1238
|
o.errors << Shapes::ShapeRef.new(shape: InvalidMarkerException)
|
1239
|
+
o.errors << Shapes::ShapeRef.new(shape: InvalidGrantIdException)
|
1193
1240
|
o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
|
1194
1241
|
o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
|
1195
1242
|
o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
|
@@ -1299,6 +1346,24 @@ module Aws::KMS
|
|
1299
1346
|
o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
|
1300
1347
|
end)
|
1301
1348
|
|
1349
|
+
api.add_operation(:replicate_key, Seahorse::Model::Operation.new.tap do |o|
|
1350
|
+
o.name = "ReplicateKey"
|
1351
|
+
o.http_method = "POST"
|
1352
|
+
o.http_request_uri = "/"
|
1353
|
+
o.input = Shapes::ShapeRef.new(shape: ReplicateKeyRequest)
|
1354
|
+
o.output = Shapes::ShapeRef.new(shape: ReplicateKeyResponse)
|
1355
|
+
o.errors << Shapes::ShapeRef.new(shape: AlreadyExistsException)
|
1356
|
+
o.errors << Shapes::ShapeRef.new(shape: DisabledException)
|
1357
|
+
o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
|
1358
|
+
o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
|
1359
|
+
o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
|
1360
|
+
o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
|
1361
|
+
o.errors << Shapes::ShapeRef.new(shape: MalformedPolicyDocumentException)
|
1362
|
+
o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
|
1363
|
+
o.errors << Shapes::ShapeRef.new(shape: TagException)
|
1364
|
+
o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
|
1365
|
+
end)
|
1366
|
+
|
1302
1367
|
api.add_operation(:retire_grant, Seahorse::Model::Operation.new.tap do |o|
|
1303
1368
|
o.name = "RetireGrant"
|
1304
1369
|
o.http_method = "POST"
|
@@ -1426,6 +1491,20 @@ module Aws::KMS
|
|
1426
1491
|
o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
|
1427
1492
|
end)
|
1428
1493
|
|
1494
|
+
api.add_operation(:update_primary_region, Seahorse::Model::Operation.new.tap do |o|
|
1495
|
+
o.name = "UpdatePrimaryRegion"
|
1496
|
+
o.http_method = "POST"
|
1497
|
+
o.http_request_uri = "/"
|
1498
|
+
o.input = Shapes::ShapeRef.new(shape: UpdatePrimaryRegionRequest)
|
1499
|
+
o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
|
1500
|
+
o.errors << Shapes::ShapeRef.new(shape: DisabledException)
|
1501
|
+
o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
|
1502
|
+
o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
|
1503
|
+
o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
|
1504
|
+
o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
|
1505
|
+
o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
|
1506
|
+
end)
|
1507
|
+
|
1429
1508
|
api.add_operation(:verify, Seahorse::Model::Operation.new.tap do |o|
|
1430
1509
|
o.name = "Verify"
|
1431
1510
|
o.http_method = "POST"
|
@@ -2,7 +2,7 @@
|
|
2
2
|
# WARNING ABOUT GENERATED CODE
|
3
3
|
#
|
4
4
|
# This file is generated. See the contributing for info on making contributions:
|
5
|
-
# https://github.com/aws/aws-sdk-ruby/blob/
|
5
|
+
# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
|
6
6
|
#
|
7
7
|
# WARNING ABOUT GENERATED CODE
|
8
8
|
|
data/lib/aws-sdk-kms/errors.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
# WARNING ABOUT GENERATED CODE
|
4
4
|
#
|
5
5
|
# This file is generated. See the contributing guide for more information:
|
6
|
-
# https://github.com/aws/aws-sdk-ruby/blob/
|
6
|
+
# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
|
7
7
|
#
|
8
8
|
# WARNING ABOUT GENERATED CODE
|
9
9
|
|
data/lib/aws-sdk-kms/resource.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
# WARNING ABOUT GENERATED CODE
|
4
4
|
#
|
5
5
|
# This file is generated. See the contributing guide for more information:
|
6
|
-
# https://github.com/aws/aws-sdk-ruby/blob/
|
6
|
+
# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
|
7
7
|
#
|
8
8
|
# WARNING ABOUT GENERATED CODE
|
9
9
|
|
data/lib/aws-sdk-kms/types.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
# WARNING ABOUT GENERATED CODE
|
4
4
|
#
|
5
5
|
# This file is generated. See the contributing guide for more information:
|
6
|
-
# https://github.com/aws/aws-sdk-ruby/blob/
|
6
|
+
# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
|
7
7
|
#
|
8
8
|
# WARNING ABOUT GENERATED CODE
|
9
9
|
|
@@ -69,10 +69,10 @@ module Aws::KMS
|
|
69
69
|
# }
|
70
70
|
#
|
71
71
|
# @!attribute [rw] key_id
|
72
|
-
#
|
73
|
-
#
|
72
|
+
# Identifies the customer master key (CMK) whose deletion is being
|
73
|
+
# canceled.
|
74
74
|
#
|
75
|
-
# Specify the key ID or
|
75
|
+
# Specify the key ID or key ARN of the CMK.
|
76
76
|
#
|
77
77
|
# For example:
|
78
78
|
#
|
@@ -310,7 +310,7 @@ module Aws::KMS
|
|
310
310
|
# For help finding the key ID and ARN, see [Finding the Key ID and
|
311
311
|
# ARN][2] in the *AWS Key Management Service Developer Guide*.
|
312
312
|
#
|
313
|
-
# Specify the key ID or
|
313
|
+
# Specify the key ID or key ARN of the CMK.
|
314
314
|
#
|
315
315
|
# For example:
|
316
316
|
#
|
@@ -433,11 +433,11 @@ module Aws::KMS
|
|
433
433
|
# }
|
434
434
|
#
|
435
435
|
# @!attribute [rw] key_id
|
436
|
-
#
|
437
|
-
#
|
436
|
+
# Identifies the customer master key (CMK) for the grant. The grant
|
437
|
+
# gives principals permission to use this CMK.
|
438
438
|
#
|
439
|
-
# Specify the key ID or
|
440
|
-
#
|
439
|
+
# Specify the key ID or key ARN of the CMK. To specify a CMK in a
|
440
|
+
# different AWS account, you must use the key ARN.
|
441
441
|
#
|
442
442
|
# For example:
|
443
443
|
#
|
@@ -451,8 +451,7 @@ module Aws::KMS
|
|
451
451
|
# @return [String]
|
452
452
|
#
|
453
453
|
# @!attribute [rw] grantee_principal
|
454
|
-
# The
|
455
|
-
# that the grant permits.
|
454
|
+
# The identity that gets the permissions specified in the grant.
|
456
455
|
#
|
457
456
|
# To specify the principal, use the [Amazon Resource Name (ARN)][1] of
|
458
457
|
# an AWS principal. Valid AWS principals include AWS accounts (root),
|
@@ -486,30 +485,55 @@ module Aws::KMS
|
|
486
485
|
#
|
487
486
|
# @!attribute [rw] operations
|
488
487
|
# A list of operations that the grant permits.
|
488
|
+
#
|
489
|
+
# The operation must be supported on the CMK. For example, you cannot
|
490
|
+
# create a grant for a symmetric CMK that allows the Sign operation,
|
491
|
+
# or a grant for an asymmetric CMK that allows the GenerateDataKey
|
492
|
+
# operation. If you try, AWS KMS returns a `ValidationError`
|
493
|
+
# exception. For details, see [Grant operations][1] in the *AWS Key
|
494
|
+
# Management Service Developer Guide*.
|
495
|
+
#
|
496
|
+
#
|
497
|
+
#
|
498
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-grant-operations
|
489
499
|
# @return [Array<String>]
|
490
500
|
#
|
491
501
|
# @!attribute [rw] constraints
|
492
|
-
#
|
493
|
-
#
|
494
|
-
#
|
495
|
-
#
|
496
|
-
#
|
502
|
+
# Specifies a grant constraint.
|
503
|
+
#
|
504
|
+
# AWS KMS supports the `EncryptionContextEquals` and
|
505
|
+
# `EncryptionContextSubset` grant constraints. Each constraint value
|
506
|
+
# can include up to 8 encryption context pairs. The encryption context
|
507
|
+
# value in each constraint cannot exceed 384 characters.
|
508
|
+
#
|
509
|
+
# These grant constraints allow a [cryptographic operation][1] only
|
510
|
+
# when the encryption context in the request matches
|
511
|
+
# (`EncryptionContextEquals`) or includes (`EncryptionContextSubset`)
|
512
|
+
# the encryption context specified in this structure. For more
|
513
|
+
# information about encryption context, see [Encryption Context][2] in
|
514
|
+
# the <i> <i>AWS Key Management Service Developer Guide</i> </i>. For
|
515
|
+
# information about grant constraints, see [Using grant
|
516
|
+
# constraints][3] in the *AWS Key Management Service Developer Guide*.
|
497
517
|
#
|
498
|
-
#
|
499
|
-
# an encryption context
|
500
|
-
#
|
501
|
-
#
|
518
|
+
# The encryption context grant constraints are supported only on
|
519
|
+
# operations that include an encryption context. You cannot use an
|
520
|
+
# encryption context grant constraint for cryptographic operations
|
521
|
+
# with asymmetric CMKs or for management operations, such as
|
522
|
+
# DescribeKey or RetireGrant.
|
502
523
|
#
|
503
524
|
#
|
504
525
|
#
|
505
526
|
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations
|
506
527
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context
|
528
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/create-grant-overview.html#grant-constraints
|
507
529
|
# @return [Types::GrantConstraints]
|
508
530
|
#
|
509
531
|
# @!attribute [rw] grant_tokens
|
510
532
|
# A list of grant tokens.
|
511
533
|
#
|
512
|
-
#
|
534
|
+
# Use a grant token when your permission to call this operation comes
|
535
|
+
# from a new grant that has not yet achieved *eventual consistency*.
|
536
|
+
# For more information, see [Grant token][1] in the *AWS Key
|
513
537
|
# Management Service Developer Guide*.
|
514
538
|
#
|
515
539
|
#
|
@@ -551,7 +575,9 @@ module Aws::KMS
|
|
551
575
|
# @!attribute [rw] grant_token
|
552
576
|
# The grant token.
|
553
577
|
#
|
554
|
-
#
|
578
|
+
# Use a grant token when your permission to call this operation comes
|
579
|
+
# from a new grant that has not yet achieved *eventual consistency*.
|
580
|
+
# For more information, see [Grant token][1] in the *AWS Key
|
555
581
|
# Management Service Developer Guide*.
|
556
582
|
#
|
557
583
|
#
|
@@ -562,8 +588,8 @@ module Aws::KMS
|
|
562
588
|
# @!attribute [rw] grant_id
|
563
589
|
# The unique identifier for the grant.
|
564
590
|
#
|
565
|
-
# You can use the `GrantId` in a
|
566
|
-
# operation.
|
591
|
+
# You can use the `GrantId` in a ListGrants, RetireGrant, or
|
592
|
+
# RevokeGrant operation.
|
567
593
|
# @return [String]
|
568
594
|
#
|
569
595
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/CreateGrantResponse AWS API Documentation
|
@@ -592,6 +618,7 @@ module Aws::KMS
|
|
592
618
|
# tag_value: "TagValueType", # required
|
593
619
|
# },
|
594
620
|
# ],
|
621
|
+
# multi_region: false,
|
595
622
|
# }
|
596
623
|
#
|
597
624
|
# @!attribute [rw] policy
|
@@ -638,7 +665,8 @@ module Aws::KMS
|
|
638
665
|
# A description of the CMK.
|
639
666
|
#
|
640
667
|
# Use a description that helps you decide whether the CMK is
|
641
|
-
# appropriate for a task.
|
668
|
+
# appropriate for a task. The default value is an empty string (no
|
669
|
+
# description).
|
642
670
|
# @return [String]
|
643
671
|
#
|
644
672
|
# @!attribute [rw] key_usage
|
@@ -727,20 +755,19 @@ module Aws::KMS
|
|
727
755
|
# @!attribute [rw] origin
|
728
756
|
# The source of the key material for the CMK. You cannot change the
|
729
757
|
# origin after you create the CMK. The default is `AWS_KMS`, which
|
730
|
-
# means AWS KMS creates the key material.
|
758
|
+
# means that AWS KMS creates the key material.
|
731
759
|
#
|
732
|
-
#
|
733
|
-
#
|
734
|
-
#
|
735
|
-
#
|
736
|
-
#
|
737
|
-
# valid only for symmetric CMKs.
|
760
|
+
# To create a CMK with no key material (for imported key material),
|
761
|
+
# set the value to `EXTERNAL`. For more information about importing
|
762
|
+
# key material into AWS KMS, see [Importing Key Material][1] in the
|
763
|
+
# *AWS Key Management Service Developer Guide*. This value is valid
|
764
|
+
# only for symmetric CMKs.
|
738
765
|
#
|
739
|
-
#
|
740
|
-
#
|
741
|
-
#
|
742
|
-
#
|
743
|
-
#
|
766
|
+
# To create a CMK in an AWS KMS [custom key store][2] and create its
|
767
|
+
# key material in the associated AWS CloudHSM cluster, set this value
|
768
|
+
# to `AWS_CLOUDHSM`. You must also use the `CustomKeyStoreId`
|
769
|
+
# parameter to identify the custom key store. This value is valid only
|
770
|
+
# for symmetric CMKs.
|
744
771
|
#
|
745
772
|
#
|
746
773
|
#
|
@@ -756,8 +783,9 @@ module Aws::KMS
|
|
756
783
|
# associated with the custom key store must have at least two active
|
757
784
|
# HSMs, each in a different Availability Zone in the Region.
|
758
785
|
#
|
759
|
-
# This parameter is valid only for symmetric CMKs
|
760
|
-
# an asymmetric CMK
|
786
|
+
# This parameter is valid only for symmetric CMKs and regional CMKs.
|
787
|
+
# You cannot create an asymmetric CMK or a multi-Region CMK in a
|
788
|
+
# custom key store.
|
761
789
|
#
|
762
790
|
# To find the ID of a custom key store, use the
|
763
791
|
# DescribeCustomKeyStores operation.
|
@@ -798,27 +826,66 @@ module Aws::KMS
|
|
798
826
|
# @return [Boolean]
|
799
827
|
#
|
800
828
|
# @!attribute [rw] tags
|
801
|
-
#
|
802
|
-
#
|
803
|
-
#
|
829
|
+
# Assigns one or more tags to the CMK. Use this parameter to tag the
|
830
|
+
# CMK when it is created. To tag an existing CMK, use the TagResource
|
831
|
+
# operation.
|
804
832
|
#
|
805
|
-
#
|
806
|
-
#
|
807
|
-
#
|
808
|
-
# CMKs, see [Tagging Keys][1].
|
833
|
+
# <note markdown="1"> Tagging or untagging a CMK can allow or deny permission to the CMK.
|
834
|
+
# For details, see [Using ABAC in AWS KMS][1] in the *AWS Key
|
835
|
+
# Management Service Developer Guide*.
|
809
836
|
#
|
810
|
-
#
|
811
|
-
# an existing CMK, use the TagResource operation.
|
837
|
+
# </note>
|
812
838
|
#
|
813
839
|
# To use this parameter, you must have [kms:TagResource][2] permission
|
814
840
|
# in an IAM policy.
|
815
841
|
#
|
842
|
+
# Each tag consists of a tag key and a tag value. Both the tag key and
|
843
|
+
# the tag value are required, but the tag value can be an empty (null)
|
844
|
+
# string. You cannot have more than one tag on a CMK with the same tag
|
845
|
+
# key. If you specify an existing tag key with a different tag value,
|
846
|
+
# AWS KMS replaces the current tag value with the specified one.
|
847
|
+
#
|
848
|
+
# When you assign tags to an AWS resource, AWS generates a cost
|
849
|
+
# allocation report with usage and costs aggregated by tags. Tags can
|
850
|
+
# also be used to control access to a CMK. For details, see [Tagging
|
851
|
+
# Keys][3].
|
816
852
|
#
|
817
853
|
#
|
818
|
-
#
|
854
|
+
#
|
855
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/abac.html
|
819
856
|
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
857
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/tagging-keys.html
|
820
858
|
# @return [Array<Types::Tag>]
|
821
859
|
#
|
860
|
+
# @!attribute [rw] multi_region
|
861
|
+
# Creates a multi-Region primary key that you can replicate into other
|
862
|
+
# AWS Regions. You cannot change this value after you create the CMK.
|
863
|
+
#
|
864
|
+
# For a multi-Region key, set this parameter to `True`. For a
|
865
|
+
# single-Region CMK, omit this parameter or set it to `False`. The
|
866
|
+
# default value is `False`.
|
867
|
+
#
|
868
|
+
# This operation supports *multi-Region keys*, an AWS KMS feature that
|
869
|
+
# lets you create multiple interoperable CMKs in different AWS
|
870
|
+
# Regions. Because these CMKs have the same key ID, key material, and
|
871
|
+
# other metadata, you can use them to encrypt data in one AWS Region
|
872
|
+
# and decrypt it in a different AWS Region without making a
|
873
|
+
# cross-Region call or exposing the plaintext data. For more
|
874
|
+
# information about multi-Region keys, see [Using multi-Region
|
875
|
+
# keys][1] in the *AWS Key Management Service Developer Guide*.
|
876
|
+
#
|
877
|
+
# This value creates a *primary key*, not a replica. To create a
|
878
|
+
# *replica key*, use the ReplicateKey operation.
|
879
|
+
#
|
880
|
+
# You can create a symmetric or asymmetric multi-Region CMK, and you
|
881
|
+
# can create a multi-Region CMK with imported key material. However,
|
882
|
+
# you cannot create a multi-Region CMK in a custom key store.
|
883
|
+
#
|
884
|
+
#
|
885
|
+
#
|
886
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
|
887
|
+
# @return [Boolean]
|
888
|
+
#
|
822
889
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/CreateKeyRequest AWS API Documentation
|
823
890
|
#
|
824
891
|
class CreateKeyRequest < Struct.new(
|
@@ -829,7 +896,8 @@ module Aws::KMS
|
|
829
896
|
:origin,
|
830
897
|
:custom_key_store_id,
|
831
898
|
:bypass_policy_lockout_safety_check,
|
832
|
-
:tags
|
899
|
+
:tags,
|
900
|
+
:multi_region)
|
833
901
|
SENSITIVE = []
|
834
902
|
include Aws::Structure
|
835
903
|
end
|
@@ -1099,8 +1167,12 @@ module Aws::KMS
|
|
1099
1167
|
# @!attribute [rw] grant_tokens
|
1100
1168
|
# A list of grant tokens.
|
1101
1169
|
#
|
1102
|
-
#
|
1103
|
-
#
|
1170
|
+
# Use a grant token when your permission to call this operation comes
|
1171
|
+
# from a newly created grant that has not yet achieved eventual
|
1172
|
+
# consistency. Use a grant token when your permission to call this
|
1173
|
+
# operation comes from a new grant that has not yet achieved *eventual
|
1174
|
+
# consistency*. For more information, see [Grant token][1] in the *AWS
|
1175
|
+
# Key Management Service Developer Guide*.
|
1104
1176
|
#
|
1105
1177
|
#
|
1106
1178
|
#
|
@@ -1118,10 +1190,10 @@ module Aws::KMS
|
|
1118
1190
|
# blob. However, it is always recommended as a best practice. This
|
1119
1191
|
# practice ensures that you use the CMK that you intend.
|
1120
1192
|
#
|
1121
|
-
# To specify a CMK, use its key ID,
|
1122
|
-
#
|
1123
|
-
#
|
1124
|
-
#
|
1193
|
+
# To specify a CMK, use its key ID, key ARN, alias name, or alias ARN.
|
1194
|
+
# When using an alias name, prefix it with `"alias/"`. To specify a
|
1195
|
+
# CMK in a different AWS account, you must use the key ARN or alias
|
1196
|
+
# ARN.
|
1125
1197
|
#
|
1126
1198
|
# For example:
|
1127
1199
|
#
|
@@ -1245,7 +1317,7 @@ module Aws::KMS
|
|
1245
1317
|
# Identifies the CMK from which you are deleting imported key
|
1246
1318
|
# material. The `Origin` of the CMK must be `EXTERNAL`.
|
1247
1319
|
#
|
1248
|
-
# Specify the key ID or
|
1320
|
+
# Specify the key ID or key ARN of the CMK.
|
1249
1321
|
#
|
1250
1322
|
# For example:
|
1251
1323
|
#
|
@@ -1295,7 +1367,7 @@ module Aws::KMS
|
|
1295
1367
|
# the key store ID.
|
1296
1368
|
#
|
1297
1369
|
# By default, this operation gets information about all custom key
|
1298
|
-
# stores in the account and
|
1370
|
+
# stores in the account and Region. To limit the output to a
|
1299
1371
|
# particular custom key store, you can use either the
|
1300
1372
|
# `CustomKeyStoreId` or `CustomKeyStoreName` parameter, but not both.
|
1301
1373
|
# @return [String]
|
@@ -1305,7 +1377,7 @@ module Aws::KMS
|
|
1305
1377
|
# the friendly name of the custom key store.
|
1306
1378
|
#
|
1307
1379
|
# By default, this operation gets information about all custom key
|
1308
|
-
# stores in the account and
|
1380
|
+
# stores in the account and Region. To limit the output to a
|
1309
1381
|
# particular custom key store, you can use either the
|
1310
1382
|
# `CustomKeyStoreId` or `CustomKeyStoreName` parameter, but not both.
|
1311
1383
|
# @return [String]
|
@@ -1374,10 +1446,10 @@ module Aws::KMS
|
|
1374
1446
|
# KMS associates the alias with an [AWS managed CMK][1] and returns
|
1375
1447
|
# its `KeyId` and `Arn` in the response.
|
1376
1448
|
#
|
1377
|
-
# To specify a CMK, use its key ID,
|
1378
|
-
#
|
1379
|
-
#
|
1380
|
-
#
|
1449
|
+
# To specify a CMK, use its key ID, key ARN, alias name, or alias ARN.
|
1450
|
+
# When using an alias name, prefix it with `"alias/"`. To specify a
|
1451
|
+
# CMK in a different AWS account, you must use the key ARN or alias
|
1452
|
+
# ARN.
|
1381
1453
|
#
|
1382
1454
|
# For example:
|
1383
1455
|
#
|
@@ -1401,7 +1473,9 @@ module Aws::KMS
|
|
1401
1473
|
# @!attribute [rw] grant_tokens
|
1402
1474
|
# A list of grant tokens.
|
1403
1475
|
#
|
1404
|
-
#
|
1476
|
+
# Use a grant token when your permission to call this operation comes
|
1477
|
+
# from a new grant that has not yet achieved *eventual consistency*.
|
1478
|
+
# For more information, see [Grant token][1] in the *AWS Key
|
1405
1479
|
# Management Service Developer Guide*.
|
1406
1480
|
#
|
1407
1481
|
#
|
@@ -1438,9 +1512,9 @@ module Aws::KMS
|
|
1438
1512
|
# }
|
1439
1513
|
#
|
1440
1514
|
# @!attribute [rw] key_id
|
1441
|
-
#
|
1515
|
+
# Identifies the customer master key (CMK) to disable.
|
1442
1516
|
#
|
1443
|
-
# Specify the key ID or
|
1517
|
+
# Specify the key ID or key ARN of the CMK.
|
1444
1518
|
#
|
1445
1519
|
# For example:
|
1446
1520
|
#
|
@@ -1473,7 +1547,7 @@ module Aws::KMS
|
|
1473
1547
|
# or disable automatic rotation of [asymmetric CMKs][1], CMKs with
|
1474
1548
|
# [imported key material][2], or CMKs in a [custom key store][3].
|
1475
1549
|
#
|
1476
|
-
# Specify the key ID or
|
1550
|
+
# Specify the key ID or key ARN of the CMK.
|
1477
1551
|
#
|
1478
1552
|
# For example:
|
1479
1553
|
#
|
@@ -1546,9 +1620,9 @@ module Aws::KMS
|
|
1546
1620
|
# }
|
1547
1621
|
#
|
1548
1622
|
# @!attribute [rw] key_id
|
1549
|
-
#
|
1623
|
+
# Identifies the customer master key (CMK) to enable.
|
1550
1624
|
#
|
1551
|
-
# Specify the key ID or
|
1625
|
+
# Specify the key ID or key ARN of the CMK.
|
1552
1626
|
#
|
1553
1627
|
# For example:
|
1554
1628
|
#
|
@@ -1578,10 +1652,12 @@ module Aws::KMS
|
|
1578
1652
|
#
|
1579
1653
|
# @!attribute [rw] key_id
|
1580
1654
|
# Identifies a symmetric customer master key (CMK). You cannot enable
|
1581
|
-
# automatic rotation of asymmetric CMKs, CMKs with imported key
|
1582
|
-
# material, or CMKs in a [custom key store][
|
1655
|
+
# automatic rotation of [asymmetric CMKs][1], CMKs with [imported key
|
1656
|
+
# material][2], or CMKs in a [custom key store][3]. To enable or
|
1657
|
+
# disable automatic rotation of a set of related [multi-Region
|
1658
|
+
# keys][4], set the property on the primary key.
|
1583
1659
|
#
|
1584
|
-
# Specify the key ID or
|
1660
|
+
# Specify the key ID or key ARN of the CMK.
|
1585
1661
|
#
|
1586
1662
|
# For example:
|
1587
1663
|
#
|
@@ -1595,7 +1671,10 @@ module Aws::KMS
|
|
1595
1671
|
#
|
1596
1672
|
#
|
1597
1673
|
#
|
1598
|
-
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/
|
1674
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-concepts.html#asymmetric-cmks
|
1675
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
|
1676
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html
|
1677
|
+
# [4]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html#mrk-replica-key
|
1599
1678
|
# @return [String]
|
1600
1679
|
#
|
1601
1680
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/EnableKeyRotationRequest AWS API Documentation
|
@@ -1620,12 +1699,13 @@ module Aws::KMS
|
|
1620
1699
|
# }
|
1621
1700
|
#
|
1622
1701
|
# @!attribute [rw] key_id
|
1623
|
-
#
|
1702
|
+
# Identifies the customer master key (CMK) to use in the encryption
|
1703
|
+
# operation.
|
1624
1704
|
#
|
1625
|
-
# To specify a CMK, use its key ID,
|
1626
|
-
#
|
1627
|
-
#
|
1628
|
-
#
|
1705
|
+
# To specify a CMK, use its key ID, key ARN, alias name, or alias ARN.
|
1706
|
+
# When using an alias name, prefix it with `"alias/"`. To specify a
|
1707
|
+
# CMK in a different AWS account, you must use the key ARN or alias
|
1708
|
+
# ARN.
|
1629
1709
|
#
|
1630
1710
|
# For example:
|
1631
1711
|
#
|
@@ -1672,7 +1752,9 @@ module Aws::KMS
|
|
1672
1752
|
# @!attribute [rw] grant_tokens
|
1673
1753
|
# A list of grant tokens.
|
1674
1754
|
#
|
1675
|
-
#
|
1755
|
+
# Use a grant token when your permission to call this operation comes
|
1756
|
+
# from a new grant that has not yet achieved *eventual consistency*.
|
1757
|
+
# For more information, see [Grant token][1] in the *AWS Key
|
1676
1758
|
# Management Service Developer Guide*.
|
1677
1759
|
#
|
1678
1760
|
#
|
@@ -1784,10 +1866,10 @@ module Aws::KMS
|
|
1784
1866
|
# custom key store. To get the type and origin of your CMK, use the
|
1785
1867
|
# DescribeKey operation.
|
1786
1868
|
#
|
1787
|
-
# To specify a CMK, use its key ID,
|
1788
|
-
#
|
1789
|
-
#
|
1790
|
-
#
|
1869
|
+
# To specify a CMK, use its key ID, key ARN, alias name, or alias ARN.
|
1870
|
+
# When using an alias name, prefix it with `"alias/"`. To specify a
|
1871
|
+
# CMK in a different AWS account, you must use the key ARN or alias
|
1872
|
+
# ARN.
|
1791
1873
|
#
|
1792
1874
|
# For example:
|
1793
1875
|
#
|
@@ -1816,7 +1898,9 @@ module Aws::KMS
|
|
1816
1898
|
# @!attribute [rw] grant_tokens
|
1817
1899
|
# A list of grant tokens.
|
1818
1900
|
#
|
1819
|
-
#
|
1901
|
+
# Use a grant token when your permission to call this operation comes
|
1902
|
+
# from a new grant that has not yet achieved *eventual consistency*.
|
1903
|
+
# For more information, see [Grant token][1] in the *AWS Key
|
1820
1904
|
# Management Service Developer Guide*.
|
1821
1905
|
#
|
1822
1906
|
#
|
@@ -1913,10 +1997,10 @@ module Aws::KMS
|
|
1913
1997
|
# CMK or a CMK in a custom key store. To get the type and origin of
|
1914
1998
|
# your CMK, use the DescribeKey operation.
|
1915
1999
|
#
|
1916
|
-
# To specify a CMK, use its key ID,
|
1917
|
-
#
|
1918
|
-
#
|
1919
|
-
#
|
2000
|
+
# To specify a CMK, use its key ID, key ARN, alias name, or alias ARN.
|
2001
|
+
# When using an alias name, prefix it with `"alias/"`. To specify a
|
2002
|
+
# CMK in a different AWS account, you must use the key ARN or alias
|
2003
|
+
# ARN.
|
1920
2004
|
#
|
1921
2005
|
# For example:
|
1922
2006
|
#
|
@@ -1945,7 +2029,9 @@ module Aws::KMS
|
|
1945
2029
|
# @!attribute [rw] grant_tokens
|
1946
2030
|
# A list of grant tokens.
|
1947
2031
|
#
|
1948
|
-
#
|
2032
|
+
# Use a grant token when your permission to call this operation comes
|
2033
|
+
# from a new grant that has not yet achieved *eventual consistency*.
|
2034
|
+
# For more information, see [Grant token][1] in the *AWS Key
|
1949
2035
|
# Management Service Developer Guide*.
|
1950
2036
|
#
|
1951
2037
|
#
|
@@ -2014,10 +2100,10 @@ module Aws::KMS
|
|
2014
2100
|
# @!attribute [rw] key_id
|
2015
2101
|
# Identifies the symmetric CMK that encrypts the data key.
|
2016
2102
|
#
|
2017
|
-
# To specify a CMK, use its key ID,
|
2018
|
-
#
|
2019
|
-
#
|
2020
|
-
#
|
2103
|
+
# To specify a CMK, use its key ID, key ARN, alias name, or alias ARN.
|
2104
|
+
# When using an alias name, prefix it with `"alias/"`. To specify a
|
2105
|
+
# CMK in a different AWS account, you must use the key ARN or alias
|
2106
|
+
# ARN.
|
2021
2107
|
#
|
2022
2108
|
# For example:
|
2023
2109
|
#
|
@@ -2075,7 +2161,9 @@ module Aws::KMS
|
|
2075
2161
|
# @!attribute [rw] grant_tokens
|
2076
2162
|
# A list of grant tokens.
|
2077
2163
|
#
|
2078
|
-
#
|
2164
|
+
# Use a grant token when your permission to call this operation comes
|
2165
|
+
# from a new grant that has not yet achieved *eventual consistency*.
|
2166
|
+
# For more information, see [Grant token][1] in the *AWS Key
|
2079
2167
|
# Management Service Developer Guide*.
|
2080
2168
|
#
|
2081
2169
|
#
|
@@ -2144,10 +2232,10 @@ module Aws::KMS
|
|
2144
2232
|
# The identifier of the symmetric customer master key (CMK) that
|
2145
2233
|
# encrypts the data key.
|
2146
2234
|
#
|
2147
|
-
# To specify a CMK, use its key ID,
|
2148
|
-
#
|
2149
|
-
#
|
2150
|
-
#
|
2235
|
+
# To specify a CMK, use its key ID, key ARN, alias name, or alias ARN.
|
2236
|
+
# When using an alias name, prefix it with `"alias/"`. To specify a
|
2237
|
+
# CMK in a different AWS account, you must use the key ARN or alias
|
2238
|
+
# ARN.
|
2151
2239
|
#
|
2152
2240
|
# For example:
|
2153
2241
|
#
|
@@ -2198,7 +2286,9 @@ module Aws::KMS
|
|
2198
2286
|
# @!attribute [rw] grant_tokens
|
2199
2287
|
# A list of grant tokens.
|
2200
2288
|
#
|
2201
|
-
#
|
2289
|
+
# Use a grant token when your permission to call this operation comes
|
2290
|
+
# from a new grant that has not yet achieved *eventual consistency*.
|
2291
|
+
# For more information, see [Grant token][1] in the *AWS Key
|
2202
2292
|
# Management Service Developer Guide*.
|
2203
2293
|
#
|
2204
2294
|
#
|
@@ -2294,9 +2384,9 @@ module Aws::KMS
|
|
2294
2384
|
# }
|
2295
2385
|
#
|
2296
2386
|
# @!attribute [rw] key_id
|
2297
|
-
#
|
2387
|
+
# Gets the key policy for the specified customer master key (CMK).
|
2298
2388
|
#
|
2299
|
-
# Specify the key ID or
|
2389
|
+
# Specify the key ID or key ARN of the CMK.
|
2300
2390
|
#
|
2301
2391
|
# For example:
|
2302
2392
|
#
|
@@ -2343,10 +2433,11 @@ module Aws::KMS
|
|
2343
2433
|
# }
|
2344
2434
|
#
|
2345
2435
|
# @!attribute [rw] key_id
|
2346
|
-
#
|
2436
|
+
# Gets the rotation status for the specified customer master key
|
2437
|
+
# (CMK).
|
2347
2438
|
#
|
2348
|
-
# Specify the key ID or
|
2349
|
-
#
|
2439
|
+
# Specify the key ID or key ARN of the CMK. To specify a CMK in a
|
2440
|
+
# different AWS account, you must use the key ARN.
|
2350
2441
|
#
|
2351
2442
|
# For example:
|
2352
2443
|
#
|
@@ -2392,7 +2483,7 @@ module Aws::KMS
|
|
2392
2483
|
# The identifier of the symmetric CMK into which you will import key
|
2393
2484
|
# material. The `Origin` of the CMK must be `EXTERNAL`.
|
2394
2485
|
#
|
2395
|
-
# Specify the key ID or
|
2486
|
+
# Specify the key ID or key ARN of the CMK.
|
2396
2487
|
#
|
2397
2488
|
# For example:
|
2398
2489
|
#
|
@@ -2479,10 +2570,10 @@ module Aws::KMS
|
|
2479
2570
|
# @!attribute [rw] key_id
|
2480
2571
|
# Identifies the asymmetric CMK that includes the public key.
|
2481
2572
|
#
|
2482
|
-
# To specify a CMK, use its key ID,
|
2483
|
-
#
|
2484
|
-
#
|
2485
|
-
#
|
2573
|
+
# To specify a CMK, use its key ID, key ARN, alias name, or alias ARN.
|
2574
|
+
# When using an alias name, prefix it with `"alias/"`. To specify a
|
2575
|
+
# CMK in a different AWS account, you must use the key ARN or alias
|
2576
|
+
# ARN.
|
2486
2577
|
#
|
2487
2578
|
# For example:
|
2488
2579
|
#
|
@@ -2502,7 +2593,9 @@ module Aws::KMS
|
|
2502
2593
|
# @!attribute [rw] grant_tokens
|
2503
2594
|
# A list of grant tokens.
|
2504
2595
|
#
|
2505
|
-
#
|
2596
|
+
# Use a grant token when your permission to call this operation comes
|
2597
|
+
# from a new grant that has not yet achieved *eventual consistency*.
|
2598
|
+
# For more information, see [Grant token][1] in the *AWS Key
|
2506
2599
|
# Management Service Developer Guide*.
|
2507
2600
|
#
|
2508
2601
|
#
|
@@ -2750,7 +2843,7 @@ module Aws::KMS
|
|
2750
2843
|
# same CMK specified in the `KeyID` parameter of the corresponding
|
2751
2844
|
# GetParametersForImport request.
|
2752
2845
|
#
|
2753
|
-
# Specify the key ID or
|
2846
|
+
# Specify the key ID or key ARN of the CMK.
|
2754
2847
|
#
|
2755
2848
|
# For example:
|
2756
2849
|
#
|
@@ -3120,8 +3213,14 @@ module Aws::KMS
|
|
3120
3213
|
# @return [String]
|
3121
3214
|
#
|
3122
3215
|
# @!attribute [rw] deletion_date
|
3123
|
-
# The date and time after which AWS KMS deletes
|
3124
|
-
# present only when
|
3216
|
+
# The date and time after which AWS KMS deletes this CMK. This value
|
3217
|
+
# is present only when the CMK is scheduled for deletion, that is,
|
3218
|
+
# when its `KeyState` is `PendingDeletion`.
|
3219
|
+
#
|
3220
|
+
# When the primary key in a multi-Region key is scheduled for deletion
|
3221
|
+
# but still has replica keys, its key state is
|
3222
|
+
# `PendingReplicaDeletion` and the length of its waiting period is
|
3223
|
+
# displayed in the `PendingDeletionWindowInDays` field.
|
3125
3224
|
# @return [Time]
|
3126
3225
|
#
|
3127
3226
|
# @!attribute [rw] valid_to
|
@@ -3188,7 +3287,7 @@ module Aws::KMS
|
|
3188
3287
|
# The encryption algorithms that the CMK supports. You cannot use the
|
3189
3288
|
# CMK with other encryption algorithms within AWS KMS.
|
3190
3289
|
#
|
3191
|
-
# This
|
3290
|
+
# This value is present only when the `KeyUsage` of the CMK is
|
3192
3291
|
# `ENCRYPT_DECRYPT`.
|
3193
3292
|
# @return [Array<String>]
|
3194
3293
|
#
|
@@ -3200,6 +3299,57 @@ module Aws::KMS
|
|
3200
3299
|
# `SIGN_VERIFY`.
|
3201
3300
|
# @return [Array<String>]
|
3202
3301
|
#
|
3302
|
+
# @!attribute [rw] multi_region
|
3303
|
+
# Indicates whether the CMK is a multi-Region (`True`) or regional
|
3304
|
+
# (`False`) key. This value is `True` for multi-Region primary and
|
3305
|
+
# replica CMKs and `False` for regional CMKs.
|
3306
|
+
#
|
3307
|
+
# For more information about multi-Region keys, see [Using
|
3308
|
+
# multi-Region keys][1] in the *AWS Key Management Service Developer
|
3309
|
+
# Guide*.
|
3310
|
+
#
|
3311
|
+
#
|
3312
|
+
#
|
3313
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html
|
3314
|
+
# @return [Boolean]
|
3315
|
+
#
|
3316
|
+
# @!attribute [rw] multi_region_configuration
|
3317
|
+
# Lists the primary and replica CMKs in same multi-Region CMK. This
|
3318
|
+
# field is present only when the value of the `MultiRegion` field is
|
3319
|
+
# `True`.
|
3320
|
+
#
|
3321
|
+
# For more information about any listed CMK, use the DescribeKey
|
3322
|
+
# operation.
|
3323
|
+
#
|
3324
|
+
# * `MultiRegionKeyType` indicates whether the CMK is a `PRIMARY` or
|
3325
|
+
# `REPLICA` key.
|
3326
|
+
#
|
3327
|
+
# * `PrimaryKey` displays the key ARN and Region of the primary key.
|
3328
|
+
# This field displays the current CMK if it is the primary key.
|
3329
|
+
#
|
3330
|
+
# * `ReplicaKeys` displays the key ARNs and Regions of all replica
|
3331
|
+
# keys. This field includes the current CMK if it is a replica key.
|
3332
|
+
# @return [Types::MultiRegionConfiguration]
|
3333
|
+
#
|
3334
|
+
# @!attribute [rw] pending_deletion_window_in_days
|
3335
|
+
# The waiting period before the primary key in a multi-Region key is
|
3336
|
+
# deleted. This waiting period begins when the last of its replica
|
3337
|
+
# keys is deleted. This value is present only when the `KeyState` of
|
3338
|
+
# the CMK is `PendingReplicaDeletion`. That indicates that the CMK is
|
3339
|
+
# the primary key in a multi-Region key, it is scheduled for deletion,
|
3340
|
+
# and it still has existing replica keys.
|
3341
|
+
#
|
3342
|
+
# When a regional CMK or a replica key in a multi-Region key is
|
3343
|
+
# scheduled for deletion, its deletion date is displayed in the
|
3344
|
+
# `DeletionDate` field. However, when the primary key in a
|
3345
|
+
# multi-Region key is scheduled for deletion, its waiting period
|
3346
|
+
# doesn't begin until all of its replica keys are deleted. This value
|
3347
|
+
# displays that waiting period. When the last replica key in the
|
3348
|
+
# multi-Region key is deleted, the `KeyState` of the scheduled primary
|
3349
|
+
# key changes from `PendingReplicaDeletion` to `PendingDeletion` and
|
3350
|
+
# the deletion date appears in the `DeletionDate` field.
|
3351
|
+
# @return [Integer]
|
3352
|
+
#
|
3203
3353
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/KeyMetadata AWS API Documentation
|
3204
3354
|
#
|
3205
3355
|
class KeyMetadata < Struct.new(
|
@@ -3220,7 +3370,10 @@ module Aws::KMS
|
|
3220
3370
|
:key_manager,
|
3221
3371
|
:customer_master_key_spec,
|
3222
3372
|
:encryption_algorithms,
|
3223
|
-
:signing_algorithms
|
3373
|
+
:signing_algorithms,
|
3374
|
+
:multi_region,
|
3375
|
+
:multi_region_configuration,
|
3376
|
+
:pending_deletion_window_in_days)
|
3224
3377
|
SENSITIVE = []
|
3225
3378
|
include Aws::Structure
|
3226
3379
|
end
|
@@ -3274,7 +3427,7 @@ module Aws::KMS
|
|
3274
3427
|
# This parameter is optional. If you omit it, `ListAliases` returns
|
3275
3428
|
# all aliases in the account and Region.
|
3276
3429
|
#
|
3277
|
-
# Specify the key ID or
|
3430
|
+
# Specify the key ID or key ARN of the CMK.
|
3278
3431
|
#
|
3279
3432
|
# For example:
|
3280
3433
|
#
|
@@ -3346,6 +3499,8 @@ module Aws::KMS
|
|
3346
3499
|
# limit: 1,
|
3347
3500
|
# marker: "MarkerType",
|
3348
3501
|
# key_id: "KeyIdType", # required
|
3502
|
+
# grant_id: "GrantIdType",
|
3503
|
+
# grantee_principal: "PrincipalIdType",
|
3349
3504
|
# }
|
3350
3505
|
#
|
3351
3506
|
# @!attribute [rw] limit
|
@@ -3365,10 +3520,11 @@ module Aws::KMS
|
|
3365
3520
|
# @return [String]
|
3366
3521
|
#
|
3367
3522
|
# @!attribute [rw] key_id
|
3368
|
-
#
|
3523
|
+
# Returns only grants for the specified customer master key (CMK).
|
3524
|
+
# This parameter is required.
|
3369
3525
|
#
|
3370
|
-
# Specify the key ID or
|
3371
|
-
#
|
3526
|
+
# Specify the key ID or key ARN of the CMK. To specify a CMK in a
|
3527
|
+
# different AWS account, you must use the key ARN.
|
3372
3528
|
#
|
3373
3529
|
# For example:
|
3374
3530
|
#
|
@@ -3381,12 +3537,24 @@ module Aws::KMS
|
|
3381
3537
|
# DescribeKey.
|
3382
3538
|
# @return [String]
|
3383
3539
|
#
|
3540
|
+
# @!attribute [rw] grant_id
|
3541
|
+
# Returns only the grant with the specified grant ID. The grant ID
|
3542
|
+
# uniquely identifies the grant.
|
3543
|
+
# @return [String]
|
3544
|
+
#
|
3545
|
+
# @!attribute [rw] grantee_principal
|
3546
|
+
# Returns only grants where the specified principal is the grantee
|
3547
|
+
# principal for the grant.
|
3548
|
+
# @return [String]
|
3549
|
+
#
|
3384
3550
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ListGrantsRequest AWS API Documentation
|
3385
3551
|
#
|
3386
3552
|
class ListGrantsRequest < Struct.new(
|
3387
3553
|
:limit,
|
3388
3554
|
:marker,
|
3389
|
-
:key_id
|
3555
|
+
:key_id,
|
3556
|
+
:grant_id,
|
3557
|
+
:grantee_principal)
|
3390
3558
|
SENSITIVE = []
|
3391
3559
|
include Aws::Structure
|
3392
3560
|
end
|
@@ -3427,9 +3595,10 @@ module Aws::KMS
|
|
3427
3595
|
# }
|
3428
3596
|
#
|
3429
3597
|
# @!attribute [rw] key_id
|
3430
|
-
#
|
3598
|
+
# Gets the names of key policies for the specified customer master key
|
3599
|
+
# (CMK).
|
3431
3600
|
#
|
3432
|
-
# Specify the key ID or
|
3601
|
+
# Specify the key ID or key ARN of the CMK.
|
3433
3602
|
#
|
3434
3603
|
# For example:
|
3435
3604
|
#
|
@@ -3565,9 +3734,9 @@ module Aws::KMS
|
|
3565
3734
|
# }
|
3566
3735
|
#
|
3567
3736
|
# @!attribute [rw] key_id
|
3568
|
-
#
|
3737
|
+
# Gets tags on the specified customer master key (CMK).
|
3569
3738
|
#
|
3570
|
-
# Specify the key ID or
|
3739
|
+
# Specify the key ID or key ARN of the CMK.
|
3571
3740
|
#
|
3572
3741
|
# For example:
|
3573
3742
|
#
|
@@ -3610,6 +3779,16 @@ module Aws::KMS
|
|
3610
3779
|
|
3611
3780
|
# @!attribute [rw] tags
|
3612
3781
|
# A list of tags. Each tag consists of a tag key and a tag value.
|
3782
|
+
#
|
3783
|
+
# <note markdown="1"> Tagging or untagging a CMK can allow or deny permission to the CMK.
|
3784
|
+
# For details, see [Using ABAC in AWS KMS][1] in the *AWS Key
|
3785
|
+
# Management Service Developer Guide*.
|
3786
|
+
#
|
3787
|
+
# </note>
|
3788
|
+
#
|
3789
|
+
#
|
3790
|
+
#
|
3791
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/abac.html
|
3613
3792
|
# @return [Array<Types::Tag>]
|
3614
3793
|
#
|
3615
3794
|
# @!attribute [rw] next_marker
|
@@ -3702,6 +3881,58 @@ module Aws::KMS
|
|
3702
3881
|
include Aws::Structure
|
3703
3882
|
end
|
3704
3883
|
|
3884
|
+
# Describes the configuration of this multi-Region CMK. This field
|
3885
|
+
# appears only when the CMK is a primary or replica of a multi-Region
|
3886
|
+
# CMK.
|
3887
|
+
#
|
3888
|
+
# For more information about any listed CMK, use the DescribeKey
|
3889
|
+
# operation.
|
3890
|
+
#
|
3891
|
+
# @!attribute [rw] multi_region_key_type
|
3892
|
+
# Indicates whether the CMK is a `PRIMARY` or `REPLICA` key.
|
3893
|
+
# @return [String]
|
3894
|
+
#
|
3895
|
+
# @!attribute [rw] primary_key
|
3896
|
+
# Displays the key ARN and Region of the primary key. This field
|
3897
|
+
# includes the current CMK if it is the primary key.
|
3898
|
+
# @return [Types::MultiRegionKey]
|
3899
|
+
#
|
3900
|
+
# @!attribute [rw] replica_keys
|
3901
|
+
# displays the key ARNs and Regions of all replica keys. This field
|
3902
|
+
# includes the current CMK if it is a replica key.
|
3903
|
+
# @return [Array<Types::MultiRegionKey>]
|
3904
|
+
#
|
3905
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/MultiRegionConfiguration AWS API Documentation
|
3906
|
+
#
|
3907
|
+
class MultiRegionConfiguration < Struct.new(
|
3908
|
+
:multi_region_key_type,
|
3909
|
+
:primary_key,
|
3910
|
+
:replica_keys)
|
3911
|
+
SENSITIVE = []
|
3912
|
+
include Aws::Structure
|
3913
|
+
end
|
3914
|
+
|
3915
|
+
# Describes the primary or replica key in a multi-Region key.
|
3916
|
+
#
|
3917
|
+
# @!attribute [rw] arn
|
3918
|
+
# Displays the key ARN of a primary or replica key of a multi-Region
|
3919
|
+
# key.
|
3920
|
+
# @return [String]
|
3921
|
+
#
|
3922
|
+
# @!attribute [rw] region
|
3923
|
+
# Displays the AWS Region of a primary or replica key in a
|
3924
|
+
# multi-Region key.
|
3925
|
+
# @return [String]
|
3926
|
+
#
|
3927
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/MultiRegionKey AWS API Documentation
|
3928
|
+
#
|
3929
|
+
class MultiRegionKey < Struct.new(
|
3930
|
+
:arn,
|
3931
|
+
:region)
|
3932
|
+
SENSITIVE = []
|
3933
|
+
include Aws::Structure
|
3934
|
+
end
|
3935
|
+
|
3705
3936
|
# The request was rejected because the specified entity or resource
|
3706
3937
|
# could not be found.
|
3707
3938
|
#
|
@@ -3727,9 +3958,9 @@ module Aws::KMS
|
|
3727
3958
|
# }
|
3728
3959
|
#
|
3729
3960
|
# @!attribute [rw] key_id
|
3730
|
-
#
|
3961
|
+
# Sets the key policy on the specified customer master key (CMK).
|
3731
3962
|
#
|
3732
|
-
# Specify the key ID or
|
3963
|
+
# Specify the key ID or key ARN of the CMK.
|
3733
3964
|
#
|
3734
3965
|
# For example:
|
3735
3966
|
#
|
@@ -3866,10 +4097,10 @@ module Aws::KMS
|
|
3866
4097
|
# blob. However, it is always recommended as a best practice. This
|
3867
4098
|
# practice ensures that you use the CMK that you intend.
|
3868
4099
|
#
|
3869
|
-
# To specify a CMK, use its key ID,
|
3870
|
-
#
|
3871
|
-
#
|
3872
|
-
#
|
4100
|
+
# To specify a CMK, use its key ID, key ARN, alias name, or alias ARN.
|
4101
|
+
# When using an alias name, prefix it with `"alias/"`. To specify a
|
4102
|
+
# CMK in a different AWS account, you must use the key ARN or alias
|
4103
|
+
# ARN.
|
3873
4104
|
#
|
3874
4105
|
# For example:
|
3875
4106
|
#
|
@@ -3892,10 +4123,10 @@ module Aws::KMS
|
|
3892
4123
|
# `ENCRYPT_DECRYPT`. To find the `KeyUsage` value of a CMK, use the
|
3893
4124
|
# DescribeKey operation.
|
3894
4125
|
#
|
3895
|
-
# To specify a CMK, use its key ID,
|
3896
|
-
#
|
3897
|
-
#
|
3898
|
-
#
|
4126
|
+
# To specify a CMK, use its key ID, key ARN, alias name, or alias ARN.
|
4127
|
+
# When using an alias name, prefix it with `"alias/"`. To specify a
|
4128
|
+
# CMK in a different AWS account, you must use the key ARN or alias
|
4129
|
+
# ARN.
|
3899
4130
|
#
|
3900
4131
|
# For example:
|
3901
4132
|
#
|
@@ -3961,7 +4192,9 @@ module Aws::KMS
|
|
3961
4192
|
# @!attribute [rw] grant_tokens
|
3962
4193
|
# A list of grant tokens.
|
3963
4194
|
#
|
3964
|
-
#
|
4195
|
+
# Use a grant token when your permission to call this operation comes
|
4196
|
+
# from a new grant that has not yet achieved *eventual consistency*.
|
4197
|
+
# For more information, see [Grant token][1] in the *AWS Key
|
3965
4198
|
# Management Service Developer Guide*.
|
3966
4199
|
#
|
3967
4200
|
#
|
@@ -4023,6 +4256,221 @@ module Aws::KMS
|
|
4023
4256
|
include Aws::Structure
|
4024
4257
|
end
|
4025
4258
|
|
4259
|
+
# @note When making an API call, you may pass ReplicateKeyRequest
|
4260
|
+
# data as a hash:
|
4261
|
+
#
|
4262
|
+
# {
|
4263
|
+
# key_id: "KeyIdType", # required
|
4264
|
+
# replica_region: "RegionType", # required
|
4265
|
+
# policy: "PolicyType",
|
4266
|
+
# bypass_policy_lockout_safety_check: false,
|
4267
|
+
# description: "DescriptionType",
|
4268
|
+
# tags: [
|
4269
|
+
# {
|
4270
|
+
# tag_key: "TagKeyType", # required
|
4271
|
+
# tag_value: "TagValueType", # required
|
4272
|
+
# },
|
4273
|
+
# ],
|
4274
|
+
# }
|
4275
|
+
#
|
4276
|
+
# @!attribute [rw] key_id
|
4277
|
+
# Identifies the multi-Region primary key that is being replicated. To
|
4278
|
+
# determine whether a CMK is a multi-Region primary key, use the
|
4279
|
+
# DescribeKey operation to check the value of the `MultiRegionKeyType`
|
4280
|
+
# property.
|
4281
|
+
#
|
4282
|
+
# Specify the key ID or key ARN of a multi-Region primary key.
|
4283
|
+
#
|
4284
|
+
# For example:
|
4285
|
+
#
|
4286
|
+
# * Key ID: `mrk-1234abcd12ab34cd56ef1234567890ab`
|
4287
|
+
#
|
4288
|
+
# * Key ARN:
|
4289
|
+
# `arn:aws:kms:us-east-2:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab`
|
4290
|
+
#
|
4291
|
+
# To get the key ID and key ARN for a CMK, use ListKeys or
|
4292
|
+
# DescribeKey.
|
4293
|
+
# @return [String]
|
4294
|
+
#
|
4295
|
+
# @!attribute [rw] replica_region
|
4296
|
+
# The Region ID of the AWS Region for this replica key.
|
4297
|
+
#
|
4298
|
+
# Enter the Region ID, such as `us-east-1` or `ap-southeast-2`. For a
|
4299
|
+
# list of AWS Regions in which AWS KMS is supported, see [AWS KMS
|
4300
|
+
# service endpoints][1] in the *Amazon Web Services General
|
4301
|
+
# Reference*.
|
4302
|
+
#
|
4303
|
+
# The replica must be in a different AWS Region than its primary key
|
4304
|
+
# and other replicas of that primary key, but in the same AWS
|
4305
|
+
# partition. AWS KMS must be available in the replica Region. If the
|
4306
|
+
# Region is not enabled by default, the AWS account must be enabled in
|
4307
|
+
# the Region.
|
4308
|
+
#
|
4309
|
+
# For information about AWS partitions, see [Amazon Resource Names
|
4310
|
+
# (ARNs) in the *Amazon Web Services General Reference*.][2] For
|
4311
|
+
# information about enabling and disabling Regions, see [Enabling a
|
4312
|
+
# Region][3] and [Disabling a Region][4] in the *Amazon Web Services
|
4313
|
+
# General Reference*.
|
4314
|
+
#
|
4315
|
+
#
|
4316
|
+
#
|
4317
|
+
# [1]: https://docs.aws.amazon.com/general/latest/gr/kms.html#kms_region
|
4318
|
+
# [2]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
|
4319
|
+
# [3]: https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-enable
|
4320
|
+
# [4]: https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-disable
|
4321
|
+
# @return [String]
|
4322
|
+
#
|
4323
|
+
# @!attribute [rw] policy
|
4324
|
+
# The key policy to attach to the CMK. This parameter is optional. If
|
4325
|
+
# you do not provide a key policy, AWS KMS attaches the [default key
|
4326
|
+
# policy][1] to the CMK.
|
4327
|
+
#
|
4328
|
+
# The key policy is not a shared property of multi-Region keys. You
|
4329
|
+
# can specify the same key policy or a different key policy for each
|
4330
|
+
# key in a set of related multi-Region keys. AWS KMS does not
|
4331
|
+
# synchronize this property.
|
4332
|
+
#
|
4333
|
+
# If you provide a key policy, it must meet the following criteria:
|
4334
|
+
#
|
4335
|
+
# * If you don't set `BypassPolicyLockoutSafetyCheck` to true, the
|
4336
|
+
# key policy must give the caller `kms:PutKeyPolicy` permission on
|
4337
|
+
# the replica CMK. This reduces the risk that the CMK becomes
|
4338
|
+
# unmanageable. For more information, refer to the scenario in the
|
4339
|
+
# [Default Key Policy][2] section of the <i> <i>AWS Key Management
|
4340
|
+
# Service Developer Guide</i> </i>.
|
4341
|
+
#
|
4342
|
+
# * Each statement in the key policy must contain one or more
|
4343
|
+
# principals. The principals in the key policy must exist and be
|
4344
|
+
# visible to AWS KMS. When you create a new AWS principal (for
|
4345
|
+
# example, an IAM user or role), you might need to enforce a delay
|
4346
|
+
# before including the new principal in a key policy because the new
|
4347
|
+
# principal might not be immediately visible to AWS KMS. For more
|
4348
|
+
# information, see [Changes that I make are not always immediately
|
4349
|
+
# visible][3] in the *AWS Identity and Access Management User
|
4350
|
+
# Guide*.
|
4351
|
+
#
|
4352
|
+
# * The key policy size quota is 32 kilobytes (32768 bytes).
|
4353
|
+
#
|
4354
|
+
#
|
4355
|
+
#
|
4356
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default
|
4357
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam
|
4358
|
+
# [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency
|
4359
|
+
# @return [String]
|
4360
|
+
#
|
4361
|
+
# @!attribute [rw] bypass_policy_lockout_safety_check
|
4362
|
+
# A flag to indicate whether to bypass the key policy lockout safety
|
4363
|
+
# check.
|
4364
|
+
#
|
4365
|
+
# Setting this value to true increases the risk that the CMK becomes
|
4366
|
+
# unmanageable. Do not set this value to true indiscriminately.
|
4367
|
+
#
|
4368
|
+
# For more information, refer to the scenario in the [Default Key
|
4369
|
+
# Policy][1] section in the *AWS Key Management Service Developer
|
4370
|
+
# Guide*.
|
4371
|
+
#
|
4372
|
+
# Use this parameter only when you intend to prevent the principal
|
4373
|
+
# that is making the request from making a subsequent `PutKeyPolicy`
|
4374
|
+
# request on the CMK.
|
4375
|
+
#
|
4376
|
+
# The default value is false.
|
4377
|
+
#
|
4378
|
+
#
|
4379
|
+
#
|
4380
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam
|
4381
|
+
# @return [Boolean]
|
4382
|
+
#
|
4383
|
+
# @!attribute [rw] description
|
4384
|
+
# A description of the CMK. Use a description that helps you decide
|
4385
|
+
# whether the CMK is appropriate for a task. The default value is an
|
4386
|
+
# empty string (no description).
|
4387
|
+
#
|
4388
|
+
# The description is not a shared property of multi-Region keys. You
|
4389
|
+
# can specify the same description or a different description for each
|
4390
|
+
# key in a set of related multi-Region keys. AWS KMS does not
|
4391
|
+
# synchronize this property.
|
4392
|
+
# @return [String]
|
4393
|
+
#
|
4394
|
+
# @!attribute [rw] tags
|
4395
|
+
# Assigns one or more tags to the replica key. Use this parameter to
|
4396
|
+
# tag the CMK when it is created. To tag an existing CMK, use the
|
4397
|
+
# TagResource operation.
|
4398
|
+
#
|
4399
|
+
# <note markdown="1"> Tagging or untagging a CMK can allow or deny permission to the CMK.
|
4400
|
+
# For details, see [Using ABAC in AWS KMS][1] in the *AWS Key
|
4401
|
+
# Management Service Developer Guide*.
|
4402
|
+
#
|
4403
|
+
# </note>
|
4404
|
+
#
|
4405
|
+
# To use this parameter, you must have [kms:TagResource][2] permission
|
4406
|
+
# in an IAM policy.
|
4407
|
+
#
|
4408
|
+
# Tags are not a shared property of multi-Region keys. You can specify
|
4409
|
+
# the same tags or different tags for each key in a set of related
|
4410
|
+
# multi-Region keys. AWS KMS does not synchronize this property.
|
4411
|
+
#
|
4412
|
+
# Each tag consists of a tag key and a tag value. Both the tag key and
|
4413
|
+
# the tag value are required, but the tag value can be an empty (null)
|
4414
|
+
# string. You cannot have more than one tag on a CMK with the same tag
|
4415
|
+
# key. If you specify an existing tag key with a different tag value,
|
4416
|
+
# AWS KMS replaces the current tag value with the specified one.
|
4417
|
+
#
|
4418
|
+
# When you assign tags to an AWS resource, AWS generates a cost
|
4419
|
+
# allocation report with usage and costs aggregated by tags. Tags can
|
4420
|
+
# also be used to control access to a CMK. For details, see [Tagging
|
4421
|
+
# Keys][3].
|
4422
|
+
#
|
4423
|
+
#
|
4424
|
+
#
|
4425
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/abac.html
|
4426
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html
|
4427
|
+
# [3]: https://docs.aws.amazon.com/kms/latest/developerguide/tagging-keys.html
|
4428
|
+
# @return [Array<Types::Tag>]
|
4429
|
+
#
|
4430
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ReplicateKeyRequest AWS API Documentation
|
4431
|
+
#
|
4432
|
+
class ReplicateKeyRequest < Struct.new(
|
4433
|
+
:key_id,
|
4434
|
+
:replica_region,
|
4435
|
+
:policy,
|
4436
|
+
:bypass_policy_lockout_safety_check,
|
4437
|
+
:description,
|
4438
|
+
:tags)
|
4439
|
+
SENSITIVE = []
|
4440
|
+
include Aws::Structure
|
4441
|
+
end
|
4442
|
+
|
4443
|
+
# @!attribute [rw] replica_key_metadata
|
4444
|
+
# Displays details about the new replica CMK, including its Amazon
|
4445
|
+
# Resource Name ([key ARN][1]) and [key state][2]. It also includes
|
4446
|
+
# the ARN and AWS Region of its primary key and other replica keys.
|
4447
|
+
#
|
4448
|
+
#
|
4449
|
+
#
|
4450
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN
|
4451
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
4452
|
+
# @return [Types::KeyMetadata]
|
4453
|
+
#
|
4454
|
+
# @!attribute [rw] replica_policy
|
4455
|
+
# The key policy of the new replica key. The value is a key policy
|
4456
|
+
# document in JSON format.
|
4457
|
+
# @return [String]
|
4458
|
+
#
|
4459
|
+
# @!attribute [rw] replica_tags
|
4460
|
+
# The tags on the new replica key. The value is a list of tag key and
|
4461
|
+
# tag value pairs.
|
4462
|
+
# @return [Array<Types::Tag>]
|
4463
|
+
#
|
4464
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ReplicateKeyResponse AWS API Documentation
|
4465
|
+
#
|
4466
|
+
class ReplicateKeyResponse < Struct.new(
|
4467
|
+
:replica_key_metadata,
|
4468
|
+
:replica_policy,
|
4469
|
+
:replica_tags)
|
4470
|
+
SENSITIVE = []
|
4471
|
+
include Aws::Structure
|
4472
|
+
end
|
4473
|
+
|
4026
4474
|
# @note When making an API call, you may pass RetireGrantRequest
|
4027
4475
|
# data as a hash:
|
4028
4476
|
#
|
@@ -4033,19 +4481,31 @@ module Aws::KMS
|
|
4033
4481
|
# }
|
4034
4482
|
#
|
4035
4483
|
# @!attribute [rw] grant_token
|
4036
|
-
#
|
4484
|
+
# Identifies the grant to be retired. You can use a grant token to
|
4485
|
+
# identify a new grant even before it has achieved eventual
|
4486
|
+
# consistency.
|
4487
|
+
#
|
4488
|
+
# Only the CreateGrant operation returns a grant token. For details,
|
4489
|
+
# see [Grant token][1] and [Eventual consistency][2] in the *AWS Key
|
4490
|
+
# Management Service Developer Guide*.
|
4491
|
+
#
|
4492
|
+
#
|
4493
|
+
#
|
4494
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#grant_token
|
4495
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-eventual-consistency
|
4037
4496
|
# @return [String]
|
4038
4497
|
#
|
4039
4498
|
# @!attribute [rw] key_id
|
4040
|
-
# The
|
4499
|
+
# The key ARN CMK associated with the grant. To find the key ARN, use
|
4500
|
+
# the ListKeys operation.
|
4041
4501
|
#
|
4042
4502
|
# For example:
|
4043
4503
|
# `arn:aws:kms:us-east-2:444455556666:key/1234abcd-12ab-34cd-56ef-1234567890ab`
|
4044
4504
|
# @return [String]
|
4045
4505
|
#
|
4046
4506
|
# @!attribute [rw] grant_id
|
4047
|
-
#
|
4048
|
-
#
|
4507
|
+
# Identifies the grant to retire. To get the grant ID, use
|
4508
|
+
# CreateGrant, ListGrants, or ListRetirableGrants.
|
4049
4509
|
#
|
4050
4510
|
# * Grant ID Example -
|
4051
4511
|
# 0123456789012345678901234567890123456789012345678901234567890123
|
@@ -4072,11 +4532,12 @@ module Aws::KMS
|
|
4072
4532
|
# }
|
4073
4533
|
#
|
4074
4534
|
# @!attribute [rw] key_id
|
4075
|
-
# A unique identifier for the customer master key associated
|
4076
|
-
# grant.
|
4535
|
+
# A unique identifier for the customer master key (CMK) associated
|
4536
|
+
# with the grant. To get the key ID and key ARN for a CMK, use
|
4537
|
+
# ListKeys or DescribeKey.
|
4077
4538
|
#
|
4078
|
-
# Specify the key ID or
|
4079
|
-
#
|
4539
|
+
# Specify the key ID or key ARN of the CMK. To specify a CMK in a
|
4540
|
+
# different AWS account, you must use the key ARN.
|
4080
4541
|
#
|
4081
4542
|
# For example:
|
4082
4543
|
#
|
@@ -4090,7 +4551,8 @@ module Aws::KMS
|
|
4090
4551
|
# @return [String]
|
4091
4552
|
#
|
4092
4553
|
# @!attribute [rw] grant_id
|
4093
|
-
#
|
4554
|
+
# Identifies the grant to revoke. To get the grant ID, use
|
4555
|
+
# CreateGrant, ListGrants, or ListRetirableGrants.
|
4094
4556
|
# @return [String]
|
4095
4557
|
#
|
4096
4558
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/RevokeGrantRequest AWS API Documentation
|
@@ -4113,7 +4575,7 @@ module Aws::KMS
|
|
4113
4575
|
# @!attribute [rw] key_id
|
4114
4576
|
# The unique identifier of the customer master key (CMK) to delete.
|
4115
4577
|
#
|
4116
|
-
# Specify the key ID or
|
4578
|
+
# Specify the key ID or key ARN of the CMK.
|
4117
4579
|
#
|
4118
4580
|
# For example:
|
4119
4581
|
#
|
@@ -4130,6 +4592,10 @@ module Aws::KMS
|
|
4130
4592
|
# The waiting period, specified in number of days. After the waiting
|
4131
4593
|
# period ends, AWS KMS deletes the customer master key (CMK).
|
4132
4594
|
#
|
4595
|
+
# If the CMK is a multi-Region primary key with replicas, the waiting
|
4596
|
+
# period begins when the last of its replica keys is deleted.
|
4597
|
+
# Otherwise, the waiting period begins immediately.
|
4598
|
+
#
|
4133
4599
|
# This value is optional. If you include a value, it must be between 7
|
4134
4600
|
# and 30, inclusive. If you do not include a value, it defaults to 30.
|
4135
4601
|
# @return [Integer]
|
@@ -4155,13 +4621,39 @@ module Aws::KMS
|
|
4155
4621
|
# @!attribute [rw] deletion_date
|
4156
4622
|
# The date and time after which AWS KMS deletes the customer master
|
4157
4623
|
# key (CMK).
|
4624
|
+
#
|
4625
|
+
# If the CMK is a multi-Region primary key with replica keys, this
|
4626
|
+
# field does not appear. The deletion date for the primary key isn't
|
4627
|
+
# known until its last replica key is deleted.
|
4158
4628
|
# @return [Time]
|
4159
4629
|
#
|
4630
|
+
# @!attribute [rw] key_state
|
4631
|
+
# The current status of the CMK.
|
4632
|
+
#
|
4633
|
+
# For more information about how key state affects the use of a CMK,
|
4634
|
+
# see [Key state: Effect on your CMK][1] in the *AWS Key Management
|
4635
|
+
# Service Developer Guide*.
|
4636
|
+
#
|
4637
|
+
#
|
4638
|
+
#
|
4639
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html
|
4640
|
+
# @return [String]
|
4641
|
+
#
|
4642
|
+
# @!attribute [rw] pending_window_in_days
|
4643
|
+
# The waiting period before the CMK is deleted.
|
4644
|
+
#
|
4645
|
+
# If the CMK is a multi-Region primary key with replicas, the waiting
|
4646
|
+
# period begins when the last of its replica keys is deleted.
|
4647
|
+
# Otherwise, the waiting period begins immediately.
|
4648
|
+
# @return [Integer]
|
4649
|
+
#
|
4160
4650
|
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/ScheduleKeyDeletionResponse AWS API Documentation
|
4161
4651
|
#
|
4162
4652
|
class ScheduleKeyDeletionResponse < Struct.new(
|
4163
4653
|
:key_id,
|
4164
|
-
:deletion_date
|
4654
|
+
:deletion_date,
|
4655
|
+
:key_state,
|
4656
|
+
:pending_window_in_days)
|
4165
4657
|
SENSITIVE = []
|
4166
4658
|
include Aws::Structure
|
4167
4659
|
end
|
@@ -4183,10 +4675,10 @@ module Aws::KMS
|
|
4183
4675
|
# must be `SIGN_VERIFY`. To find the `KeyUsage` of a CMK, use the
|
4184
4676
|
# DescribeKey operation.
|
4185
4677
|
#
|
4186
|
-
# To specify a CMK, use its key ID,
|
4187
|
-
#
|
4188
|
-
#
|
4189
|
-
#
|
4678
|
+
# To specify a CMK, use its key ID, key ARN, alias name, or alias ARN.
|
4679
|
+
# When using an alias name, prefix it with `"alias/"`. To specify a
|
4680
|
+
# CMK in a different AWS account, you must use the key ARN or alias
|
4681
|
+
# ARN.
|
4190
4682
|
#
|
4191
4683
|
# For example:
|
4192
4684
|
#
|
@@ -4220,7 +4712,9 @@ module Aws::KMS
|
|
4220
4712
|
# @!attribute [rw] grant_tokens
|
4221
4713
|
# A list of grant tokens.
|
4222
4714
|
#
|
4223
|
-
#
|
4715
|
+
# Use a grant token when your permission to call this operation comes
|
4716
|
+
# from a new grant that has not yet achieved *eventual consistency*.
|
4717
|
+
# For more information, see [Grant token][1] in the *AWS Key
|
4224
4718
|
# Management Service Developer Guide*.
|
4225
4719
|
#
|
4226
4720
|
#
|
@@ -4357,7 +4851,7 @@ module Aws::KMS
|
|
4357
4851
|
# @!attribute [rw] key_id
|
4358
4852
|
# Identifies a customer managed CMK in the account and Region.
|
4359
4853
|
#
|
4360
|
-
# Specify the key ID or
|
4854
|
+
# Specify the key ID or key ARN of the CMK.
|
4361
4855
|
#
|
4362
4856
|
# For example:
|
4363
4857
|
#
|
@@ -4415,7 +4909,7 @@ module Aws::KMS
|
|
4415
4909
|
# @!attribute [rw] key_id
|
4416
4910
|
# Identifies the CMK from which you are removing tags.
|
4417
4911
|
#
|
4418
|
-
# Specify the key ID or
|
4912
|
+
# Specify the key ID or key ARN of the CMK.
|
4419
4913
|
#
|
4420
4914
|
# For example:
|
4421
4915
|
#
|
@@ -4466,7 +4960,7 @@ module Aws::KMS
|
|
4466
4960
|
# CMK (both symmetric or both asymmetric) and they must have the same
|
4467
4961
|
# key usage.
|
4468
4962
|
#
|
4469
|
-
# Specify the key ID or
|
4963
|
+
# Specify the key ID or key ARN of the CMK.
|
4470
4964
|
#
|
4471
4965
|
# For example:
|
4472
4966
|
#
|
@@ -4569,9 +5063,9 @@ module Aws::KMS
|
|
4569
5063
|
# }
|
4570
5064
|
#
|
4571
5065
|
# @!attribute [rw] key_id
|
4572
|
-
#
|
5066
|
+
# Updates the description of the specified customer master key (CMK).
|
4573
5067
|
#
|
4574
|
-
# Specify the key ID or
|
5068
|
+
# Specify the key ID or key ARN of the CMK.
|
4575
5069
|
#
|
4576
5070
|
# For example:
|
4577
5071
|
#
|
@@ -4597,6 +5091,49 @@ module Aws::KMS
|
|
4597
5091
|
include Aws::Structure
|
4598
5092
|
end
|
4599
5093
|
|
5094
|
+
# @note When making an API call, you may pass UpdatePrimaryRegionRequest
|
5095
|
+
# data as a hash:
|
5096
|
+
#
|
5097
|
+
# {
|
5098
|
+
# key_id: "KeyIdType", # required
|
5099
|
+
# primary_region: "RegionType", # required
|
5100
|
+
# }
|
5101
|
+
#
|
5102
|
+
# @!attribute [rw] key_id
|
5103
|
+
# Identifies the current primary key. When the operation completes,
|
5104
|
+
# this CMK will be a replica key.
|
5105
|
+
#
|
5106
|
+
# Specify the key ID or key ARN of a multi-Region primary key.
|
5107
|
+
#
|
5108
|
+
# For example:
|
5109
|
+
#
|
5110
|
+
# * Key ID: `mrk-1234abcd12ab34cd56ef1234567890ab`
|
5111
|
+
#
|
5112
|
+
# * Key ARN:
|
5113
|
+
# `arn:aws:kms:us-east-2:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab`
|
5114
|
+
#
|
5115
|
+
# To get the key ID and key ARN for a CMK, use ListKeys or
|
5116
|
+
# DescribeKey.
|
5117
|
+
# @return [String]
|
5118
|
+
#
|
5119
|
+
# @!attribute [rw] primary_region
|
5120
|
+
# The AWS Region of the new primary key. Enter the Region ID, such as
|
5121
|
+
# `us-east-1` or `ap-southeast-2`. There must be an existing replica
|
5122
|
+
# key in this Region.
|
5123
|
+
#
|
5124
|
+
# When the operation completes, the multi-Region key in this Region
|
5125
|
+
# will be the primary key.
|
5126
|
+
# @return [String]
|
5127
|
+
#
|
5128
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/kms-2014-11-01/UpdatePrimaryRegionRequest AWS API Documentation
|
5129
|
+
#
|
5130
|
+
class UpdatePrimaryRegionRequest < Struct.new(
|
5131
|
+
:key_id,
|
5132
|
+
:primary_region)
|
5133
|
+
SENSITIVE = []
|
5134
|
+
include Aws::Structure
|
5135
|
+
end
|
5136
|
+
|
4600
5137
|
# @note When making an API call, you may pass VerifyRequest
|
4601
5138
|
# data as a hash:
|
4602
5139
|
#
|
@@ -4615,10 +5152,10 @@ module Aws::KMS
|
|
4615
5152
|
# signature. If you specify a different CMK, the signature
|
4616
5153
|
# verification fails.
|
4617
5154
|
#
|
4618
|
-
# To specify a CMK, use its key ID,
|
4619
|
-
#
|
4620
|
-
#
|
4621
|
-
#
|
5155
|
+
# To specify a CMK, use its key ID, key ARN, alias name, or alias ARN.
|
5156
|
+
# When using an alias name, prefix it with `"alias/"`. To specify a
|
5157
|
+
# CMK in a different AWS account, you must use the key ARN or alias
|
5158
|
+
# ARN.
|
4622
5159
|
#
|
4623
5160
|
# For example:
|
4624
5161
|
#
|
@@ -4668,7 +5205,9 @@ module Aws::KMS
|
|
4668
5205
|
# @!attribute [rw] grant_tokens
|
4669
5206
|
# A list of grant tokens.
|
4670
5207
|
#
|
4671
|
-
#
|
5208
|
+
# Use a grant token when your permission to call this operation comes
|
5209
|
+
# from a new grant that has not yet achieved *eventual consistency*.
|
5210
|
+
# For more information, see [Grant token][1] in the *AWS Key
|
4672
5211
|
# Management Service Developer Guide*.
|
4673
5212
|
#
|
4674
5213
|
#
|