class InvalidCPUInfo(Invalid): message = _("Unacceptable CPU info") + ": %(reason)s"
class RouteGatewayNotReachable(Conflict): message = _("Route gateway %(gateway)s is not reachable by any address " " on this interface")
class RoutesNotSupportedOnInterfaces(Conflict): message = _("Routes may not be configured against interfaces with network " "type '%(type)s'")
class DuplicateAddressDetectionNotSupportedOnIpv4(Conflict): message = _("Duplicate Address Detection (DAD) not supported on " "IPv4 Addresses")
class RouteAlreadyExists(Conflict): message = _("Route %(network)s/%(prefix)s via %(gateway)s already " "exists on this host.")
class UnsupportedInterfaceNetworkType(Conflict): message = _("Interface with network type '%(networktype)s' does not " "support static addresses.")
class InterfaceNetworkNotSet(Conflict): message = _("The Interface does not have any network assigned to it.")
class InvalidIdentity(Invalid): message = _("Expected an uuid or int but received %(identity)s.")
class PatchError(Invalid): message = _("Couldn't apply patch '%(patch)s'. Reason: %(reason)s")
class InvalidUUID(Invalid): message = _("Expected a uuid but received %(uuid)s.")
class InvalidIPAddress(Invalid): message = _("Expected an IPv4 or IPv6 address but received %(address)s.")
class InvalidDiskFormat(Invalid): message = _("Disk format %(disk_format)s is not acceptable")
class IpAddressOutOfRange(Invalid): message = _("%(address)s is not in the range: %(low)s to %(high)s")
class InvalidIpAddressError(Invalid): message = _("%(address)s is not a valid IP v4/6 address.")
class AddressAlreadyAllocated(Conflict): message = _("Address %(address)s is already allocated")
class InvalidMAC(Invalid): message = _("Expected a MAC address but received %(mac)s.")
class AddressNetworkInvalid(Conflict): message = _("Address %(address)s/%(prefix)s does not match pool network")
class ManagedIPAddress(Invalid): message = _("The infrastructure IP address for this nodetype is " "specified by the system configuration and cannot be " "modified.")
class InterfaceNameAlreadyExists(Conflict): message = _("Interface with name %(name)s already exists.")
class AddressAlreadyExists(Conflict): message = _("Address %(address)s/%(prefix)s already " "exists on this interface.")
class AddressInUseByRouteGateway(Conflict): message = _("Address %(address)s is in use by a route to " "%(network)s/%(prefix)s via %(gateway)s")
class AddressInSameSubnetExists(Conflict): message = _("Address %(address)s/%(prefix)s on interface %(interface)s " "is in same subnet")
class DuplicateAddressDetectionRequiredOnIpv6(Conflict): message = _("Duplicate Address Detection (DAD) required on " "IPv6 Addresses")
class AddressCountLimitedToOne(Conflict): message = _("Interface with network type '%(iftype)s' does not support " "multiple static addresses")
class RouteMaxPathsForSubnet(Conflict): message = _("Maximum number of paths (%(count)s) already reached for " "%(network)s/%(prefix)s already reached.")
class AddressLimitedToOneWithSDN(Conflict): message = _("Only one Address allowed for all interfaces with network type" " '%(iftype)s' when SDN is enabled")
class RouteGatewayCannotBeLocal(Conflict): message = _("Route gateway %(gateway)s cannot be another local interface")
class AddressNameExists(Conflict): message = _("Address already exists with name %(name)s")
class DefaultRouteNotAllowedOnVRSInterface(Conflict): message = _("Default route not permitted on 'data-vrs' interfaces")
class CephPoolSetParamFailure(CephFailure): message = _("Cannot set Ceph OSD pool parameter: " "pool_name=%(pool_name)s, param=%(param)s, value=%(value)s. " "Reason: %(reason)s")