Module: Aws::KMS::ClientApi Private

Includes:
Seahorse::Model
Defined in:
lib/aws-sdk-kms/client_api.rb

This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.

Constant Summary collapse

AWSAccountIdType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'AWSAccountIdType')
AlgorithmSpec =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'AlgorithmSpec')
AliasList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'AliasList')
AliasListEntry =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AliasListEntry')
AliasNameType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'AliasNameType')
AlreadyExistsException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AlreadyExistsException')
ArnType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ArnType')
AttestationDocumentType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::BlobShape.new(name: 'AttestationDocumentType')
BooleanType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::BooleanShape.new(name: 'BooleanType')
CancelKeyDeletionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CancelKeyDeletionRequest')
CancelKeyDeletionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CancelKeyDeletionResponse')
CiphertextType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::BlobShape.new(name: 'CiphertextType')
CloudHsmClusterIdType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'CloudHsmClusterIdType')
CloudHsmClusterInUseException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CloudHsmClusterInUseException')
CloudHsmClusterInvalidConfigurationException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CloudHsmClusterInvalidConfigurationException')
CloudHsmClusterNotActiveException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CloudHsmClusterNotActiveException')
CloudHsmClusterNotFoundException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CloudHsmClusterNotFoundException')
CloudHsmClusterNotRelatedException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CloudHsmClusterNotRelatedException')
ConflictException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ConflictException')
ConnectCustomKeyStoreRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ConnectCustomKeyStoreRequest')
ConnectCustomKeyStoreResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ConnectCustomKeyStoreResponse')
ConnectionErrorCodeType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ConnectionErrorCodeType')
ConnectionStateType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ConnectionStateType')
CreateAliasRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateAliasRequest')
CreateCustomKeyStoreRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateCustomKeyStoreRequest')
CreateCustomKeyStoreResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateCustomKeyStoreResponse')
CreateGrantRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateGrantRequest')
CreateGrantResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateGrantResponse')
CreateKeyRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateKeyRequest')
CreateKeyResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateKeyResponse')
CustomKeyStoreHasCMKsException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CustomKeyStoreHasCMKsException')
CustomKeyStoreIdType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'CustomKeyStoreIdType')
CustomKeyStoreInvalidStateException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CustomKeyStoreInvalidStateException')
CustomKeyStoreNameInUseException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CustomKeyStoreNameInUseException')
CustomKeyStoreNameType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'CustomKeyStoreNameType')
CustomKeyStoreNotFoundException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CustomKeyStoreNotFoundException')
CustomKeyStoreType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'CustomKeyStoreType')
CustomKeyStoresList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'CustomKeyStoresList')
CustomKeyStoresListEntry =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CustomKeyStoresListEntry')
CustomerMasterKeySpec =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'CustomerMasterKeySpec')
DataKeyPairSpec =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'DataKeyPairSpec')
DataKeySpec =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'DataKeySpec')
DateType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::TimestampShape.new(name: 'DateType')
DecryptRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DecryptRequest')
DecryptResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DecryptResponse')
DeleteAliasRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteAliasRequest')
DeleteCustomKeyStoreRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteCustomKeyStoreRequest')
DeleteCustomKeyStoreResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteCustomKeyStoreResponse')
DeleteImportedKeyMaterialRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteImportedKeyMaterialRequest')
DependencyTimeoutException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DependencyTimeoutException')
DeriveSharedSecretRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeriveSharedSecretRequest')
DeriveSharedSecretResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeriveSharedSecretResponse')
DescribeCustomKeyStoresRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeCustomKeyStoresRequest')
DescribeCustomKeyStoresResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeCustomKeyStoresResponse')
DescribeKeyRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeKeyRequest')
DescribeKeyResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DescribeKeyResponse')
DescriptionType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'DescriptionType')
DisableKeyRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DisableKeyRequest')
DisableKeyRotationRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DisableKeyRotationRequest')
DisabledException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DisabledException')
DisconnectCustomKeyStoreRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DisconnectCustomKeyStoreRequest')
DisconnectCustomKeyStoreResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DisconnectCustomKeyStoreResponse')
DryRunOperationException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DryRunOperationException')
EnableKeyRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'EnableKeyRequest')
EnableKeyRotationRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'EnableKeyRotationRequest')
EncryptRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'EncryptRequest')
EncryptResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'EncryptResponse')
EncryptionAlgorithmSpec =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'EncryptionAlgorithmSpec')
EncryptionAlgorithmSpecList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'EncryptionAlgorithmSpecList')
EncryptionContextKey =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'EncryptionContextKey')
EncryptionContextType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::MapShape.new(name: 'EncryptionContextType')
EncryptionContextValue =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'EncryptionContextValue')
ErrorMessageType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ErrorMessageType')
ExpirationModelType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ExpirationModelType')
ExpiredImportTokenException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ExpiredImportTokenException')
GenerateDataKeyPairRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GenerateDataKeyPairRequest')
GenerateDataKeyPairResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GenerateDataKeyPairResponse')
GenerateDataKeyPairWithoutPlaintextRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GenerateDataKeyPairWithoutPlaintextRequest')
GenerateDataKeyPairWithoutPlaintextResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GenerateDataKeyPairWithoutPlaintextResponse')
GenerateDataKeyRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GenerateDataKeyRequest')
GenerateDataKeyResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GenerateDataKeyResponse')
GenerateDataKeyWithoutPlaintextRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GenerateDataKeyWithoutPlaintextRequest')
GenerateDataKeyWithoutPlaintextResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GenerateDataKeyWithoutPlaintextResponse')
GenerateMacRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GenerateMacRequest')
GenerateMacResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GenerateMacResponse')
GenerateRandomRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GenerateRandomRequest')
GenerateRandomResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GenerateRandomResponse')
GetKeyPolicyRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetKeyPolicyRequest')
GetKeyPolicyResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetKeyPolicyResponse')
GetKeyRotationStatusRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetKeyRotationStatusRequest')
GetKeyRotationStatusResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetKeyRotationStatusResponse')
GetParametersForImportRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetParametersForImportRequest')
GetParametersForImportResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetParametersForImportResponse')
GetPublicKeyRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetPublicKeyRequest')
GetPublicKeyResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetPublicKeyResponse')
GrantConstraints =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GrantConstraints')
GrantIdType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'GrantIdType')
GrantList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'GrantList')
GrantListEntry =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GrantListEntry')
GrantNameType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'GrantNameType')
GrantOperation =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'GrantOperation')
GrantOperationList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'GrantOperationList')
GrantTokenList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'GrantTokenList')
GrantTokenType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'GrantTokenType')
ImportKeyMaterialRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ImportKeyMaterialRequest')
ImportKeyMaterialResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ImportKeyMaterialResponse')
IncorrectKeyException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'IncorrectKeyException')
IncorrectKeyMaterialException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'IncorrectKeyMaterialException')
IncorrectTrustAnchorException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'IncorrectTrustAnchorException')
InvalidAliasNameException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidAliasNameException')
InvalidArnException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidArnException')
InvalidCiphertextException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidCiphertextException')
InvalidGrantIdException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidGrantIdException')
InvalidGrantTokenException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidGrantTokenException')
InvalidImportTokenException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidImportTokenException')
InvalidKeyUsageException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidKeyUsageException')
InvalidMarkerException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidMarkerException')
KMSInternalException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'KMSInternalException')
KMSInvalidMacException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'KMSInvalidMacException')
KMSInvalidSignatureException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'KMSInvalidSignatureException')
KMSInvalidStateException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'KMSInvalidStateException')
KeyAgreementAlgorithmSpec =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'KeyAgreementAlgorithmSpec')
KeyAgreementAlgorithmSpecList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'KeyAgreementAlgorithmSpecList')
KeyEncryptionMechanism =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'KeyEncryptionMechanism')
KeyIdType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'KeyIdType')
KeyList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'KeyList')
KeyListEntry =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'KeyListEntry')
KeyManagerType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'KeyManagerType')
KeyMetadata =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'KeyMetadata')
KeySpec =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'KeySpec')
KeyState =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'KeyState')
KeyStorePasswordType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'KeyStorePasswordType')
KeyUnavailableException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'KeyUnavailableException')
KeyUsageType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'KeyUsageType')
LimitExceededException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'LimitExceededException')
LimitType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'LimitType')
ListAliasesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListAliasesRequest')
ListAliasesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListAliasesResponse')
ListGrantsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListGrantsRequest')
ListGrantsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListGrantsResponse')
ListKeyPoliciesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListKeyPoliciesRequest')
ListKeyPoliciesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListKeyPoliciesResponse')
ListKeyRotationsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListKeyRotationsRequest')
ListKeyRotationsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListKeyRotationsResponse')
ListKeysRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListKeysRequest')
ListKeysResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListKeysResponse')
ListResourceTagsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListResourceTagsRequest')
ListResourceTagsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListResourceTagsResponse')
ListRetirableGrantsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListRetirableGrantsRequest')
MacAlgorithmSpec =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'MacAlgorithmSpec')
MacAlgorithmSpecList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'MacAlgorithmSpecList')
MalformedPolicyDocumentException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'MalformedPolicyDocumentException')
MarkerType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'MarkerType')
MessageType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'MessageType')
MultiRegionConfiguration =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'MultiRegionConfiguration')
MultiRegionKey =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'MultiRegionKey')
MultiRegionKeyList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'MultiRegionKeyList')
MultiRegionKeyType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'MultiRegionKeyType')
NotFoundException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'NotFoundException')
NullableBooleanType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::BooleanShape.new(name: 'NullableBooleanType')
NumberOfBytesType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'NumberOfBytesType')
OriginType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'OriginType')
PendingWindowInDaysType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'PendingWindowInDaysType')
PlaintextType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::BlobShape.new(name: 'PlaintextType')
PolicyNameList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'PolicyNameList')
PolicyNameType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'PolicyNameType')
PolicyType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'PolicyType')
PrincipalIdType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'PrincipalIdType')
PublicKeyType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::BlobShape.new(name: 'PublicKeyType')
PutKeyPolicyRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PutKeyPolicyRequest')
ReEncryptRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ReEncryptRequest')
ReEncryptResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ReEncryptResponse')
RecipientInfo =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RecipientInfo')
RegionType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'RegionType')
ReplicateKeyRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ReplicateKeyRequest')
ReplicateKeyResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ReplicateKeyResponse')
RetireGrantRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RetireGrantRequest')
RevokeGrantRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RevokeGrantRequest')
RotateKeyOnDemandRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RotateKeyOnDemandRequest')
RotateKeyOnDemandResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RotateKeyOnDemandResponse')
RotationPeriodInDaysType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'RotationPeriodInDaysType')
RotationType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'RotationType')
RotationsList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'RotationsList')
RotationsListEntry =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RotationsListEntry')
ScheduleKeyDeletionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ScheduleKeyDeletionRequest')
ScheduleKeyDeletionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ScheduleKeyDeletionResponse')
SignRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SignRequest')
SignResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SignResponse')
SigningAlgorithmSpec =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'SigningAlgorithmSpec')
SigningAlgorithmSpecList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'SigningAlgorithmSpecList')
Tag =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Tag')
TagException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TagException')
TagKeyList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'TagKeyList')
TagKeyType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'TagKeyType')
TagList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'TagList')
TagResourceRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TagResourceRequest')
TagValueType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'TagValueType')
TrustAnchorCertificateType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'TrustAnchorCertificateType')
UnsupportedOperationException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UnsupportedOperationException')
UntagResourceRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UntagResourceRequest')
UpdateAliasRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateAliasRequest')
UpdateCustomKeyStoreRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateCustomKeyStoreRequest')
UpdateCustomKeyStoreResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateCustomKeyStoreResponse')
UpdateKeyDescriptionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateKeyDescriptionRequest')
UpdatePrimaryRegionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdatePrimaryRegionRequest')
VerifyMacRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VerifyMacRequest')
VerifyMacResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VerifyMacResponse')
VerifyRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VerifyRequest')
VerifyResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VerifyResponse')
WrappingKeySpec =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'WrappingKeySpec')
XksKeyAlreadyInUseException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'XksKeyAlreadyInUseException')
XksKeyConfigurationType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'XksKeyConfigurationType')
XksKeyIdType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'XksKeyIdType')
XksKeyInvalidConfigurationException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'XksKeyInvalidConfigurationException')
XksKeyNotFoundException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'XksKeyNotFoundException')
XksProxyAuthenticationAccessKeyIdType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'XksProxyAuthenticationAccessKeyIdType')
XksProxyAuthenticationCredentialType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'XksProxyAuthenticationCredentialType')
XksProxyAuthenticationRawSecretAccessKeyType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'XksProxyAuthenticationRawSecretAccessKeyType')
XksProxyConfigurationType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'XksProxyConfigurationType')
XksProxyConnectivityType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'XksProxyConnectivityType')
XksProxyIncorrectAuthenticationCredentialException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'XksProxyIncorrectAuthenticationCredentialException')
XksProxyInvalidConfigurationException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'XksProxyInvalidConfigurationException')
XksProxyInvalidResponseException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'XksProxyInvalidResponseException')
XksProxyUriEndpointInUseException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'XksProxyUriEndpointInUseException')
XksProxyUriEndpointType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'XksProxyUriEndpointType')
XksProxyUriInUseException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'XksProxyUriInUseException')
XksProxyUriPathType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'XksProxyUriPathType')
XksProxyUriUnreachableException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'XksProxyUriUnreachableException')
XksProxyVpcEndpointServiceInUseException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'XksProxyVpcEndpointServiceInUseException')
XksProxyVpcEndpointServiceInvalidConfigurationException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'XksProxyVpcEndpointServiceInvalidConfigurationException')
XksProxyVpcEndpointServiceNameType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'XksProxyVpcEndpointServiceNameType')
XksProxyVpcEndpointServiceNotFoundException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'XksProxyVpcEndpointServiceNotFoundException')
API =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Seahorse::Model::Api.new.tap do |api|

  api.version = "2014-11-01"

  api. = {
    "apiVersion" => "2014-11-01",
    "auth" => ["aws.auth#sigv4"],
    "endpointPrefix" => "kms",
    "jsonVersion" => "1.1",
    "protocol" => "json",
    "protocols" => ["json"],
    "serviceAbbreviation" => "KMS",
    "serviceFullName" => "AWS Key Management Service",
    "serviceId" => "KMS",
    "signatureVersion" => "v4",
    "targetPrefix" => "TrentService",
    "uid" => "kms-2014-11-01",
  }

  api.add_operation(:cancel_key_deletion, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CancelKeyDeletion"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CancelKeyDeletionRequest)
    o.output = Shapes::ShapeRef.new(shape: CancelKeyDeletionResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: DependencyTimeoutException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
  end)

  api.add_operation(:connect_custom_key_store, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ConnectCustomKeyStore"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ConnectCustomKeyStoreRequest)
    o.output = Shapes::ShapeRef.new(shape: ConnectCustomKeyStoreResponse)
    o.errors << Shapes::ShapeRef.new(shape: CloudHsmClusterNotActiveException)
    o.errors << Shapes::ShapeRef.new(shape: CustomKeyStoreInvalidStateException)
    o.errors << Shapes::ShapeRef.new(shape: CustomKeyStoreNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: CloudHsmClusterInvalidConfigurationException)
  end)

  api.add_operation(:create_alias, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateAlias"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CreateAliasRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: DependencyTimeoutException)
    o.errors << Shapes::ShapeRef.new(shape: AlreadyExistsException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidAliasNameException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
  end)

  api.add_operation(:create_custom_key_store, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateCustomKeyStore"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CreateCustomKeyStoreRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateCustomKeyStoreResponse)
    o.errors << Shapes::ShapeRef.new(shape: CloudHsmClusterInUseException)
    o.errors << Shapes::ShapeRef.new(shape: CustomKeyStoreNameInUseException)
    o.errors << Shapes::ShapeRef.new(shape: CloudHsmClusterNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: CloudHsmClusterNotActiveException)
    o.errors << Shapes::ShapeRef.new(shape: IncorrectTrustAnchorException)
    o.errors << Shapes::ShapeRef.new(shape: CloudHsmClusterInvalidConfigurationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: XksProxyUriInUseException)
    o.errors << Shapes::ShapeRef.new(shape: XksProxyUriEndpointInUseException)
    o.errors << Shapes::ShapeRef.new(shape: XksProxyUriUnreachableException)
    o.errors << Shapes::ShapeRef.new(shape: XksProxyIncorrectAuthenticationCredentialException)
    o.errors << Shapes::ShapeRef.new(shape: XksProxyVpcEndpointServiceInUseException)
    o.errors << Shapes::ShapeRef.new(shape: XksProxyVpcEndpointServiceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: XksProxyVpcEndpointServiceInvalidConfigurationException)
    o.errors << Shapes::ShapeRef.new(shape: XksProxyInvalidResponseException)
    o.errors << Shapes::ShapeRef.new(shape: XksProxyInvalidConfigurationException)
  end)

  api.add_operation(:create_grant, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateGrant"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CreateGrantRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateGrantResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: DisabledException)
    o.errors << Shapes::ShapeRef.new(shape: DependencyTimeoutException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidGrantTokenException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
    o.errors << Shapes::ShapeRef.new(shape: DryRunOperationException)
  end)

  api.add_operation(:create_key, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateKey"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: CreateKeyRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateKeyResponse)
    o.errors << Shapes::ShapeRef.new(shape: MalformedPolicyDocumentException)
    o.errors << Shapes::ShapeRef.new(shape: DependencyTimeoutException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: TagException)
    o.errors << Shapes::ShapeRef.new(shape: CustomKeyStoreNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: CustomKeyStoreInvalidStateException)
    o.errors << Shapes::ShapeRef.new(shape: CloudHsmClusterInvalidConfigurationException)
    o.errors << Shapes::ShapeRef.new(shape: XksKeyInvalidConfigurationException)
    o.errors << Shapes::ShapeRef.new(shape: XksKeyAlreadyInUseException)
    o.errors << Shapes::ShapeRef.new(shape: XksKeyNotFoundException)
  end)

  api.add_operation(:decrypt, Seahorse::Model::Operation.new.tap do |o|
    o.name = "Decrypt"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DecryptRequest)
    o.output = Shapes::ShapeRef.new(shape: DecryptResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: DisabledException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidCiphertextException)
    o.errors << Shapes::ShapeRef.new(shape: KeyUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: IncorrectKeyException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidKeyUsageException)
    o.errors << Shapes::ShapeRef.new(shape: DependencyTimeoutException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidGrantTokenException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
    o.errors << Shapes::ShapeRef.new(shape: DryRunOperationException)
  end)

  api.add_operation(:delete_alias, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteAlias"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeleteAliasRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: DependencyTimeoutException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
  end)

  api.add_operation(:delete_custom_key_store, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteCustomKeyStore"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeleteCustomKeyStoreRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteCustomKeyStoreResponse)
    o.errors << Shapes::ShapeRef.new(shape: CustomKeyStoreHasCMKsException)
    o.errors << Shapes::ShapeRef.new(shape: CustomKeyStoreInvalidStateException)
    o.errors << Shapes::ShapeRef.new(shape: CustomKeyStoreNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
  end)

  api.add_operation(:delete_imported_key_material, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteImportedKeyMaterial"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeleteImportedKeyMaterialRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
    o.errors << Shapes::ShapeRef.new(shape: DependencyTimeoutException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
  end)

  api.add_operation(:derive_shared_secret, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeriveSharedSecret"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DeriveSharedSecretRequest)
    o.output = Shapes::ShapeRef.new(shape: DeriveSharedSecretResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: DisabledException)
    o.errors << Shapes::ShapeRef.new(shape: KeyUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: DependencyTimeoutException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidGrantTokenException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidKeyUsageException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
    o.errors << Shapes::ShapeRef.new(shape: DryRunOperationException)
  end)

  api.add_operation(:describe_custom_key_stores, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeCustomKeyStores"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DescribeCustomKeyStoresRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeCustomKeyStoresResponse)
    o.errors << Shapes::ShapeRef.new(shape: CustomKeyStoreNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidMarkerException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o[:pager] = Aws::Pager.new(
      more_results: "truncated",
      limit_key: "limit",
      tokens: {
        "next_marker" => "marker"
      }
    )
  end)

  api.add_operation(:describe_key, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeKey"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DescribeKeyRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeKeyResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: DependencyTimeoutException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
  end)

  api.add_operation(:disable_key, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DisableKey"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DisableKeyRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: DependencyTimeoutException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
  end)

  api.add_operation(:disable_key_rotation, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DisableKeyRotation"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DisableKeyRotationRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: DisabledException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: DependencyTimeoutException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
  end)

  api.add_operation(:disconnect_custom_key_store, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DisconnectCustomKeyStore"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: DisconnectCustomKeyStoreRequest)
    o.output = Shapes::ShapeRef.new(shape: DisconnectCustomKeyStoreResponse)
    o.errors << Shapes::ShapeRef.new(shape: CustomKeyStoreInvalidStateException)
    o.errors << Shapes::ShapeRef.new(shape: CustomKeyStoreNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
  end)

  api.add_operation(:enable_key, Seahorse::Model::Operation.new.tap do |o|
    o.name = "EnableKey"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: EnableKeyRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: DependencyTimeoutException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
  end)

  api.add_operation(:enable_key_rotation, Seahorse::Model::Operation.new.tap do |o|
    o.name = "EnableKeyRotation"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: EnableKeyRotationRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: DisabledException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: DependencyTimeoutException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
  end)

  api.add_operation(:encrypt, Seahorse::Model::Operation.new.tap do |o|
    o.name = "Encrypt"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: EncryptRequest)
    o.output = Shapes::ShapeRef.new(shape: EncryptResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: DisabledException)
    o.errors << Shapes::ShapeRef.new(shape: KeyUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: DependencyTimeoutException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidKeyUsageException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidGrantTokenException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
    o.errors << Shapes::ShapeRef.new(shape: DryRunOperationException)
  end)

  api.add_operation(:generate_data_key, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GenerateDataKey"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GenerateDataKeyRequest)
    o.output = Shapes::ShapeRef.new(shape: GenerateDataKeyResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: DisabledException)
    o.errors << Shapes::ShapeRef.new(shape: KeyUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: DependencyTimeoutException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidKeyUsageException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidGrantTokenException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
    o.errors << Shapes::ShapeRef.new(shape: DryRunOperationException)
  end)

  api.add_operation(:generate_data_key_pair, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GenerateDataKeyPair"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GenerateDataKeyPairRequest)
    o.output = Shapes::ShapeRef.new(shape: GenerateDataKeyPairResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: DisabledException)
    o.errors << Shapes::ShapeRef.new(shape: KeyUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: DependencyTimeoutException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidKeyUsageException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidGrantTokenException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
    o.errors << Shapes::ShapeRef.new(shape: DryRunOperationException)
  end)

  api.add_operation(:generate_data_key_pair_without_plaintext, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GenerateDataKeyPairWithoutPlaintext"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GenerateDataKeyPairWithoutPlaintextRequest)
    o.output = Shapes::ShapeRef.new(shape: GenerateDataKeyPairWithoutPlaintextResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: DisabledException)
    o.errors << Shapes::ShapeRef.new(shape: KeyUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: DependencyTimeoutException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidKeyUsageException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidGrantTokenException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
    o.errors << Shapes::ShapeRef.new(shape: DryRunOperationException)
  end)

  api.add_operation(:generate_data_key_without_plaintext, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GenerateDataKeyWithoutPlaintext"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GenerateDataKeyWithoutPlaintextRequest)
    o.output = Shapes::ShapeRef.new(shape: GenerateDataKeyWithoutPlaintextResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: DisabledException)
    o.errors << Shapes::ShapeRef.new(shape: KeyUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: DependencyTimeoutException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidKeyUsageException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidGrantTokenException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
    o.errors << Shapes::ShapeRef.new(shape: DryRunOperationException)
  end)

  api.add_operation(:generate_mac, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GenerateMac"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GenerateMacRequest)
    o.output = Shapes::ShapeRef.new(shape: GenerateMacResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: DisabledException)
    o.errors << Shapes::ShapeRef.new(shape: KeyUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidKeyUsageException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidGrantTokenException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
    o.errors << Shapes::ShapeRef.new(shape: DryRunOperationException)
  end)

  api.add_operation(:generate_random, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GenerateRandom"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GenerateRandomRequest)
    o.output = Shapes::ShapeRef.new(shape: GenerateRandomResponse)
    o.errors << Shapes::ShapeRef.new(shape: DependencyTimeoutException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
    o.errors << Shapes::ShapeRef.new(shape: CustomKeyStoreNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: CustomKeyStoreInvalidStateException)
  end)

  api.add_operation(:get_key_policy, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetKeyPolicy"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetKeyPolicyRequest)
    o.output = Shapes::ShapeRef.new(shape: GetKeyPolicyResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: DependencyTimeoutException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
  end)

  api.add_operation(:get_key_rotation_status, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetKeyRotationStatus"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetKeyRotationStatusRequest)
    o.output = Shapes::ShapeRef.new(shape: GetKeyRotationStatusResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: DependencyTimeoutException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
  end)

  api.add_operation(:get_parameters_for_import, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetParametersForImport"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetParametersForImportRequest)
    o.output = Shapes::ShapeRef.new(shape: GetParametersForImportResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
    o.errors << Shapes::ShapeRef.new(shape: DependencyTimeoutException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
  end)

  api.add_operation(:get_public_key, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetPublicKey"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: GetPublicKeyRequest)
    o.output = Shapes::ShapeRef.new(shape: GetPublicKeyResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: DisabledException)
    o.errors << Shapes::ShapeRef.new(shape: KeyUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: DependencyTimeoutException)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidGrantTokenException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidKeyUsageException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
  end)

  api.add_operation(:import_key_material, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ImportKeyMaterial"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ImportKeyMaterialRequest)
    o.output = Shapes::ShapeRef.new(shape: ImportKeyMaterialResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
    o.errors << Shapes::ShapeRef.new(shape: DependencyTimeoutException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidCiphertextException)
    o.errors << Shapes::ShapeRef.new(shape: IncorrectKeyMaterialException)
    o.errors << Shapes::ShapeRef.new(shape: ExpiredImportTokenException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidImportTokenException)
  end)

  api.add_operation(:list_aliases, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListAliases"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListAliasesRequest)
    o.output = Shapes::ShapeRef.new(shape: ListAliasesResponse)
    o.errors << Shapes::ShapeRef.new(shape: DependencyTimeoutException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidMarkerException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o[:pager] = Aws::Pager.new(
      more_results: "truncated",
      limit_key: "limit",
      tokens: {
        "next_marker" => "marker"
      }
    )
  end)

  api.add_operation(:list_grants, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListGrants"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListGrantsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListGrantsResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: DependencyTimeoutException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidMarkerException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidGrantIdException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
    o[:pager] = Aws::Pager.new(
      more_results: "truncated",
      limit_key: "limit",
      tokens: {
        "next_marker" => "marker"
      }
    )
  end)

  api.add_operation(:list_key_policies, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListKeyPolicies"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListKeyPoliciesRequest)
    o.output = Shapes::ShapeRef.new(shape: ListKeyPoliciesResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: DependencyTimeoutException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
    o[:pager] = Aws::Pager.new(
      more_results: "truncated",
      limit_key: "limit",
      tokens: {
        "next_marker" => "marker"
      }
    )
  end)

  api.add_operation(:list_key_rotations, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListKeyRotations"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListKeyRotationsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListKeyRotationsResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidMarkerException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
    o[:pager] = Aws::Pager.new(
      more_results: "truncated",
      limit_key: "limit",
      tokens: {
        "next_marker" => "marker"
      }
    )
  end)

  api.add_operation(:list_keys, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListKeys"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListKeysRequest)
    o.output = Shapes::ShapeRef.new(shape: ListKeysResponse)
    o.errors << Shapes::ShapeRef.new(shape: DependencyTimeoutException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidMarkerException)
    o[:pager] = Aws::Pager.new(
      more_results: "truncated",
      limit_key: "limit",
      tokens: {
        "next_marker" => "marker"
      }
    )
  end)

  api.add_operation(:list_resource_tags, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListResourceTags"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListResourceTagsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListResourceTagsResponse)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidMarkerException)
    o[:pager] = Aws::Pager.new(
      more_results: "truncated",
      limit_key: "limit",
      tokens: {
        "next_marker" => "marker"
      }
    )
  end)

  api.add_operation(:list_retirable_grants, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListRetirableGrants"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ListRetirableGrantsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListGrantsResponse)
    o.errors << Shapes::ShapeRef.new(shape: DependencyTimeoutException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidMarkerException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o[:pager] = Aws::Pager.new(
      more_results: "truncated",
      limit_key: "limit",
      tokens: {
        "next_marker" => "marker"
      }
    )
  end)

  api.add_operation(:put_key_policy, Seahorse::Model::Operation.new.tap do |o|
    o.name = "PutKeyPolicy"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: PutKeyPolicyRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: MalformedPolicyDocumentException)
    o.errors << Shapes::ShapeRef.new(shape: DependencyTimeoutException)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
  end)

  api.add_operation(:re_encrypt, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ReEncrypt"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ReEncryptRequest)
    o.output = Shapes::ShapeRef.new(shape: ReEncryptResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: DisabledException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidCiphertextException)
    o.errors << Shapes::ShapeRef.new(shape: KeyUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: IncorrectKeyException)
    o.errors << Shapes::ShapeRef.new(shape: DependencyTimeoutException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidKeyUsageException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidGrantTokenException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
    o.errors << Shapes::ShapeRef.new(shape: DryRunOperationException)
  end)

  api.add_operation(:replicate_key, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ReplicateKey"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ReplicateKeyRequest)
    o.output = Shapes::ShapeRef.new(shape: ReplicateKeyResponse)
    o.errors << Shapes::ShapeRef.new(shape: AlreadyExistsException)
    o.errors << Shapes::ShapeRef.new(shape: DisabledException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: MalformedPolicyDocumentException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: TagException)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
  end)

  api.add_operation(:retire_grant, Seahorse::Model::Operation.new.tap do |o|
    o.name = "RetireGrant"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: RetireGrantRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidGrantTokenException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidGrantIdException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: DependencyTimeoutException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
    o.errors << Shapes::ShapeRef.new(shape: DryRunOperationException)
  end)

  api.add_operation(:revoke_grant, Seahorse::Model::Operation.new.tap do |o|
    o.name = "RevokeGrant"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: RevokeGrantRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: DependencyTimeoutException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidGrantIdException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
    o.errors << Shapes::ShapeRef.new(shape: DryRunOperationException)
  end)

  api.add_operation(:rotate_key_on_demand, Seahorse::Model::Operation.new.tap do |o|
    o.name = "RotateKeyOnDemand"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: RotateKeyOnDemandRequest)
    o.output = Shapes::ShapeRef.new(shape: RotateKeyOnDemandResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: DisabledException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: DependencyTimeoutException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
  end)

  api.add_operation(:schedule_key_deletion, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ScheduleKeyDeletion"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: ScheduleKeyDeletionRequest)
    o.output = Shapes::ShapeRef.new(shape: ScheduleKeyDeletionResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: DependencyTimeoutException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
  end)

  api.add_operation(:sign, Seahorse::Model::Operation.new.tap do |o|
    o.name = "Sign"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: SignRequest)
    o.output = Shapes::ShapeRef.new(shape: SignResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: DisabledException)
    o.errors << Shapes::ShapeRef.new(shape: KeyUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: DependencyTimeoutException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidKeyUsageException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidGrantTokenException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
    o.errors << Shapes::ShapeRef.new(shape: DryRunOperationException)
  end)

  api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
    o.name = "TagResource"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: TagResourceRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: TagException)
  end)

  api.add_operation(:untag_resource, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UntagResource"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: UntagResourceRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
    o.errors << Shapes::ShapeRef.new(shape: TagException)
  end)

  api.add_operation(:update_alias, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateAlias"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: UpdateAliasRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: DependencyTimeoutException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
  end)

  api.add_operation(:update_custom_key_store, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateCustomKeyStore"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: UpdateCustomKeyStoreRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateCustomKeyStoreResponse)
    o.errors << Shapes::ShapeRef.new(shape: CustomKeyStoreNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: CustomKeyStoreNameInUseException)
    o.errors << Shapes::ShapeRef.new(shape: CloudHsmClusterNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: CloudHsmClusterNotRelatedException)
    o.errors << Shapes::ShapeRef.new(shape: CustomKeyStoreInvalidStateException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: CloudHsmClusterNotActiveException)
    o.errors << Shapes::ShapeRef.new(shape: CloudHsmClusterInvalidConfigurationException)
    o.errors << Shapes::ShapeRef.new(shape: XksProxyUriInUseException)
    o.errors << Shapes::ShapeRef.new(shape: XksProxyUriEndpointInUseException)
    o.errors << Shapes::ShapeRef.new(shape: XksProxyUriUnreachableException)
    o.errors << Shapes::ShapeRef.new(shape: XksProxyIncorrectAuthenticationCredentialException)
    o.errors << Shapes::ShapeRef.new(shape: XksProxyVpcEndpointServiceInUseException)
    o.errors << Shapes::ShapeRef.new(shape: XksProxyVpcEndpointServiceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: XksProxyVpcEndpointServiceInvalidConfigurationException)
    o.errors << Shapes::ShapeRef.new(shape: XksProxyInvalidResponseException)
    o.errors << Shapes::ShapeRef.new(shape: XksProxyInvalidConfigurationException)
  end)

  api.add_operation(:update_key_description, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateKeyDescription"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: UpdateKeyDescriptionRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: DependencyTimeoutException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
  end)

  api.add_operation(:update_primary_region, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdatePrimaryRegion"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: UpdatePrimaryRegionRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: DisabledException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidArnException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
  end)

  api.add_operation(:verify, Seahorse::Model::Operation.new.tap do |o|
    o.name = "Verify"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: VerifyRequest)
    o.output = Shapes::ShapeRef.new(shape: VerifyResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: DisabledException)
    o.errors << Shapes::ShapeRef.new(shape: KeyUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: DependencyTimeoutException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidKeyUsageException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidGrantTokenException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInvalidSignatureException)
    o.errors << Shapes::ShapeRef.new(shape: DryRunOperationException)
  end)

  api.add_operation(:verify_mac, Seahorse::Model::Operation.new.tap do |o|
    o.name = "VerifyMac"
    o.http_method = "POST"
    o.http_request_uri = "/"
    o.input = Shapes::ShapeRef.new(shape: VerifyMacRequest)
    o.output = Shapes::ShapeRef.new(shape: VerifyMacResponse)
    o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: DisabledException)
    o.errors << Shapes::ShapeRef.new(shape: KeyUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidKeyUsageException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidGrantTokenException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInternalException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInvalidMacException)
    o.errors << Shapes::ShapeRef.new(shape: KMSInvalidStateException)
    o.errors << Shapes::ShapeRef.new(shape: DryRunOperationException)
  end)
end