Revision bf968b7f lib/rapi/connector.py
b/lib/rapi/connector.py | ||
---|---|---|
31 | 31 |
from ganeti.rapi import baserlib |
32 | 32 |
from ganeti.rapi import rlib2 |
33 | 33 |
|
34 |
|
|
35 |
_NAME_PATTERN = r"[\w\._-]+" |
|
36 |
|
|
34 | 37 |
# the connection map is created at the end of this file |
35 | 38 |
CONNECTOR = {} |
36 | 39 |
|
... | ... | |
144 | 147 |
return baserlib.BuildUriList(_getResources("2"), "/2/%s") |
145 | 148 |
|
146 | 149 |
|
147 |
CONNECTOR.update({ |
|
148 |
"/": R_root, |
|
150 |
def GetHandlers(node_name_pattern, instance_name_pattern, job_id_pattern): |
|
151 |
"""Returns all supported resources and their handlers. |
|
152 |
|
|
153 |
""" |
|
154 |
return { |
|
155 |
"/": R_root, |
|
156 |
|
|
157 |
"/version": rlib2.R_version, |
|
149 | 158 |
|
150 |
"/version": rlib2.R_version,
|
|
159 |
"/2": R_2,
|
|
151 | 160 |
|
152 |
"/2": R_2, |
|
153 |
"/2/jobs": rlib2.R_2_jobs, |
|
154 |
"/2/nodes": rlib2.R_2_nodes, |
|
155 |
re.compile(r'^/2/nodes/([\w\._-]+)$'): rlib2.R_2_nodes_name, |
|
156 |
re.compile(r'^/2/nodes/([\w\._-]+)/tags$'): rlib2.R_2_nodes_name_tags, |
|
157 |
re.compile(r'^/2/nodes/([\w\._-]+)/role$'): rlib2.R_2_nodes_name_role, |
|
158 |
re.compile(r'^/2/nodes/([\w\._-]+)/evacuate$'): |
|
161 |
"/2/nodes": rlib2.R_2_nodes, |
|
162 |
re.compile(r'^/2/nodes/(%s)$' % node_name_pattern): |
|
163 |
rlib2.R_2_nodes_name, |
|
164 |
re.compile(r'^/2/nodes/(%s)/tags$' % node_name_pattern): |
|
165 |
rlib2.R_2_nodes_name_tags, |
|
166 |
re.compile(r'^/2/nodes/(%s)/role$' % node_name_pattern): |
|
167 |
rlib2.R_2_nodes_name_role, |
|
168 |
re.compile(r'^/2/nodes/(%s)/evacuate$' % node_name_pattern): |
|
159 | 169 |
rlib2.R_2_nodes_name_evacuate, |
160 |
re.compile(r'^/2/nodes/([\w\._-]+)/migrate$'):
|
|
170 |
re.compile(r'^/2/nodes/(%s)/migrate$' % node_name_pattern):
|
|
161 | 171 |
rlib2.R_2_nodes_name_migrate, |
162 |
re.compile(r'^/2/nodes/([\w\._-]+)/storage$'):
|
|
172 |
re.compile(r'^/2/nodes/(%s)/storage$' % node_name_pattern):
|
|
163 | 173 |
rlib2.R_2_nodes_name_storage, |
164 |
re.compile(r'^/2/nodes/([\w\._-]+)/storage/modify$'):
|
|
174 |
re.compile(r'^/2/nodes/(%s)/storage/modify$' % node_name_pattern):
|
|
165 | 175 |
rlib2.R_2_nodes_name_storage_modify, |
166 |
re.compile(r'^/2/nodes/([\w\._-]+)/storage/repair$'):
|
|
176 |
re.compile(r'^/2/nodes/(%s)/storage/repair$' % node_name_pattern):
|
|
167 | 177 |
rlib2.R_2_nodes_name_storage_repair, |
168 |
"/2/instances": rlib2.R_2_instances, |
|
169 |
re.compile(r'^/2/instances/([\w\._-]+)$'): rlib2.R_2_instances_name, |
|
170 |
re.compile(r'^/2/instances/([\w\._-]+)/info$'): |
|
178 |
|
|
179 |
"/2/instances": rlib2.R_2_instances, |
|
180 |
re.compile(r'^/2/instances/(%s)$' % instance_name_pattern): |
|
181 |
rlib2.R_2_instances_name, |
|
182 |
re.compile(r'^/2/instances/(%s)/info$' % instance_name_pattern): |
|
171 | 183 |
rlib2.R_2_instances_name_info, |
172 |
re.compile(r'^/2/instances/([\w\._-]+)/tags$'): rlib2.R_2_instances_name_tags, |
|
173 |
re.compile(r'^/2/instances/([\w\._-]+)/reboot$'): |
|
184 |
re.compile(r'^/2/instances/(%s)/tags$' % instance_name_pattern): |
|
185 |
rlib2.R_2_instances_name_tags, |
|
186 |
re.compile(r'^/2/instances/(%s)/reboot$' % instance_name_pattern): |
|
174 | 187 |
rlib2.R_2_instances_name_reboot, |
175 |
re.compile(r'^/2/instances/([\w\._-]+)/reinstall$'):
|
|
188 |
re.compile(r'^/2/instances/(%s)/reinstall$' % instance_name_pattern):
|
|
176 | 189 |
rlib2.R_2_instances_name_reinstall, |
177 |
re.compile(r'^/2/instances/([\w\._-]+)/replace-disks$'):
|
|
190 |
re.compile(r'^/2/instances/(%s)/replace-disks$' % instance_name_pattern):
|
|
178 | 191 |
rlib2.R_2_instances_name_replace_disks, |
179 |
re.compile(r'^/2/instances/([\w\._-]+)/shutdown$'):
|
|
192 |
re.compile(r'^/2/instances/(%s)/shutdown$' % instance_name_pattern):
|
|
180 | 193 |
rlib2.R_2_instances_name_shutdown, |
181 |
re.compile(r'^/2/instances/([\w\._-]+)/startup$'):
|
|
194 |
re.compile(r'^/2/instances/(%s)/startup$' % instance_name_pattern):
|
|
182 | 195 |
rlib2.R_2_instances_name_startup, |
183 |
re.compile(r'/2/jobs/(%s)$' % constants.JOB_ID_TEMPLATE): rlib2.R_2_jobs_id, |
|
184 |
"/2/tags": rlib2.R_2_tags, |
|
185 |
"/2/info": rlib2.R_2_info, |
|
186 |
"/2/os": rlib2.R_2_os, |
|
187 |
}) |
|
196 |
|
|
197 |
"/2/jobs": rlib2.R_2_jobs, |
|
198 |
re.compile(r'/2/jobs/(%s)$' % job_id_pattern): |
|
199 |
rlib2.R_2_jobs_id, |
|
200 |
|
|
201 |
"/2/tags": rlib2.R_2_tags, |
|
202 |
"/2/info": rlib2.R_2_info, |
|
203 |
"/2/os": rlib2.R_2_os, |
|
204 |
} |
|
205 |
|
|
206 |
|
|
207 |
CONNECTOR.update(GetHandlers(_NAME_PATTERN, _NAME_PATTERN, |
|
208 |
constants.JOB_ID_TEMPLATE)) |
Also available in: Unified diff