removed another bunch of references to geni
[sfa.git] / sfa / util / faults.py
1 #
2 # SFA API faults
3 #
4 #
5
6 ### $Id$
7 ### $URL$
8
9 import xmlrpclib
10
11 class SfaFault(xmlrpclib.Fault):
12     def __init__(self, faultCode, faultString, extra = None):
13         if extra:
14             faultString += ": " + extra
15         xmlrpclib.Fault.__init__(self, faultCode, faultString)
16
17 class SfaInvalidAPIMethod(SfaFault):
18     def __init__(self, method, interface = None, extra = None):
19         faultString = "Invalid method " + method
20         if interface:
21             faultString += " for interface " + interface
22         SfaFault.__init__(self, 100, faultString, extra)
23
24 class SfaInvalidArgumentCount(SfaFault):
25     def __init__(self, got, min, max = min, extra = None):
26         if min != max:
27             expected = "%d-%d" % (min, max)
28         else:
29             expected = "%d" % min
30         faultString = "Expected %s arguments, got %d" % \
31                       (expected, got)
32         SfaFault.__init__(self, 101, faultString, extra)
33
34 class SfaInvalidArgument(SfaFault):
35     def __init__(self, extra = None, name = None):
36         if name is not None:
37             faultString = "Invalid %s value" % name
38         else:
39             faultString = "Invalid argument"
40         SfaFault.__init__(self, 102, faultString, extra)
41
42 class SfaAuthenticationFailure(SfaFault):
43     def __init__(self, extra = None):
44         faultString = "Failed to authenticate call"
45         SfaFault.__init__(self, 103, faultString, extra)
46
47 class SfaDBError(SfaFault):
48     def __init__(self, extra = None):
49         faultString = "Database error"
50         SfaFault.__init__(self, 106, faultString, extra)
51
52 class SfaPermissionDenied(SfaFault):
53     def __init__(self, extra = None):
54         faultString = "Permission denied"
55         SfaFault.__init__(self, 108, faultString, extra)
56
57 class SfaNotImplemented(SfaFault):
58     def __init__(self, extra = None):
59         faultString = "Not fully implemented"
60         SfaFault.__init__(self, 109, faultString, extra)
61
62 class SfaAPIError(SfaFault):
63     def __init__(self, extra = None):
64         faultString = "Internal API error"
65         SfaFault.__init__(self, 111, faultString, extra)
66
67 class MalformedHrnException(SfaFault):
68     def __init__(self, value, extra = None):
69         self.value = value
70         faultString = "Malformed HRN: %(value)s" % locals()
71         SfaFault.__init__(self, 102, faultString, extra)
72     def __str__(self):
73         return repr(self.value)
74
75 class TreeException(SfaFault):
76     def __init__(self, value, extra = None):
77         self.value = value
78         faultString = "Tree Exception: %(value)s, " % locals()
79         SfaFault.__init__(self, 111, faultString, extra)
80     def __str__(self):
81         return repr(self.value)
82
83 class NonexistingRecord(SfaFault):
84     def __init__(self, value, extra = None):
85         self.value = value
86         faultString = "Non exsiting record %(value)s, " % locals()
87         SfaFault.__init__(self, 111, faultString, extra)
88     def __str__(self):
89         return repr(self.value)
90
91 class ExistingRecord(SfaFault):
92     def __init__(self, value, extra = None):
93         self.value = value
94         faultString = "Existing record: %(value)s, " % locals()
95         SfaFault.__init__(self, 111, faultString, extra)
96     def __str__(self):
97         return repr(self.value)
98         
99 class NonexistingCredType(SfaFault):
100     def __init__(self, value, extra = None):
101         self.value = value
102         faultString = "Non existing record: %(value)s, " % locals()
103         SfaFault.__init__(self, 111, faultString, extra)
104     def __str__(self):
105         return repr(self.value)
106
107 class NonexistingFile(SfaFault):
108     def __init__(self, value):
109         self.value = value
110         faultString = "Non existing file: %(value)s, " % locals()
111         SfaFault.__init__(self, 111, faultString, extra)
112     def __str__(self):
113         return repr(self.value)
114
115 class InvalidRPCParams(SfaFault):
116     def __init__(self, value):
117         self.value = value
118         faultString = "Invalid RPC Params: %(value)s, " % locals()
119         SfaFault.__init__(self, 102, faultString, extra)
120     def __str__(self):
121         return repr(self.value)
122
123 # SMBAKER exceptions follow
124
125 class ConnectionKeyGIDMismatch(SfaFault):
126     def __init__(self, value, extra = None):
127         self.value = value
128         faultString = "Connection Key GID mismatch: %(value)s" % locals()
129         SfaFault.__init__(self, 102, faultString, extra) 
130     def __str__(self):
131         return repr(self.value)
132
133 class MissingCallerGID(SfaFault):
134     def __init__(self, value, extra = None):
135         self.value = value
136         faultString = "Missing Caller GID: %(value)s" % locals()
137         SfaFault.__init__(self, 102, faultString, extra) 
138     def __str__(self):
139         return repr(self.value)
140
141 class RecordNotFound(SfaFault):
142     def __init__(self, value, extra = None):
143         self.value = value
144         faultString = "Record not found: %(value)s" % locals()
145         SfaFault.__init__(self, 102, faultString, extra)
146     #def __str__(self):
147     #    return repr(self.value)
148
149 class UnknownSfaType(SfaFault):
150     def __init__(self, value, extra = None):
151         self.value = value
152         faultString = "Unknown SFA Type: %(value)s" % locals()
153         SfaFault.__init__(self, 102, faultString, extra)
154     def __str__(self):
155         return repr(self.value)
156
157 class MissingAuthority(SfaFault):
158     def __init__(self, value, extra = None):
159         self.value = value
160         faultString = "Missing authority: %(value)s" % locals()
161         SfaFault.__init__(self, 102, faultString, extra)
162     def __str__(self):
163         return repr(self.value)
164
165 class PlanetLabRecordDoesNotExist(SfaFault):
166     def __init__(self, value, extra = None):
167         self.value = value
168         faultString = "PlanetLab record does not exist : %(value)s" % locals()
169         SfaFault.__init__(self, 102, faultString, extra)
170     def __str__(self):
171         return repr(self.value)
172
173 class PermissionError(SfaFault):
174     def __init__(self, value, extra = None):
175         self.value = value
176         faultString = "Permission error: %(value)s" % locals()
177         SfaFault.__init__(self, 108, faultString, extra)
178     def __str__(self):
179         return repr(self.value)
180
181 class InsufficientRights(SfaFault):
182     def __init__(self, value, extra = None):
183         self.value = value
184         faultString = "Insufficient rights: %(value)s" % locals()
185         SfaFault.__init__(self, 108, faultString, extra)
186     def __str__(self):
187         return repr(self.value)
188
189 class MissingDelegateBit(SfaFault):
190     def __init__(self, value, extra = None):
191         self.value = value
192         faultString = "Missing delegate bit: %(value)s" % locals()
193         SfaFault.__init__(self, 108, faultString, extra)
194     def __str__(self):
195         return repr(self.value)
196
197 class ChildRightsNotSubsetOfParent(SfaFault):
198     def __init__(self, value, extra = None):
199         self.value = value
200         faultString = "Child rights not subset of parent: %(value)s" % locals()
201         SfaFault.__init__(self, 103, faultString, extra)
202     def __str__(self):
203         return repr(self.value)
204
205 class CertMissingParent(SfaFault):
206     def __init__(self, value, extra = None):
207         self.value = value
208         faultString = "Cert missing parent: %(value)s" % locals()
209         SfaFault.__init__(self, 103, faultString, extra)
210     def __str__(self):
211         return repr(self.value)
212
213 class CertNotSignedByParent(SfaFault):
214     def __init__(self, value, extra = None):
215         self.value = value
216         faultString = "Cert not signed by parent: %(value)s" % locals()
217         SfaFault.__init__(self, 103, faultString, extra)
218     def __str__(self):
219         return repr(self.value)
220
221 class GidInvalidParentHrn(SfaFault):
222     def __init__(self, value, extra = None):
223         self.value = value
224         faultString = "GID invalid parent hrn: %(value)s" % locals()
225         SfaFault.__init__(self, 102, faultString, extra)
226     def __str__(self):
227         return repr(self.value)
228
229 class SliverDoesNotExist(SfaFault):
230     def __init__(self, value, extra = None):
231         self.value = value
232         faultString = "Sliver does not exist : %(value)s" % locals()
233         SfaFault.__init__(self, 102, faultString, extra)
234     def __str__(self):
235         return repr(self.value)
236
237 class BadRequestHash(xmlrpclib.Fault):
238    def __init__(self, hash = None):
239         faultString = "bad request hash: " + str(hash)
240         xmlrpclib.Fault.__init__(self, 902, faultString)
241
242 class MissingTrustedRoots(SfaFault):
243     def __init__(self, value, extra = None):
244         self.value = value
245         faultString = "Trusted root directory does not exist: %(value)s" % locals()
246         SfaFault.__init__(self, 102, faultString, extra) 
247     def __str__(self):
248         return repr(self.value)
249
250 class MissingSfaInfo(SfaFault):
251     def __init__(self, value, extra = None):
252         self.value = value
253         faultString = "Missing information: %(value)s" % locals()
254         SfaFault.__init__(self, 102, faultString, extra) 
255     def __str__(self):
256         return repr(self.value)
257