moto/moto/glue/exceptions.py
2022-04-14 19:37:10 +00:00

100 lines
2.7 KiB
Python

from moto.core.exceptions import JsonRESTError
class GlueClientError(JsonRESTError):
code = 400
class AlreadyExistsException(GlueClientError):
def __init__(self, typ):
super().__init__("AlreadyExistsException", "%s already exists." % (typ))
class DatabaseAlreadyExistsException(AlreadyExistsException):
def __init__(self):
super().__init__("Database")
class TableAlreadyExistsException(AlreadyExistsException):
def __init__(self):
super().__init__("Table")
class PartitionAlreadyExistsException(AlreadyExistsException):
def __init__(self):
super().__init__("Partition")
class CrawlerAlreadyExistsException(AlreadyExistsException):
def __init__(self):
super().__init__("Crawler")
class EntityNotFoundException(GlueClientError):
def __init__(self, msg):
super().__init__("EntityNotFoundException", msg)
class DatabaseNotFoundException(EntityNotFoundException):
def __init__(self, db):
super().__init__("Database %s not found." % db)
class TableNotFoundException(EntityNotFoundException):
def __init__(self, tbl):
super().__init__("Table %s not found." % tbl)
class PartitionNotFoundException(EntityNotFoundException):
def __init__(self):
super().__init__("Cannot find partition.")
class CrawlerNotFoundException(EntityNotFoundException):
def __init__(self, crawler):
super().__init__("Crawler %s not found." % crawler)
class JobNotFoundException(EntityNotFoundException):
def __init__(self, job):
super().__init__("Job %s not found." % job)
class VersionNotFoundException(EntityNotFoundException):
def __init__(self):
super().__init__("Version not found.")
class CrawlerRunningException(GlueClientError):
def __init__(self, msg):
super().__init__("CrawlerRunningException", msg)
class CrawlerNotRunningException(GlueClientError):
def __init__(self, msg):
super().__init__("CrawlerNotRunningException", msg)
class ConcurrentRunsExceededException(GlueClientError):
def __init__(self, msg):
super().__init__("ConcurrentRunsExceededException", msg)
class _InvalidOperationException(GlueClientError):
def __init__(self, error_type, op, msg):
super().__init__(
error_type,
"An error occurred (%s) when calling the %s operation: %s"
% (error_type, op, msg),
)
class InvalidInputException(_InvalidOperationException):
def __init__(self, op, msg):
super().__init__("InvalidInputException", op, msg)
class InvalidStateException(_InvalidOperationException):
def __init__(self, op, msg):
super().__init__("InvalidStateException", op, msg)