class InvalidState(Invalid): _msg_fmt = _("Invalid resource state.")
class Base64Exception(MoganException): _msg_fmt = _("Invalid Base 64 data for file %(path)s")
class KeypairNotFound(NotFound): _msg_fmt = _("Keypair %(name)s not found for user %(user_id)s")
class ConfigDriveMountFailed(MoganException): _msg_fmt = _("Could not mount vfat config drive. %(operation)s failed. " "Error: %(error)s")
class ServerUserDataTooLarge(MoganException): _msg_fmt = _("User data too large. User data must be no larger than " "%(maxsize)s bytes once base64 encoded. Your data is " "%(length)d bytes")
class ReservationNotFound(NotFound): _msg_fmt = _("Reservation %(uuid)s could not be found.")
class ConsoleNotAvailable(MoganException): _msg_fmt = _("Console not available.")
class NetworkRequiresSubnet(Invalid): _msg_fmt = _("Network %(network_uuid)s requires a subnet in order to boot" " servers on.")
class ServerIsLocked(Invalid): _msg_fmt = _("Server %(server_uuid)s is locked")
class FloatingIpMultipleFoundForAddress(MoganException): _msg_fmt = _("Multiple floating IPs are found for address %(address)s.")
class NetworkNotFound(NotFound): _msg_fmt = _("Network %(network_id)s could not be found.")
class FloatingIpNotFoundForAddress(NotFound): _msg_fmt = _("Floating IP not found for address %(address)s.")
class PortNotFound(NotFound): _msg_fmt = _("Port id %(port_id)s could not be found.")
class DuplicateState(Conflict): _msg_fmt = _("Resource already exists.")
class QuotaAlreadyExists(MoganException): _msg_fmt = _("Quota with name %(name)s and project %(project_id)s already" " exists.")
class ServerInMaintenance(Invalid): _msg_fmt = _("Server %(server_uuid)s is in maintenance mode")
class ReservationAlreadyExists(MoganException): _msg_fmt = _("Reservation with name %(name)s and project %(project_id)s " "already exists.")
class InvalidReservationExpiration(Invalid): _msg_fmt = _("Invalid reservation expiration %(expire)s.")
class InvalidToken(Invalid): _msg_fmt = _("Invalid token: %(token)s")
class QuotaNotFound(NotFound): _msg_fmt = _("Quota %(quota_name)s could not be found.")
class ConsoleTypeUnavailable(Invalid): _msg_fmt = _("Unavailable console type %(console_type)s.")
class ProjectQuotaNotFound(QuotaNotFound): _msg_fmt = _("Quota for project %(project_id)s could not be found.")
class ConfigDriveUnknownFormat(MoganException): _msg_fmt = _("Unknown config drive format %(format)s. Select one of " "iso9660 or vfat.")
class QuotaResourceUnknown(QuotaNotFound): _msg_fmt = _("Unknown quota resources %(unknown)s.")
class ServerUserDataMalformed(MoganException): _msg_fmt = _("User data needs to be valid base 64.")
class OverQuota(MoganException): _msg_fmt = _("Quota exceeded for resources: %(overs)s")
class KeyPairExists(MoganException): _msg_fmt = _("KeyPaire with key name %(key_name)s already exists.")
class PortLimitExceeded(OverQuota): _msg_fmt = _("Maximum number of ports exceeded")
class InvalidKeypair(Invalid): _msg_fmt = _("Keypair data is invalid: %(reason)s")
class AZNotFound(NotFound): _msg_fmt = _("The availability zone could not be found.")