root / commissioning / api / quotaholder.py @ 9f1a1bd0
History | View | Annotate | Download (5.8 kB)
1 |
|
---|---|
2 |
from .specificator import (CanonifyException, SpecifyException, |
3 |
Specificator, Null, Integer, String, |
4 |
Tuple, ListOf, Dict, Args) |
5 |
|
6 |
Context = Dict(classname='Context')
|
7 |
|
8 |
class Name(String): |
9 |
def init(self): |
10 |
self.opts.update({'regex': "[\w.:]+", 'maxlen':512}) |
11 |
|
12 |
class Nonnegative(Integer): |
13 |
def init(self): |
14 |
self.opts.update({'minimum': 0}) |
15 |
|
16 |
class Positive(Integer): |
17 |
def init(self): |
18 |
self.opts.update({'minimum': 1}) |
19 |
|
20 |
Serial = Positive(classname='Serial')
|
21 |
|
22 |
ClientKey = Name(classname='ClientKey')
|
23 |
Nothing = Null(classname='Nothing')
|
24 |
|
25 |
Entity = Name(classname='Entity')
|
26 |
Owner = Name(classname='Owner')
|
27 |
Key = Name(classname='Key')
|
28 |
OwnerKey = Name(classname='OwnerKey')
|
29 |
Resource = Name(classname='Resource')
|
30 |
Policy = Name(classname='Policy')
|
31 |
|
32 |
Quantity = Nonnegative(classname='Quantity')
|
33 |
Capacity = Nonnegative(classname='Capacity')
|
34 |
ImportLimit = Nonnegative(classname='ImportLimit')
|
35 |
ExportLimit = Nonnegative(classname='ExportLimit')
|
36 |
Imported = Nonnegative(classname='Imported')
|
37 |
Exported = Nonnegative(classname='Exported')
|
38 |
Flags = Nonnegative(classname='Flags')
|
39 |
|
40 |
|
41 |
class QuotaholderAPI(Specificator): |
42 |
|
43 |
def create_entity ( |
44 |
self,
|
45 |
context = Context, |
46 |
create_entity = ListOf(Entity, Owner, Key, OwnerKey, nonempty=1)
|
47 |
): |
48 |
|
49 |
rejected = ListOf(Entity) |
50 |
return rejected
|
51 |
|
52 |
def list_entities ( |
53 |
self,
|
54 |
context = Context, |
55 |
entity = Entity, |
56 |
key = Key |
57 |
): |
58 |
|
59 |
entities = ListOf(Entity) |
60 |
return entities
|
61 |
|
62 |
def get_entity ( |
63 |
self,
|
64 |
context = Context, |
65 |
get_entity = ListOf(Entity, Key, nonempty=1)
|
66 |
): |
67 |
|
68 |
entities = ListOf(Entity, Owner) |
69 |
return entities
|
70 |
|
71 |
def get_limits ( |
72 |
self,
|
73 |
context = Context, |
74 |
get_limits = ListOf(Entity, Resource, Key, nonempty=1)
|
75 |
): |
76 |
|
77 |
limits = ListOf(Entity, Resource, Quantity, Capacity, |
78 |
ImportLimit, ExportLimit, Flags) |
79 |
return limits
|
80 |
|
81 |
def set_limits ( |
82 |
self,
|
83 |
context = Context, |
84 |
set_limits = ListOf( Entity, Resource, Key, |
85 |
Quantity, Capacity, |
86 |
ImportLimit, ExportLimit, Flags, |
87 |
nonempty=1 )
|
88 |
): |
89 |
|
90 |
rejected = ListOf(Entity, Resource) |
91 |
return rejected
|
92 |
|
93 |
def get_holding ( |
94 |
self,
|
95 |
context = Context, |
96 |
get_holding = ListOf(Entity, Resource, Key) |
97 |
): |
98 |
|
99 |
holdings = ListOf( Entity, Resource, Policy, |
100 |
Imported, Exported, Flags ) |
101 |
return holdings
|
102 |
|
103 |
def set_holding ( |
104 |
self,
|
105 |
context = Context, |
106 |
set_holding = ListOf(Entity, Resource, Key, Policy, Flags) |
107 |
): |
108 |
|
109 |
rejected = ListOf(Entity, Resource, Policy) |
110 |
return rejected
|
111 |
|
112 |
def list_resources ( |
113 |
self,
|
114 |
context = Context, |
115 |
entity = Entity, |
116 |
key = Key |
117 |
): |
118 |
|
119 |
resources = ListOf(Resource) |
120 |
return resources
|
121 |
|
122 |
def get_quota ( |
123 |
self,
|
124 |
context = Context, |
125 |
get_quota = ListOf(Entity, Resource, Key) |
126 |
): |
127 |
|
128 |
quotas = ListOf(Entity, Resource, |
129 |
Quantity, Capacity, |
130 |
ImportLimit, ExportLimit, |
131 |
Imported, Exported, |
132 |
Flags) |
133 |
return quotas
|
134 |
|
135 |
def set_quota ( |
136 |
self,
|
137 |
context = Context, |
138 |
set_quota = ListOf( Entity, Resource, Key, |
139 |
Quantity, Capacity, |
140 |
ImportLimit, ExportLimit, Flags ) |
141 |
): |
142 |
|
143 |
rejected = ListOf(Entity, Resource) |
144 |
return rejected
|
145 |
|
146 |
def issue_commission ( |
147 |
self,
|
148 |
context = Context, |
149 |
entity = Entity, |
150 |
key = Key, |
151 |
clientkey = ClientKey, |
152 |
owner = Owner, |
153 |
ownerkey = OwnerKey, |
154 |
provisions = ListOf(Entity, Resource, Quantity) |
155 |
): |
156 |
|
157 |
return Serial
|
158 |
|
159 |
def accept_commission ( |
160 |
self,
|
161 |
context = Context, |
162 |
clientkey = ClientKey, |
163 |
serial = Serial |
164 |
): |
165 |
|
166 |
return Nothing
|
167 |
|
168 |
def reject_commission ( |
169 |
self,
|
170 |
context = Context, |
171 |
clientkey = ClientKey, |
172 |
serial = Serial |
173 |
): |
174 |
|
175 |
return Nothing
|
176 |
|
177 |
def get_pending_commissions ( |
178 |
self,
|
179 |
context = Context, |
180 |
clientkey = ClientKey |
181 |
): |
182 |
|
183 |
pending = ListOf(Serial) |
184 |
return pending
|
185 |
|
186 |
def resolve_pending_commissions ( |
187 |
self,
|
188 |
context = Context, |
189 |
clientkey = ClientKey, |
190 |
max_serial = Serial, |
191 |
accept_set = ListOf(Serial) |
192 |
): |
193 |
|
194 |
return Nothing
|
195 |
|
196 |
def release_entity ( |
197 |
self,
|
198 |
context = Context, |
199 |
release_entity = ListOf(Entity, Key, nonempty=1)
|
200 |
): |
201 |
|
202 |
rejected = ListOf(Entity) |
203 |
return rejected
|
204 |
|