from typing import Any from moto.core.exceptions import RESTError EXCEPTION_RESPONSE = """<?xml version="1.0"?> <ErrorResponse xmlns="http://elasticache.amazonaws.com/doc/2015-02-02/"> <Error> <Type>Sender</Type> <Code>{{ error_type }}</Code> <Message>{{ message }}</Message> </Error> <{{ request_id_tag }}>30c0dedb-92b1-4e2b-9be4-1188e3ed86ab</{{ request_id_tag }}> </ErrorResponse>""" class ElastiCacheException(RESTError): code = 400 extended_templates = {"ecerror": EXCEPTION_RESPONSE} env = RESTError.extended_environment(extended_templates) def __init__(self, code: str, message: str, **kwargs: Any): kwargs.setdefault("template", "ecerror") super().__init__(code, message) class PasswordTooShort(ElastiCacheException): code = 404 def __init__(self) -> None: super().__init__( "InvalidParameterValue", message="Passwords length must be between 16-128 characters.", ) class PasswordRequired(ElastiCacheException): code = 404 def __init__(self) -> None: super().__init__( "InvalidParameterValue", message="No password was provided. If you want to create/update the user without password, please use the NoPasswordRequired flag.", ) class InvalidParameterValueException(ElastiCacheException): code = 404 def __init__(self, message: str) -> None: super().__init__( "InvalidParameterValue", message=message, ) class InvalidParameterCombinationException(ElastiCacheException): code = 404 def __init__(self, message: str) -> None: super().__init__( "InvalidParameterCombination", message=message, ) class UserAlreadyExists(ElastiCacheException): code = 404 def __init__(self) -> None: super().__init__("UserAlreadyExists", message="User user1 already exists.") class UserNotFound(ElastiCacheException): code = 404 def __init__(self, user_id: str): super().__init__("UserNotFound", message=f"User {user_id} not found.") class CacheClusterAlreadyExists(ElastiCacheException): code = 404 def __init__(self, cache_cluster_id: str): ( super().__init__( "CacheClusterAlreadyExists", message=f"Cache cluster {cache_cluster_id} already exists.", ), ) class CacheClusterNotFound(ElastiCacheException): code = 404 def __init__(self, cache_cluster_id: str): super().__init__( "CacheClusterNotFound", message=f"Cache cluster {cache_cluster_id} not found.", ) class InvalidARNFault(ElastiCacheException): code = 400 def __init__(self, arn: str): super().__init__( "InvalidARNFault", message=f"ARN {arn} is invalid.", )
Memory