summaryrefslogtreecommitdiff
path: root/designate/exceptions.py
diff options
context:
space:
mode:
Diffstat (limited to 'designate/exceptions.py')
-rw-r--r--designate/exceptions.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/designate/exceptions.py b/designate/exceptions.py
index 071addf5..406220f6 100644
--- a/designate/exceptions.py
+++ b/designate/exceptions.py
@@ -238,6 +238,18 @@ class ZoneHasSubZone(DesignateException):
error_type = 'zone_has_sub_zone'
+class SharedZoneHasSubZone(DesignateException):
+ error_code = 400
+ error_type = 'shared_zone_has_sub_zone'
+ expected = True
+
+
+class SharedZoneHasRecordSets(DesignateException):
+ error_code = 400
+ error_type = 'shared_zone_has_recordsets'
+ expected = True
+
+
class Forbidden(DesignateException):
error_code = 403
error_type = 'forbidden'
@@ -364,6 +376,10 @@ class DuplicateZoneMaster(Duplicate):
error_type = 'duplicate_zone_attribute'
+class DuplicateSharedZone(Duplicate):
+ error_type = 'duplicate_shared_zone'
+
+
class NotFound(DesignateException):
expected = True
error_code = 404
@@ -470,6 +486,10 @@ class ZoneExportNotFound(NotFound):
error_type = 'zone_export_not_found'
+class SharedZoneNotFound(NotFound):
+ error_type = 'shared_zone_not_found'
+
+
class LastServerDeleteNotAllowed(BadRequest):
error_type = 'last_server_delete_not_allowed'
@@ -486,3 +506,8 @@ class MissingProjectID(BadRequest):
# designate/api/middleware.py#L132
error_code = 401
error_type = 'missing_project_id'
+
+
+class ZoneShared(DesignateException):
+ error_code = 400
+ error_type = 'zone_is_shared'