"""Exceptions raised by the sdb service."""
from typing import Any
from moto.core.exceptions import RESTError
SDB_ERROR = """<?xml version="1.0"?>
<Response>
<Errors>
<Error>
<Code>{{ error_type }}</Code>
<Message>{{ message }}</Message>
<BoxUsage>0.0055590278</BoxUsage>
</Error>
</Errors>
<RequestID>ba3a8c86-dc37-0a45-ef44-c6cf7876a62f</RequestID>
</Response>"""
class InvalidParameterError(RESTError):
code = 400
extended_templates = {"sdb_error": SDB_ERROR}
env = RESTError.extended_environment(extended_templates)
def __init__(self, **kwargs: Any):
kwargs.setdefault("template", "sdb_error")
kwargs["error_type"] = "InvalidParameterValue"
super().__init__(**kwargs)
class InvalidDomainName(InvalidParameterError):
code = 400
def __init__(self, domain_name: str):
super().__init__(
message=f"Value ({domain_name}) for parameter DomainName is invalid. "
)
class UnknownDomainName(RESTError):
code = 400
extended_templates = {"sdb_error": SDB_ERROR}
env = RESTError.extended_environment(extended_templates)
def __init__(self, **kwargs: Any):
kwargs.setdefault("template", "sdb_error")
kwargs["error_type"] = "NoSuchDomain"
kwargs["message"] = "The specified domain does not exist."
super().__init__(**kwargs)