aws-sdk-kms 1.71.0 → 1.113.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.
@@ -7,6 +7,7 @@
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
10
+
10
11
  module Aws::KMS
11
12
  # @api private
12
13
  module ClientApi
@@ -21,6 +22,8 @@ module Aws::KMS
21
22
  AlreadyExistsException = Shapes::StructureShape.new(name: 'AlreadyExistsException')
22
23
  ArnType = Shapes::StringShape.new(name: 'ArnType')
23
24
  AttestationDocumentType = Shapes::BlobShape.new(name: 'AttestationDocumentType')
25
+ BackingKeyIdResponseType = Shapes::StringShape.new(name: 'BackingKeyIdResponseType')
26
+ BackingKeyIdType = Shapes::StringShape.new(name: 'BackingKeyIdType')
24
27
  BooleanType = Shapes::BooleanShape.new(name: 'BooleanType')
25
28
  CancelKeyDeletionRequest = Shapes::StructureShape.new(name: 'CancelKeyDeletionRequest')
26
29
  CancelKeyDeletionResponse = Shapes::StructureShape.new(name: 'CancelKeyDeletionResponse')
@@ -31,6 +34,7 @@ module Aws::KMS
31
34
  CloudHsmClusterNotActiveException = Shapes::StructureShape.new(name: 'CloudHsmClusterNotActiveException')
32
35
  CloudHsmClusterNotFoundException = Shapes::StructureShape.new(name: 'CloudHsmClusterNotFoundException')
33
36
  CloudHsmClusterNotRelatedException = Shapes::StructureShape.new(name: 'CloudHsmClusterNotRelatedException')
37
+ ConflictException = Shapes::StructureShape.new(name: 'ConflictException')
34
38
  ConnectCustomKeyStoreRequest = Shapes::StructureShape.new(name: 'ConnectCustomKeyStoreRequest')
35
39
  ConnectCustomKeyStoreResponse = Shapes::StructureShape.new(name: 'ConnectCustomKeyStoreResponse')
36
40
  ConnectionErrorCodeType = Shapes::StringShape.new(name: 'ConnectionErrorCodeType')
@@ -61,7 +65,10 @@ module Aws::KMS
61
65
  DeleteCustomKeyStoreRequest = Shapes::StructureShape.new(name: 'DeleteCustomKeyStoreRequest')
62
66
  DeleteCustomKeyStoreResponse = Shapes::StructureShape.new(name: 'DeleteCustomKeyStoreResponse')
63
67
  DeleteImportedKeyMaterialRequest = Shapes::StructureShape.new(name: 'DeleteImportedKeyMaterialRequest')
68
+ DeleteImportedKeyMaterialResponse = Shapes::StructureShape.new(name: 'DeleteImportedKeyMaterialResponse')
64
69
  DependencyTimeoutException = Shapes::StructureShape.new(name: 'DependencyTimeoutException')
70
+ DeriveSharedSecretRequest = Shapes::StructureShape.new(name: 'DeriveSharedSecretRequest')
71
+ DeriveSharedSecretResponse = Shapes::StructureShape.new(name: 'DeriveSharedSecretResponse')
65
72
  DescribeCustomKeyStoresRequest = Shapes::StructureShape.new(name: 'DescribeCustomKeyStoresRequest')
66
73
  DescribeCustomKeyStoresResponse = Shapes::StructureShape.new(name: 'DescribeCustomKeyStoresResponse')
67
74
  DescribeKeyRequest = Shapes::StructureShape.new(name: 'DescribeKeyRequest')
@@ -116,6 +123,9 @@ module Aws::KMS
116
123
  GrantTokenType = Shapes::StringShape.new(name: 'GrantTokenType')
117
124
  ImportKeyMaterialRequest = Shapes::StructureShape.new(name: 'ImportKeyMaterialRequest')
118
125
  ImportKeyMaterialResponse = Shapes::StructureShape.new(name: 'ImportKeyMaterialResponse')
126
+ ImportState = Shapes::StringShape.new(name: 'ImportState')
127
+ ImportType = Shapes::StringShape.new(name: 'ImportType')
128
+ IncludeKeyMaterial = Shapes::StringShape.new(name: 'IncludeKeyMaterial')
119
129
  IncorrectKeyException = Shapes::StructureShape.new(name: 'IncorrectKeyException')
120
130
  IncorrectKeyMaterialException = Shapes::StructureShape.new(name: 'IncorrectKeyMaterialException')
121
131
  IncorrectTrustAnchorException = Shapes::StructureShape.new(name: 'IncorrectTrustAnchorException')
@@ -131,11 +141,15 @@ module Aws::KMS
131
141
  KMSInvalidMacException = Shapes::StructureShape.new(name: 'KMSInvalidMacException')
132
142
  KMSInvalidSignatureException = Shapes::StructureShape.new(name: 'KMSInvalidSignatureException')
133
143
  KMSInvalidStateException = Shapes::StructureShape.new(name: 'KMSInvalidStateException')
144
+ KeyAgreementAlgorithmSpec = Shapes::StringShape.new(name: 'KeyAgreementAlgorithmSpec')
145
+ KeyAgreementAlgorithmSpecList = Shapes::ListShape.new(name: 'KeyAgreementAlgorithmSpecList')
134
146
  KeyEncryptionMechanism = Shapes::StringShape.new(name: 'KeyEncryptionMechanism')
135
147
  KeyIdType = Shapes::StringShape.new(name: 'KeyIdType')
136
148
  KeyList = Shapes::ListShape.new(name: 'KeyList')
137
149
  KeyListEntry = Shapes::StructureShape.new(name: 'KeyListEntry')
138
150
  KeyManagerType = Shapes::StringShape.new(name: 'KeyManagerType')
151
+ KeyMaterialDescriptionType = Shapes::StringShape.new(name: 'KeyMaterialDescriptionType')
152
+ KeyMaterialState = Shapes::StringShape.new(name: 'KeyMaterialState')
139
153
  KeyMetadata = Shapes::StructureShape.new(name: 'KeyMetadata')
140
154
  KeySpec = Shapes::StringShape.new(name: 'KeySpec')
141
155
  KeyState = Shapes::StringShape.new(name: 'KeyState')
@@ -150,6 +164,8 @@ module Aws::KMS
150
164
  ListGrantsResponse = Shapes::StructureShape.new(name: 'ListGrantsResponse')
151
165
  ListKeyPoliciesRequest = Shapes::StructureShape.new(name: 'ListKeyPoliciesRequest')
152
166
  ListKeyPoliciesResponse = Shapes::StructureShape.new(name: 'ListKeyPoliciesResponse')
167
+ ListKeyRotationsRequest = Shapes::StructureShape.new(name: 'ListKeyRotationsRequest')
168
+ ListKeyRotationsResponse = Shapes::StructureShape.new(name: 'ListKeyRotationsResponse')
153
169
  ListKeysRequest = Shapes::StructureShape.new(name: 'ListKeysRequest')
154
170
  ListKeysResponse = Shapes::StructureShape.new(name: 'ListKeysResponse')
155
171
  ListResourceTagsRequest = Shapes::StructureShape.new(name: 'ListResourceTagsRequest')
@@ -184,6 +200,12 @@ module Aws::KMS
184
200
  ReplicateKeyResponse = Shapes::StructureShape.new(name: 'ReplicateKeyResponse')
185
201
  RetireGrantRequest = Shapes::StructureShape.new(name: 'RetireGrantRequest')
186
202
  RevokeGrantRequest = Shapes::StructureShape.new(name: 'RevokeGrantRequest')
203
+ RotateKeyOnDemandRequest = Shapes::StructureShape.new(name: 'RotateKeyOnDemandRequest')
204
+ RotateKeyOnDemandResponse = Shapes::StructureShape.new(name: 'RotateKeyOnDemandResponse')
205
+ RotationPeriodInDaysType = Shapes::IntegerShape.new(name: 'RotationPeriodInDaysType')
206
+ RotationType = Shapes::StringShape.new(name: 'RotationType')
207
+ RotationsList = Shapes::ListShape.new(name: 'RotationsList')
208
+ RotationsListEntry = Shapes::StructureShape.new(name: 'RotationsListEntry')
187
209
  ScheduleKeyDeletionRequest = Shapes::StructureShape.new(name: 'ScheduleKeyDeletionRequest')
188
210
  ScheduleKeyDeletionResponse = Shapes::StructureShape.new(name: 'ScheduleKeyDeletionResponse')
189
211
  SignRequest = Shapes::StructureShape.new(name: 'SignRequest')
@@ -266,6 +288,9 @@ module Aws::KMS
266
288
  CloudHsmClusterNotRelatedException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessageType, location_name: "message"))
267
289
  CloudHsmClusterNotRelatedException.struct_class = Types::CloudHsmClusterNotRelatedException
268
290
 
291
+ ConflictException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessageType, location_name: "message"))
292
+ ConflictException.struct_class = Types::ConflictException
293
+
269
294
  ConnectCustomKeyStoreRequest.add_member(:custom_key_store_id, Shapes::ShapeRef.new(shape: CustomKeyStoreIdType, required: true, location_name: "CustomKeyStoreId"))
270
295
  ConnectCustomKeyStoreRequest.struct_class = Types::ConnectCustomKeyStoreRequest
271
296
 
@@ -307,7 +332,7 @@ module Aws::KMS
307
332
  CreateKeyRequest.add_member(:policy, Shapes::ShapeRef.new(shape: PolicyType, location_name: "Policy"))
308
333
  CreateKeyRequest.add_member(:description, Shapes::ShapeRef.new(shape: DescriptionType, location_name: "Description"))
309
334
  CreateKeyRequest.add_member(:key_usage, Shapes::ShapeRef.new(shape: KeyUsageType, location_name: "KeyUsage"))
310
- CreateKeyRequest.add_member(:customer_master_key_spec, Shapes::ShapeRef.new(shape: CustomerMasterKeySpec, deprecated: true, location_name: "CustomerMasterKeySpec", metadata: {"deprecatedMessage"=>"This parameter has been deprecated. Instead, use the KeySpec parameter."}))
335
+ CreateKeyRequest.add_member(:customer_master_key_spec, Shapes::ShapeRef.new(shape: CustomerMasterKeySpec, deprecated: true, location_name: "CustomerMasterKeySpec", metadata: {"deprecatedMessage" => "This parameter has been deprecated. Instead, use the KeySpec parameter."}))
311
336
  CreateKeyRequest.add_member(:key_spec, Shapes::ShapeRef.new(shape: KeySpec, location_name: "KeySpec"))
312
337
  CreateKeyRequest.add_member(:origin, Shapes::ShapeRef.new(shape: OriginType, location_name: "Origin"))
313
338
  CreateKeyRequest.add_member(:custom_key_store_id, Shapes::ShapeRef.new(shape: CustomKeyStoreIdType, location_name: "CustomKeyStoreId"))
@@ -358,6 +383,7 @@ module Aws::KMS
358
383
  DecryptResponse.add_member(:plaintext, Shapes::ShapeRef.new(shape: PlaintextType, location_name: "Plaintext"))
359
384
  DecryptResponse.add_member(:encryption_algorithm, Shapes::ShapeRef.new(shape: EncryptionAlgorithmSpec, location_name: "EncryptionAlgorithm"))
360
385
  DecryptResponse.add_member(:ciphertext_for_recipient, Shapes::ShapeRef.new(shape: CiphertextType, location_name: "CiphertextForRecipient"))
386
+ DecryptResponse.add_member(:key_material_id, Shapes::ShapeRef.new(shape: BackingKeyIdType, location_name: "KeyMaterialId"))
361
387
  DecryptResponse.struct_class = Types::DecryptResponse
362
388
 
363
389
  DeleteAliasRequest.add_member(:alias_name, Shapes::ShapeRef.new(shape: AliasNameType, required: true, location_name: "AliasName"))
@@ -369,11 +395,31 @@ module Aws::KMS
369
395
  DeleteCustomKeyStoreResponse.struct_class = Types::DeleteCustomKeyStoreResponse
370
396
 
371
397
  DeleteImportedKeyMaterialRequest.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, required: true, location_name: "KeyId"))
398
+ DeleteImportedKeyMaterialRequest.add_member(:key_material_id, Shapes::ShapeRef.new(shape: BackingKeyIdType, location_name: "KeyMaterialId"))
372
399
  DeleteImportedKeyMaterialRequest.struct_class = Types::DeleteImportedKeyMaterialRequest
373
400
 
401
+ DeleteImportedKeyMaterialResponse.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, location_name: "KeyId"))
402
+ DeleteImportedKeyMaterialResponse.add_member(:key_material_id, Shapes::ShapeRef.new(shape: BackingKeyIdResponseType, location_name: "KeyMaterialId"))
403
+ DeleteImportedKeyMaterialResponse.struct_class = Types::DeleteImportedKeyMaterialResponse
404
+
374
405
  DependencyTimeoutException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessageType, location_name: "message"))
375
406
  DependencyTimeoutException.struct_class = Types::DependencyTimeoutException
376
407
 
408
+ DeriveSharedSecretRequest.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, required: true, location_name: "KeyId"))
409
+ DeriveSharedSecretRequest.add_member(:key_agreement_algorithm, Shapes::ShapeRef.new(shape: KeyAgreementAlgorithmSpec, required: true, location_name: "KeyAgreementAlgorithm"))
410
+ DeriveSharedSecretRequest.add_member(:public_key, Shapes::ShapeRef.new(shape: PublicKeyType, required: true, location_name: "PublicKey"))
411
+ DeriveSharedSecretRequest.add_member(:grant_tokens, Shapes::ShapeRef.new(shape: GrantTokenList, location_name: "GrantTokens"))
412
+ DeriveSharedSecretRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: NullableBooleanType, location_name: "DryRun"))
413
+ DeriveSharedSecretRequest.add_member(:recipient, Shapes::ShapeRef.new(shape: RecipientInfo, location_name: "Recipient"))
414
+ DeriveSharedSecretRequest.struct_class = Types::DeriveSharedSecretRequest
415
+
416
+ DeriveSharedSecretResponse.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, location_name: "KeyId"))
417
+ DeriveSharedSecretResponse.add_member(:shared_secret, Shapes::ShapeRef.new(shape: PlaintextType, location_name: "SharedSecret"))
418
+ DeriveSharedSecretResponse.add_member(:ciphertext_for_recipient, Shapes::ShapeRef.new(shape: CiphertextType, location_name: "CiphertextForRecipient"))
419
+ DeriveSharedSecretResponse.add_member(:key_agreement_algorithm, Shapes::ShapeRef.new(shape: KeyAgreementAlgorithmSpec, location_name: "KeyAgreementAlgorithm"))
420
+ DeriveSharedSecretResponse.add_member(:key_origin, Shapes::ShapeRef.new(shape: OriginType, location_name: "KeyOrigin"))
421
+ DeriveSharedSecretResponse.struct_class = Types::DeriveSharedSecretResponse
422
+
377
423
  DescribeCustomKeyStoresRequest.add_member(:custom_key_store_id, Shapes::ShapeRef.new(shape: CustomKeyStoreIdType, location_name: "CustomKeyStoreId"))
378
424
  DescribeCustomKeyStoresRequest.add_member(:custom_key_store_name, Shapes::ShapeRef.new(shape: CustomKeyStoreNameType, location_name: "CustomKeyStoreName"))
379
425
  DescribeCustomKeyStoresRequest.add_member(:limit, Shapes::ShapeRef.new(shape: LimitType, location_name: "Limit"))
@@ -413,6 +459,7 @@ module Aws::KMS
413
459
  EnableKeyRequest.struct_class = Types::EnableKeyRequest
414
460
 
415
461
  EnableKeyRotationRequest.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, required: true, location_name: "KeyId"))
462
+ EnableKeyRotationRequest.add_member(:rotation_period_in_days, Shapes::ShapeRef.new(shape: RotationPeriodInDaysType, location_name: "RotationPeriodInDays"))
416
463
  EnableKeyRotationRequest.struct_class = Types::EnableKeyRotationRequest
417
464
 
418
465
  EncryptRequest.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, required: true, location_name: "KeyId"))
@@ -450,6 +497,7 @@ module Aws::KMS
450
497
  GenerateDataKeyPairResponse.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, location_name: "KeyId"))
451
498
  GenerateDataKeyPairResponse.add_member(:key_pair_spec, Shapes::ShapeRef.new(shape: DataKeyPairSpec, location_name: "KeyPairSpec"))
452
499
  GenerateDataKeyPairResponse.add_member(:ciphertext_for_recipient, Shapes::ShapeRef.new(shape: CiphertextType, location_name: "CiphertextForRecipient"))
500
+ GenerateDataKeyPairResponse.add_member(:key_material_id, Shapes::ShapeRef.new(shape: BackingKeyIdType, location_name: "KeyMaterialId"))
453
501
  GenerateDataKeyPairResponse.struct_class = Types::GenerateDataKeyPairResponse
454
502
 
455
503
  GenerateDataKeyPairWithoutPlaintextRequest.add_member(:encryption_context, Shapes::ShapeRef.new(shape: EncryptionContextType, location_name: "EncryptionContext"))
@@ -463,6 +511,7 @@ module Aws::KMS
463
511
  GenerateDataKeyPairWithoutPlaintextResponse.add_member(:public_key, Shapes::ShapeRef.new(shape: PublicKeyType, location_name: "PublicKey"))
464
512
  GenerateDataKeyPairWithoutPlaintextResponse.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, location_name: "KeyId"))
465
513
  GenerateDataKeyPairWithoutPlaintextResponse.add_member(:key_pair_spec, Shapes::ShapeRef.new(shape: DataKeyPairSpec, location_name: "KeyPairSpec"))
514
+ GenerateDataKeyPairWithoutPlaintextResponse.add_member(:key_material_id, Shapes::ShapeRef.new(shape: BackingKeyIdType, location_name: "KeyMaterialId"))
466
515
  GenerateDataKeyPairWithoutPlaintextResponse.struct_class = Types::GenerateDataKeyPairWithoutPlaintextResponse
467
516
 
468
517
  GenerateDataKeyRequest.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, required: true, location_name: "KeyId"))
@@ -478,6 +527,7 @@ module Aws::KMS
478
527
  GenerateDataKeyResponse.add_member(:plaintext, Shapes::ShapeRef.new(shape: PlaintextType, location_name: "Plaintext"))
479
528
  GenerateDataKeyResponse.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, location_name: "KeyId"))
480
529
  GenerateDataKeyResponse.add_member(:ciphertext_for_recipient, Shapes::ShapeRef.new(shape: CiphertextType, location_name: "CiphertextForRecipient"))
530
+ GenerateDataKeyResponse.add_member(:key_material_id, Shapes::ShapeRef.new(shape: BackingKeyIdType, location_name: "KeyMaterialId"))
481
531
  GenerateDataKeyResponse.struct_class = Types::GenerateDataKeyResponse
482
532
 
483
533
  GenerateDataKeyWithoutPlaintextRequest.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, required: true, location_name: "KeyId"))
@@ -490,6 +540,7 @@ module Aws::KMS
490
540
 
491
541
  GenerateDataKeyWithoutPlaintextResponse.add_member(:ciphertext_blob, Shapes::ShapeRef.new(shape: CiphertextType, location_name: "CiphertextBlob"))
492
542
  GenerateDataKeyWithoutPlaintextResponse.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, location_name: "KeyId"))
543
+ GenerateDataKeyWithoutPlaintextResponse.add_member(:key_material_id, Shapes::ShapeRef.new(shape: BackingKeyIdType, location_name: "KeyMaterialId"))
493
544
  GenerateDataKeyWithoutPlaintextResponse.struct_class = Types::GenerateDataKeyWithoutPlaintextResponse
494
545
 
495
546
  GenerateMacRequest.add_member(:message, Shapes::ShapeRef.new(shape: PlaintextType, required: true, location_name: "Message"))
@@ -514,16 +565,21 @@ module Aws::KMS
514
565
  GenerateRandomResponse.struct_class = Types::GenerateRandomResponse
515
566
 
516
567
  GetKeyPolicyRequest.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, required: true, location_name: "KeyId"))
517
- GetKeyPolicyRequest.add_member(:policy_name, Shapes::ShapeRef.new(shape: PolicyNameType, required: true, location_name: "PolicyName"))
568
+ GetKeyPolicyRequest.add_member(:policy_name, Shapes::ShapeRef.new(shape: PolicyNameType, location_name: "PolicyName"))
518
569
  GetKeyPolicyRequest.struct_class = Types::GetKeyPolicyRequest
519
570
 
520
571
  GetKeyPolicyResponse.add_member(:policy, Shapes::ShapeRef.new(shape: PolicyType, location_name: "Policy"))
572
+ GetKeyPolicyResponse.add_member(:policy_name, Shapes::ShapeRef.new(shape: PolicyNameType, location_name: "PolicyName"))
521
573
  GetKeyPolicyResponse.struct_class = Types::GetKeyPolicyResponse
522
574
 
523
575
  GetKeyRotationStatusRequest.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, required: true, location_name: "KeyId"))
524
576
  GetKeyRotationStatusRequest.struct_class = Types::GetKeyRotationStatusRequest
525
577
 
526
578
  GetKeyRotationStatusResponse.add_member(:key_rotation_enabled, Shapes::ShapeRef.new(shape: BooleanType, location_name: "KeyRotationEnabled"))
579
+ GetKeyRotationStatusResponse.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, location_name: "KeyId"))
580
+ GetKeyRotationStatusResponse.add_member(:rotation_period_in_days, Shapes::ShapeRef.new(shape: RotationPeriodInDaysType, location_name: "RotationPeriodInDays"))
581
+ GetKeyRotationStatusResponse.add_member(:next_rotation_date, Shapes::ShapeRef.new(shape: DateType, location_name: "NextRotationDate"))
582
+ GetKeyRotationStatusResponse.add_member(:on_demand_rotation_start_date, Shapes::ShapeRef.new(shape: DateType, location_name: "OnDemandRotationStartDate"))
527
583
  GetKeyRotationStatusResponse.struct_class = Types::GetKeyRotationStatusResponse
528
584
 
529
585
  GetParametersForImportRequest.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, required: true, location_name: "KeyId"))
@@ -543,11 +599,12 @@ module Aws::KMS
543
599
 
544
600
  GetPublicKeyResponse.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, location_name: "KeyId"))
545
601
  GetPublicKeyResponse.add_member(:public_key, Shapes::ShapeRef.new(shape: PublicKeyType, location_name: "PublicKey"))
546
- GetPublicKeyResponse.add_member(:customer_master_key_spec, Shapes::ShapeRef.new(shape: CustomerMasterKeySpec, deprecated: true, location_name: "CustomerMasterKeySpec", metadata: {"deprecatedMessage"=>"This field has been deprecated. Instead, use the KeySpec field."}))
602
+ GetPublicKeyResponse.add_member(:customer_master_key_spec, Shapes::ShapeRef.new(shape: CustomerMasterKeySpec, deprecated: true, location_name: "CustomerMasterKeySpec", metadata: {"deprecatedMessage" => "This field has been deprecated. Instead, use the KeySpec field."}))
547
603
  GetPublicKeyResponse.add_member(:key_spec, Shapes::ShapeRef.new(shape: KeySpec, location_name: "KeySpec"))
548
604
  GetPublicKeyResponse.add_member(:key_usage, Shapes::ShapeRef.new(shape: KeyUsageType, location_name: "KeyUsage"))
549
605
  GetPublicKeyResponse.add_member(:encryption_algorithms, Shapes::ShapeRef.new(shape: EncryptionAlgorithmSpecList, location_name: "EncryptionAlgorithms"))
550
606
  GetPublicKeyResponse.add_member(:signing_algorithms, Shapes::ShapeRef.new(shape: SigningAlgorithmSpecList, location_name: "SigningAlgorithms"))
607
+ GetPublicKeyResponse.add_member(:key_agreement_algorithms, Shapes::ShapeRef.new(shape: KeyAgreementAlgorithmSpecList, location_name: "KeyAgreementAlgorithms"))
551
608
  GetPublicKeyResponse.struct_class = Types::GetPublicKeyResponse
552
609
 
553
610
  GrantConstraints.add_member(:encryption_context_subset, Shapes::ShapeRef.new(shape: EncryptionContextType, location_name: "EncryptionContextSubset"))
@@ -576,8 +633,13 @@ module Aws::KMS
576
633
  ImportKeyMaterialRequest.add_member(:encrypted_key_material, Shapes::ShapeRef.new(shape: CiphertextType, required: true, location_name: "EncryptedKeyMaterial"))
577
634
  ImportKeyMaterialRequest.add_member(:valid_to, Shapes::ShapeRef.new(shape: DateType, location_name: "ValidTo"))
578
635
  ImportKeyMaterialRequest.add_member(:expiration_model, Shapes::ShapeRef.new(shape: ExpirationModelType, location_name: "ExpirationModel"))
636
+ ImportKeyMaterialRequest.add_member(:import_type, Shapes::ShapeRef.new(shape: ImportType, location_name: "ImportType"))
637
+ ImportKeyMaterialRequest.add_member(:key_material_description, Shapes::ShapeRef.new(shape: KeyMaterialDescriptionType, location_name: "KeyMaterialDescription"))
638
+ ImportKeyMaterialRequest.add_member(:key_material_id, Shapes::ShapeRef.new(shape: BackingKeyIdType, location_name: "KeyMaterialId"))
579
639
  ImportKeyMaterialRequest.struct_class = Types::ImportKeyMaterialRequest
580
640
 
641
+ ImportKeyMaterialResponse.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, location_name: "KeyId"))
642
+ ImportKeyMaterialResponse.add_member(:key_material_id, Shapes::ShapeRef.new(shape: BackingKeyIdType, location_name: "KeyMaterialId"))
581
643
  ImportKeyMaterialResponse.struct_class = Types::ImportKeyMaterialResponse
582
644
 
583
645
  IncorrectKeyException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessageType, location_name: "message"))
@@ -625,6 +687,8 @@ module Aws::KMS
625
687
  KMSInvalidStateException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessageType, location_name: "message"))
626
688
  KMSInvalidStateException.struct_class = Types::KMSInvalidStateException
627
689
 
690
+ KeyAgreementAlgorithmSpecList.member = Shapes::ShapeRef.new(shape: KeyAgreementAlgorithmSpec)
691
+
628
692
  KeyList.member = Shapes::ShapeRef.new(shape: KeyListEntry)
629
693
 
630
694
  KeyListEntry.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, location_name: "KeyId"))
@@ -646,15 +710,17 @@ module Aws::KMS
646
710
  KeyMetadata.add_member(:cloud_hsm_cluster_id, Shapes::ShapeRef.new(shape: CloudHsmClusterIdType, location_name: "CloudHsmClusterId"))
647
711
  KeyMetadata.add_member(:expiration_model, Shapes::ShapeRef.new(shape: ExpirationModelType, location_name: "ExpirationModel"))
648
712
  KeyMetadata.add_member(:key_manager, Shapes::ShapeRef.new(shape: KeyManagerType, location_name: "KeyManager"))
649
- KeyMetadata.add_member(:customer_master_key_spec, Shapes::ShapeRef.new(shape: CustomerMasterKeySpec, deprecated: true, location_name: "CustomerMasterKeySpec", metadata: {"deprecatedMessage"=>"This field has been deprecated. Instead, use the KeySpec field."}))
713
+ KeyMetadata.add_member(:customer_master_key_spec, Shapes::ShapeRef.new(shape: CustomerMasterKeySpec, deprecated: true, location_name: "CustomerMasterKeySpec", metadata: {"deprecatedMessage" => "This field has been deprecated. Instead, use the KeySpec field."}))
650
714
  KeyMetadata.add_member(:key_spec, Shapes::ShapeRef.new(shape: KeySpec, location_name: "KeySpec"))
651
715
  KeyMetadata.add_member(:encryption_algorithms, Shapes::ShapeRef.new(shape: EncryptionAlgorithmSpecList, location_name: "EncryptionAlgorithms"))
652
716
  KeyMetadata.add_member(:signing_algorithms, Shapes::ShapeRef.new(shape: SigningAlgorithmSpecList, location_name: "SigningAlgorithms"))
717
+ KeyMetadata.add_member(:key_agreement_algorithms, Shapes::ShapeRef.new(shape: KeyAgreementAlgorithmSpecList, location_name: "KeyAgreementAlgorithms"))
653
718
  KeyMetadata.add_member(:multi_region, Shapes::ShapeRef.new(shape: NullableBooleanType, location_name: "MultiRegion"))
654
719
  KeyMetadata.add_member(:multi_region_configuration, Shapes::ShapeRef.new(shape: MultiRegionConfiguration, location_name: "MultiRegionConfiguration"))
655
720
  KeyMetadata.add_member(:pending_deletion_window_in_days, Shapes::ShapeRef.new(shape: PendingWindowInDaysType, location_name: "PendingDeletionWindowInDays"))
656
721
  KeyMetadata.add_member(:mac_algorithms, Shapes::ShapeRef.new(shape: MacAlgorithmSpecList, location_name: "MacAlgorithms"))
657
722
  KeyMetadata.add_member(:xks_key_configuration, Shapes::ShapeRef.new(shape: XksKeyConfigurationType, location_name: "XksKeyConfiguration"))
723
+ KeyMetadata.add_member(:current_key_material_id, Shapes::ShapeRef.new(shape: BackingKeyIdType, location_name: "CurrentKeyMaterialId"))
658
724
  KeyMetadata.struct_class = Types::KeyMetadata
659
725
 
660
726
  KeyUnavailableException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessageType, location_name: "message"))
@@ -695,6 +761,17 @@ module Aws::KMS
695
761
  ListKeyPoliciesResponse.add_member(:truncated, Shapes::ShapeRef.new(shape: BooleanType, location_name: "Truncated"))
696
762
  ListKeyPoliciesResponse.struct_class = Types::ListKeyPoliciesResponse
697
763
 
764
+ ListKeyRotationsRequest.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, required: true, location_name: "KeyId"))
765
+ ListKeyRotationsRequest.add_member(:include_key_material, Shapes::ShapeRef.new(shape: IncludeKeyMaterial, location_name: "IncludeKeyMaterial"))
766
+ ListKeyRotationsRequest.add_member(:limit, Shapes::ShapeRef.new(shape: LimitType, location_name: "Limit"))
767
+ ListKeyRotationsRequest.add_member(:marker, Shapes::ShapeRef.new(shape: MarkerType, location_name: "Marker"))
768
+ ListKeyRotationsRequest.struct_class = Types::ListKeyRotationsRequest
769
+
770
+ ListKeyRotationsResponse.add_member(:rotations, Shapes::ShapeRef.new(shape: RotationsList, location_name: "Rotations"))
771
+ ListKeyRotationsResponse.add_member(:next_marker, Shapes::ShapeRef.new(shape: MarkerType, location_name: "NextMarker"))
772
+ ListKeyRotationsResponse.add_member(:truncated, Shapes::ShapeRef.new(shape: BooleanType, location_name: "Truncated"))
773
+ ListKeyRotationsResponse.struct_class = Types::ListKeyRotationsResponse
774
+
698
775
  ListKeysRequest.add_member(:limit, Shapes::ShapeRef.new(shape: LimitType, location_name: "Limit"))
699
776
  ListKeysRequest.add_member(:marker, Shapes::ShapeRef.new(shape: MarkerType, location_name: "Marker"))
700
777
  ListKeysRequest.struct_class = Types::ListKeysRequest
@@ -741,7 +818,7 @@ module Aws::KMS
741
818
  PolicyNameList.member = Shapes::ShapeRef.new(shape: PolicyNameType)
742
819
 
743
820
  PutKeyPolicyRequest.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, required: true, location_name: "KeyId"))
744
- PutKeyPolicyRequest.add_member(:policy_name, Shapes::ShapeRef.new(shape: PolicyNameType, required: true, location_name: "PolicyName"))
821
+ PutKeyPolicyRequest.add_member(:policy_name, Shapes::ShapeRef.new(shape: PolicyNameType, location_name: "PolicyName"))
745
822
  PutKeyPolicyRequest.add_member(:policy, Shapes::ShapeRef.new(shape: PolicyType, required: true, location_name: "Policy"))
746
823
  PutKeyPolicyRequest.add_member(:bypass_policy_lockout_safety_check, Shapes::ShapeRef.new(shape: BooleanType, location_name: "BypassPolicyLockoutSafetyCheck"))
747
824
  PutKeyPolicyRequest.struct_class = Types::PutKeyPolicyRequest
@@ -762,6 +839,8 @@ module Aws::KMS
762
839
  ReEncryptResponse.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, location_name: "KeyId"))
763
840
  ReEncryptResponse.add_member(:source_encryption_algorithm, Shapes::ShapeRef.new(shape: EncryptionAlgorithmSpec, location_name: "SourceEncryptionAlgorithm"))
764
841
  ReEncryptResponse.add_member(:destination_encryption_algorithm, Shapes::ShapeRef.new(shape: EncryptionAlgorithmSpec, location_name: "DestinationEncryptionAlgorithm"))
842
+ ReEncryptResponse.add_member(:source_key_material_id, Shapes::ShapeRef.new(shape: BackingKeyIdType, location_name: "SourceKeyMaterialId"))
843
+ ReEncryptResponse.add_member(:destination_key_material_id, Shapes::ShapeRef.new(shape: BackingKeyIdType, location_name: "DestinationKeyMaterialId"))
765
844
  ReEncryptResponse.struct_class = Types::ReEncryptResponse
766
845
 
767
846
  RecipientInfo.add_member(:key_encryption_algorithm, Shapes::ShapeRef.new(shape: KeyEncryptionMechanism, location_name: "KeyEncryptionAlgorithm"))
@@ -792,6 +871,25 @@ module Aws::KMS
792
871
  RevokeGrantRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: NullableBooleanType, location_name: "DryRun"))
793
872
  RevokeGrantRequest.struct_class = Types::RevokeGrantRequest
794
873
 
874
+ RotateKeyOnDemandRequest.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, required: true, location_name: "KeyId"))
875
+ RotateKeyOnDemandRequest.struct_class = Types::RotateKeyOnDemandRequest
876
+
877
+ RotateKeyOnDemandResponse.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, location_name: "KeyId"))
878
+ RotateKeyOnDemandResponse.struct_class = Types::RotateKeyOnDemandResponse
879
+
880
+ RotationsList.member = Shapes::ShapeRef.new(shape: RotationsListEntry)
881
+
882
+ RotationsListEntry.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, location_name: "KeyId"))
883
+ RotationsListEntry.add_member(:key_material_id, Shapes::ShapeRef.new(shape: BackingKeyIdType, location_name: "KeyMaterialId"))
884
+ RotationsListEntry.add_member(:key_material_description, Shapes::ShapeRef.new(shape: KeyMaterialDescriptionType, location_name: "KeyMaterialDescription"))
885
+ RotationsListEntry.add_member(:import_state, Shapes::ShapeRef.new(shape: ImportState, location_name: "ImportState"))
886
+ RotationsListEntry.add_member(:key_material_state, Shapes::ShapeRef.new(shape: KeyMaterialState, location_name: "KeyMaterialState"))
887
+ RotationsListEntry.add_member(:expiration_model, Shapes::ShapeRef.new(shape: ExpirationModelType, location_name: "ExpirationModel"))
888
+ RotationsListEntry.add_member(:valid_to, Shapes::ShapeRef.new(shape: DateType, location_name: "ValidTo"))
889
+ RotationsListEntry.add_member(:rotation_date, Shapes::ShapeRef.new(shape: DateType, location_name: "RotationDate"))
890
+ RotationsListEntry.add_member(:rotation_type, Shapes::ShapeRef.new(shape: RotationType, location_name: "RotationType"))
891
+ RotationsListEntry.struct_class = Types::RotationsListEntry
892
+
795
893
  ScheduleKeyDeletionRequest.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyIdType, required: true, location_name: "KeyId"))
796
894
  ScheduleKeyDeletionRequest.add_member(:pending_window_in_days, Shapes::ShapeRef.new(shape: PendingWindowInDaysType, location_name: "PendingWindowInDays"))
797
895
  ScheduleKeyDeletionRequest.struct_class = Types::ScheduleKeyDeletionRequest
@@ -949,9 +1047,11 @@ module Aws::KMS
949
1047
 
950
1048
  api.metadata = {
951
1049
  "apiVersion" => "2014-11-01",
1050
+ "auth" => ["aws.auth#sigv4"],
952
1051
  "endpointPrefix" => "kms",
953
1052
  "jsonVersion" => "1.1",
954
1053
  "protocol" => "json",
1054
+ "protocols" => ["json"],
955
1055
  "serviceAbbreviation" => "KMS",
956
1056
  "serviceFullName" => "AWS Key Management Service",
957
1057
  "serviceId" => "KMS",
@@ -1112,7 +1212,7 @@ module Aws::KMS
1112
1212
  o.http_method = "POST"
1113
1213
  o.http_request_uri = "/"
1114
1214
  o.input = Shapes::ShapeRef.new(shape: DeleteImportedKeyMaterialRequest)
1115
- o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
1215
+ o.output = Shapes::ShapeRef.new(shape: DeleteImportedKeyMaterialResponse)
1116
1216
  o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
1117
1217
  o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
1118
1218
  o.errors << Shapes::ShapeRef.new(shape: DependencyTimeoutException)
@@ -1121,6 +1221,23 @@ module Aws::KMS
1121
1221
  o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
1122
1222
  end)
1123
1223
 
1224
+ api.add_operation(:derive_shared_secret, Seahorse::Model::Operation.new.tap do |o|
1225
+ o.name = "DeriveSharedSecret"
1226
+ o.http_method = "POST"
1227
+ o.http_request_uri = "/"
1228
+ o.input = Shapes::ShapeRef.new(shape: DeriveSharedSecretRequest)
1229
+ o.output = Shapes::ShapeRef.new(shape: DeriveSharedSecretResponse)
1230
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
1231
+ o.errors << Shapes::ShapeRef.new(shape: DisabledException)
1232
+ o.errors << Shapes::ShapeRef.new(shape: KeyUnavailableException)
1233
+ o.errors << Shapes::ShapeRef.new(shape: DependencyTimeoutException)
1234
+ o.errors << Shapes::ShapeRef.new(shape: InvalidGrantTokenException)
1235
+ o.errors << Shapes::ShapeRef.new(shape: InvalidKeyUsageException)
1236
+ o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
1237
+ o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
1238
+ o.errors << Shapes::ShapeRef.new(shape: DryRunOperationException)
1239
+ end)
1240
+
1124
1241
  api.add_operation(:describe_custom_key_stores, Seahorse::Model::Operation.new.tap do |o|
1125
1242
  o.name = "DescribeCustomKeyStores"
1126
1243
  o.http_method = "POST"
@@ -1131,6 +1248,7 @@ module Aws::KMS
1131
1248
  o.errors << Shapes::ShapeRef.new(shape: InvalidMarkerException)
1132
1249
  o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
1133
1250
  o[:pager] = Aws::Pager.new(
1251
+ more_results: "truncated",
1134
1252
  limit_key: "limit",
1135
1253
  tokens: {
1136
1254
  "next_marker" => "marker"
@@ -1423,6 +1541,7 @@ module Aws::KMS
1423
1541
  o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
1424
1542
  o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
1425
1543
  o[:pager] = Aws::Pager.new(
1544
+ more_results: "truncated",
1426
1545
  limit_key: "limit",
1427
1546
  tokens: {
1428
1547
  "next_marker" => "marker"
@@ -1444,6 +1563,7 @@ module Aws::KMS
1444
1563
  o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
1445
1564
  o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
1446
1565
  o[:pager] = Aws::Pager.new(
1566
+ more_results: "truncated",
1447
1567
  limit_key: "limit",
1448
1568
  tokens: {
1449
1569
  "next_marker" => "marker"
@@ -1463,6 +1583,28 @@ module Aws::KMS
1463
1583
  o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
1464
1584
  o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
1465
1585
  o[:pager] = Aws::Pager.new(
1586
+ more_results: "truncated",
1587
+ limit_key: "limit",
1588
+ tokens: {
1589
+ "next_marker" => "marker"
1590
+ }
1591
+ )
1592
+ end)
1593
+
1594
+ api.add_operation(:list_key_rotations, Seahorse::Model::Operation.new.tap do |o|
1595
+ o.name = "ListKeyRotations"
1596
+ o.http_method = "POST"
1597
+ o.http_request_uri = "/"
1598
+ o.input = Shapes::ShapeRef.new(shape: ListKeyRotationsRequest)
1599
+ o.output = Shapes::ShapeRef.new(shape: ListKeyRotationsResponse)
1600
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
1601
+ o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
1602
+ o.errors << Shapes::ShapeRef.new(shape: InvalidMarkerException)
1603
+ o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
1604
+ o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
1605
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
1606
+ o[:pager] = Aws::Pager.new(
1607
+ more_results: "truncated",
1466
1608
  limit_key: "limit",
1467
1609
  tokens: {
1468
1610
  "next_marker" => "marker"
@@ -1480,6 +1622,7 @@ module Aws::KMS
1480
1622
  o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
1481
1623
  o.errors << Shapes::ShapeRef.new(shape: InvalidMarkerException)
1482
1624
  o[:pager] = Aws::Pager.new(
1625
+ more_results: "truncated",
1483
1626
  limit_key: "limit",
1484
1627
  tokens: {
1485
1628
  "next_marker" => "marker"
@@ -1498,6 +1641,7 @@ module Aws::KMS
1498
1641
  o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
1499
1642
  o.errors << Shapes::ShapeRef.new(shape: InvalidMarkerException)
1500
1643
  o[:pager] = Aws::Pager.new(
1644
+ more_results: "truncated",
1501
1645
  limit_key: "limit",
1502
1646
  tokens: {
1503
1647
  "next_marker" => "marker"
@@ -1517,6 +1661,7 @@ module Aws::KMS
1517
1661
  o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
1518
1662
  o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
1519
1663
  o[:pager] = Aws::Pager.new(
1664
+ more_results: "truncated",
1520
1665
  limit_key: "limit",
1521
1666
  tokens: {
1522
1667
  "next_marker" => "marker"
@@ -1608,6 +1753,23 @@ module Aws::KMS
1608
1753
  o.errors << Shapes::ShapeRef.new(shape: DryRunOperationException)
1609
1754
  end)
1610
1755
 
1756
+ api.add_operation(:rotate_key_on_demand, Seahorse::Model::Operation.new.tap do |o|
1757
+ o.name = "RotateKeyOnDemand"
1758
+ o.http_method = "POST"
1759
+ o.http_request_uri = "/"
1760
+ o.input = Shapes::ShapeRef.new(shape: RotateKeyOnDemandRequest)
1761
+ o.output = Shapes::ShapeRef.new(shape: RotateKeyOnDemandResponse)
1762
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
1763
+ o.errors << Shapes::ShapeRef.new(shape: DisabledException)
1764
+ o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
1765
+ o.errors << Shapes::ShapeRef.new(shape: DependencyTimeoutException)
1766
+ o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
1767
+ o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
1768
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
1769
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1770
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
1771
+ end)
1772
+
1611
1773
  api.add_operation(:schedule_key_deletion, Seahorse::Model::Operation.new.tap do |o|
1612
1774
  o.name = "ScheduleKeyDeletion"
1613
1775
  o.http_method = "POST"
@@ -1,8 +0,0 @@
1
- # frozen_string_literal: true
2
- # WARNING ABOUT GENERATED CODE
3
- #
4
- # This file is generated. See the contributing for info on making contributions:
5
- # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
6
- #
7
- # WARNING ABOUT GENERATED CODE
8
-
@@ -52,15 +52,18 @@ module Aws::KMS
52
52
  self[:region] = options[:region]
53
53
  self[:use_dual_stack] = options[:use_dual_stack]
54
54
  self[:use_dual_stack] = false if self[:use_dual_stack].nil?
55
- if self[:use_dual_stack].nil?
56
- raise ArgumentError, "Missing required EndpointParameter: :use_dual_stack"
57
- end
58
55
  self[:use_fips] = options[:use_fips]
59
56
  self[:use_fips] = false if self[:use_fips].nil?
60
- if self[:use_fips].nil?
61
- raise ArgumentError, "Missing required EndpointParameter: :use_fips"
62
- end
63
57
  self[:endpoint] = options[:endpoint]
64
58
  end
59
+
60
+ def self.create(config, options={})
61
+ new({
62
+ region: config.region,
63
+ use_dual_stack: config.use_dualstack_endpoint,
64
+ use_fips: config.use_fips_endpoint,
65
+ endpoint: (config.endpoint.to_s unless config.regional_endpoint),
66
+ }.merge(options))
67
+ end
65
68
  end
66
69
  end
@@ -10,40 +10,36 @@
10
10
  module Aws::KMS
11
11
  class EndpointProvider
12
12
  def resolve_endpoint(parameters)
13
- region = parameters.region
14
- use_dual_stack = parameters.use_dual_stack
15
- use_fips = parameters.use_fips
16
- endpoint = parameters.endpoint
17
- if Aws::Endpoints::Matchers.set?(endpoint)
18
- if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
13
+ if Aws::Endpoints::Matchers.set?(parameters.endpoint)
14
+ if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_fips, true)
19
15
  raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
20
16
  end
21
- if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
17
+ if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_dual_stack, true)
22
18
  raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
23
19
  end
24
- return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
20
+ return Aws::Endpoints::Endpoint.new(url: parameters.endpoint, headers: {}, properties: {})
25
21
  end
26
- if Aws::Endpoints::Matchers.set?(region)
27
- if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
28
- if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
22
+ if Aws::Endpoints::Matchers.set?(parameters.region)
23
+ if (partition_result = Aws::Endpoints::Matchers.aws_partition(parameters.region))
24
+ if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(parameters.use_dual_stack, true)
29
25
  if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
30
- return Aws::Endpoints::Endpoint.new(url: "https://kms-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
26
+ return Aws::Endpoints::Endpoint.new(url: "https://kms-fips.#{parameters.region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
31
27
  end
32
28
  raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
33
29
  end
34
- if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
35
- if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
36
- return Aws::Endpoints::Endpoint.new(url: "https://kms-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
30
+ if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_fips, true)
31
+ if Aws::Endpoints::Matchers.boolean_equals?(Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"), true)
32
+ return Aws::Endpoints::Endpoint.new(url: "https://kms-fips.#{parameters.region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
37
33
  end
38
34
  raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
39
35
  end
40
- if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
36
+ if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_dual_stack, true)
41
37
  if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
42
- return Aws::Endpoints::Endpoint.new(url: "https://kms.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
38
+ return Aws::Endpoints::Endpoint.new(url: "https://kms.#{parameters.region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
43
39
  end
44
40
  raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
45
41
  end
46
- return Aws::Endpoints::Endpoint.new(url: "https://kms.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
42
+ return Aws::Endpoints::Endpoint.new(url: "https://kms.#{parameters.region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
47
43
  end
48
44
  end
49
45
  raise ArgumentError, "Invalid Configuration: Missing Region"