class IamException(Exception): "Iam Exception" # Second level classes # ===================== class UnresolvedResourceDependencies(IamException): "Raised when resources dependency is unmet" class UnknownCatalogItem(IamException): "Raised when resources dependency is unmet" class UnknownResourceKind(IamException): "Raised when resource refers to unexisting kind" class MissingConfigFiles(IamException): "Raised when iam can't find any valid configuration file" class UnknownServiceCommand(IamException): "Raised when a command is not matched against services" # Configuration errors # ===================== class ConfigurationError(IamException): "Raised when a command is not matched against services" class ConfigDuplicateCmds(ConfigurationError): "Raised when two service commands overlap. May be caused by plugins" class ConfigForbiddenPrefixCmds(ConfigurationError): "Raised when a service is not correctly prefixed. May be caused by plugins" class ConfigUnknownPlugin(ConfigurationError): "Raised when a plugin can't be found"