8 from lib
.util
import Util
12 logging
.basicConfig(level
=logging
.DEBUG
)
13 log
= logging
.getLogger('helper.py')
18 self
._token
_endpoint
= 'admin/v1/tokens'
19 self
._user
_endpoint
= 'admin/v1/users'
20 self
._host
= os
.getenv('OSM_SERVER', "localhost")
22 self
._base
_path
= "https://{0}:{1}/osm".format(self
._host
, self
._so
_port
)
25 result
= {'error': True, 'data': ''}
26 token_url
= "{0}/{1}".format(self
._base
_path
, self
._token
_endpoint
)
27 headers
= {"Content-Type": "application/yaml", "accept": "application/json"}
29 r
= requests
.post(token_url
, json
=args
, verify
=False, headers
=headers
)
30 except Exception as e
:
32 result
['data'] = str(e
)
34 if r
.status_code
== requests
.codes
.ok
:
35 result
['error'] = False
37 result
['data'] = Util
.json_loads_byteified(r
.text
)
41 def switch_project(self
, args
):
42 result
= {'error': True, 'data': ''}
43 token_url
= "{0}/{1}".format(self
._base
_path
, self
._token
_endpoint
)
44 headers
= {"Content-Type": "application/yaml", "accept": "application/json"}
46 r
= requests
.post(token_url
, json
=args
, verify
=False, headers
=headers
)
47 except Exception as e
:
49 result
['data'] = str(e
)
51 if r
.status_code
== requests
.codes
.ok
:
52 result
['error'] = False
54 result
['data'] = Util
.json_loads_byteified(r
.text
)
58 def project_list(self
, token
):
59 result
= {'error': True, 'data': ''}
60 headers
= {"Content-Type": "application/yaml", "accept": "application/json",
61 'Authorization': 'Bearer {}'.format(token
['id'])}
63 _url
= "{0}/admin/v1/projects".format(self
._base
_path
)
65 r
= requests
.get(_url
, params
=None, verify
=False, stream
=True, headers
=headers
)
66 except Exception as e
:
68 result
['data'] = str(e
)
70 if r
.status_code
== requests
.codes
.ok
:
71 result
['error'] = False
72 result
['data'] = Util
.json_loads_byteified(r
.text
)
76 def project_get(self
, token
, id):
77 result
= {'error': True, 'data': ''}
78 headers
= {"Content-Type": "application/yaml", "accept": "application/json",
79 'Authorization': 'Bearer {}'.format(token
['id'])}
80 _url
= "{0}/admin/v1/projects/{1}".format(self
._base
_path
, id)
82 r
= requests
.get(_url
, params
=None, verify
=False, stream
=True, headers
=headers
)
83 except Exception as e
:
85 result
['data'] = str(e
)
87 if r
.status_code
== requests
.codes
.ok
:
88 result
['error'] = False
89 result
['data'] = Util
.json_loads_byteified(r
.text
)
91 def project_create(self
, token
, project_data
):
93 result
= {'error': True, 'data': ''}
94 headers
= {"Content-Type": "application/json", "accept": "application/json",
95 'Authorization': 'Bearer {}'.format(token
['id'])}
97 _url
= "{0}/admin/v1/projects".format(self
._base
_path
)
100 r
= requests
.post(_url
, json
=project_data
, verify
=False, headers
=headers
)
101 except Exception as e
:
103 result
['data'] = str(e
)
106 if r
.status_code
== requests
.codes
.created
:
107 result
['error'] = False
108 result
['data'] = Util
.json_loads_byteified(r
.text
)
111 def project_delete(self
, token
, id):
112 result
= {'error': True, 'data': ''}
113 headers
= {"Content-Type": "application/yaml", "accept": "application/json",
114 'Authorization': 'Bearer {}'.format(token
['id'])}
116 _url
= "{0}/admin/v1/projects/{1}".format(self
._base
_path
, id)
118 r
= requests
.delete(_url
, params
=None, verify
=False, headers
=headers
)
119 except Exception as e
:
121 result
['data'] = str(e
)
123 if r
.status_code
== requests
.codes
.no_content
:
124 result
['error'] = False
126 result
['data'] = Util
.json_loads_byteified(r
.text
)
129 def nsd_list(self
, token
):
130 result
= {'error': True, 'data': ''}
131 headers
= {"Content-Type": "application/yaml", "accept": "application/json",
132 'Authorization': 'Bearer {}'.format(token
['id'])}
134 _url
= "{0}/nsd/v1/ns_descriptors_content".format(self
._base
_path
)
136 r
= requests
.get(_url
, params
=None, verify
=False, stream
=True, headers
=headers
)
137 except Exception as e
:
139 result
['data'] = str(e
)
141 if r
.status_code
== requests
.codes
.ok
:
142 result
['error'] = False
143 result
['data'] = Util
.json_loads_byteified(r
.text
)
147 def vnfd_list(self
, token
):
148 result
= {'error': True, 'data': ''}
149 headers
= {"Content-Type": "application/yaml", "accept": "application/json",
150 'Authorization': 'Bearer {}'.format(token
['id'])}
152 _url
= "{0}/vnfpkgm/v1/vnf_packages_content".format(self
._base
_path
)
154 r
= requests
.get(_url
, params
=None, verify
=False, stream
=True, headers
=headers
)
155 except Exception as e
:
157 result
['data'] = str(e
)
159 if r
.status_code
== requests
.codes
.ok
:
160 result
['error'] = False
161 result
['data'] = Util
.json_loads_byteified(r
.text
)
165 def ns_list(self
, token
):
166 result
= {'error': True, 'data': ''}
167 headers
= {"Content-Type": "application/yaml", "accept": "application/json",
168 'Authorization': 'Bearer {}'.format(token
['id'])}
169 _url
= "{0}/nslcm/v1/ns_instances_content".format(self
._base
_path
)
171 r
= requests
.get(_url
, params
=None, verify
=False, stream
=True, headers
=headers
)
172 except Exception as e
:
174 result
['data'] = str(e
)
176 if r
.status_code
== requests
.codes
.ok
:
177 result
['error'] = False
178 result
['data'] = Util
.json_loads_byteified(r
.text
)
182 def vnf_list(self
, token
):
183 result
= {'error': True, 'data': ''}
184 headers
= {"Content-Type": "application/yaml", "accept": "application/json",
185 'Authorization': 'Bearer {}'.format(token
['id'])}
186 _url
= "{0}/nslcm/v1/vnfrs".format(self
._base
_path
)
188 r
= requests
.get(_url
, params
=None, verify
=False, stream
=True, headers
=headers
)
189 except Exception as e
:
191 result
['data'] = str(e
)
193 if r
.status_code
== requests
.codes
.ok
:
194 result
['error'] = False
195 result
['data'] = Util
.json_loads_byteified(r
.text
)
199 def nsd_delete(self
, token
, id):
200 result
= {'error': True, 'data': ''}
201 headers
= {"Content-Type": "application/yaml", "accept": "application/json",
202 'Authorization': 'Bearer {}'.format(token
['id'])}
204 _url
= "{0}/nsd/v1/ns_descriptors_content/{1}".format(self
._base
_path
, id)
206 r
= requests
.delete(_url
, params
=None, verify
=False,headers
=headers
)
207 except Exception as e
:
209 result
['data'] = str(e
)
211 if r
.status_code
== requests
.codes
.ok
:
212 result
['error'] = False
213 result
['data'] = Util
.json_loads_byteified(r
.text
)
216 def vnfd_delete(self
, token
, id):
217 result
= {'error': True, 'data': ''}
218 headers
= {"Content-Type": "application/yaml", "accept": "application/json",
219 'Authorization': 'Bearer {}'.format(token
['id'])}
221 _url
= "{0}/vnfpkgm/v1/vnf_packages_content/{1}".format(self
._base
_path
, id)
223 r
= requests
.delete(_url
, params
=None, verify
=False, headers
=headers
)
224 except Exception as e
:
226 result
['data'] = str(e
)
228 if r
.status_code
== requests
.codes
.ok
:
229 result
['error'] = False
230 result
['data'] = Util
.json_loads_byteified(r
.text
)
233 def nsd_onboard(self
, token
, package
):
234 result
= {'error': True, 'data': ''}
235 headers
= {"Content-Type": "application/gzip", "accept": "application/json",
236 'Authorization': 'Bearer {}'.format(token
['id'])}
237 with
open('/tmp/'+package
.name
, 'wb+') as destination
:
238 for chunk
in package
.chunks():
239 destination
.write(chunk
)
240 headers
['Content-File-MD5'] = self
.md5(open('/tmp/'+package
.name
, 'rb'))
241 _url
= "{0}/nsd/v1/ns_descriptors_content/".format(self
._base
_path
)
243 r
= requests
.post(_url
, data
=open('/tmp/'+package
.name
, 'rb'), verify
=False, headers
=headers
)
244 except Exception as e
:
246 result
['data'] = str(e
)
248 if r
.status_code
== requests
.codes
.created
:
249 result
['error'] = False
250 result
['data'] = Util
.json_loads_byteified(r
.text
)
253 def vnfd_onboard(self
, token
, package
):
254 result
= {'error': True, 'data': ''}
255 headers
= {"Content-Type": "application/gzip", "accept": "application/json",
256 'Authorization': 'Bearer {}'.format(token
['id'])}
257 with
open('/tmp/'+package
.name
, 'wb+') as destination
:
258 for chunk
in package
.chunks():
259 destination
.write(chunk
)
260 headers
['Content-File-MD5'] = self
.md5(open('/tmp/'+package
.name
, 'rb'))
261 _url
= "{0}/vnfpkgm/v1/vnf_packages_content".format(self
._base
_path
)
263 r
= requests
.post(_url
, data
=open('/tmp/'+package
.name
, 'rb'), verify
=False, headers
=headers
)
264 except Exception as e
:
266 result
['data'] = str(e
)
268 if r
.status_code
== requests
.codes
.created
:
269 result
['error'] = False
270 result
['data'] = Util
.json_loads_byteified(r
.text
)
273 def nsd_update(self
, token
, id, data
):
274 result
= {'error': True, 'data': ''}
275 headers
= {"Content-Type": "application/gzip", "accept": "application/json",
276 'Authorization': 'Bearer {}'.format(token
['id'])}
278 # get the package onboarded
279 tar_pkg
= self
.get_nsd_pkg(token
, id)
280 tarf
= tarfile
.open(fileobj
=tar_pkg
)
282 tarf
= self
._descriptor
_update
(tarf
, data
)
283 headers
['Content-File-MD5'] = self
.md5(open('/tmp/' + tarf
.getnames()[0] + ".tar.gz", 'rb'))
285 _url
= "{0}/nsd/v1/ns_descriptors/{1}/nsd_content".format(self
._base
_path
, id)
288 r
= requests
.put(_url
, data
=open('/tmp/' + tarf
.getnames()[0] + ".tar.gz", 'rb'), verify
=False,
290 except Exception as e
:
292 result
['data'] = str(e
)
294 if r
.status_code
== requests
.codes
.no_content
:
295 result
['error'] = False
299 def vnfd_update(self
, token
, id, data
):
300 result
= {'error': True, 'data': ''}
301 headers
= {"Content-Type": "application/gzip", "accept": "application/json",
302 'Authorization': 'Bearer {}'.format(token
['id'])}
304 # get the package onboarded
305 tar_pkg
= self
.get_vnfd_pkg(token
, id)
306 tarf
= tarfile
.open(fileobj
=tar_pkg
)
308 tarf
= self
._descriptor
_update
(tarf
, data
)
309 headers
['Content-File-MD5'] = self
.md5(open('/tmp/' + tarf
.getnames()[0] + ".tar.gz", 'rb'))
311 _url
= "{0}/vnfpkgm/v1/vnf_packages/{1}/package_content".format(self
._base
_path
, id)
314 r
= requests
.put(_url
, data
=open('/tmp/' + tarf
.getnames()[0] + ".tar.gz", 'rb'), verify
=False,
316 except Exception as e
:
318 result
['data'] = str(e
)
320 if r
.status_code
== requests
.codes
.no_content
:
321 result
['error'] = False
325 def get_nsd_pkg(self
, token
, id):
326 result
= {'error': True, 'data': ''}
327 headers
= { "accept": "application/zip",
328 'Authorization': 'Bearer {}'.format(token
['id'])}
330 _url
= "{0}/nsd/v1/ns_descriptors/{1}/nsd_content".format(self
._base
_path
, id)
332 r
= requests
.get(_url
, params
=None, verify
=False, stream
=True, headers
=headers
)
333 except Exception as e
:
335 result
['data'] = str(e
)
337 if r
.status_code
== requests
.codes
.ok
:
338 result
['error'] = False
339 tarf
= StringIO
.StringIO(r
.content
)
343 def get_vnfd_pkg(self
, token
, id):
344 result
= {'error': True, 'data': ''}
345 headers
= {"accept": "application/zip",
346 'Authorization': 'Bearer {}'.format(token
['id'])}
347 _url
= "{0}/vnfpkgm/v1/vnf_packages/{1}/package_content".format(self
._base
_path
, id)
349 r
= requests
.get(_url
, params
=None, verify
=False, stream
=True, headers
=headers
)
351 except Exception as e
:
353 result
['data'] = str(e
)
355 if r
.status_code
== requests
.codes
.ok
:
356 result
['error'] = False
357 tarf
= StringIO
.StringIO(r
.content
)
361 def _descriptor_update(self
, tarf
, data
):
362 print tarf
.getnames()
363 # extract the package on a tmp directory
364 tarf
.extractall('/tmp')
366 for name
in tarf
.getnames():
367 if name
.endswith(".yaml") or name
.endswith(".yml"):
368 with
open('/tmp/' + name
, 'w') as outfile
:
369 yaml
.safe_dump(data
, outfile
, default_flow_style
=False)
372 tarf_temp
= tarfile
.open('/tmp/' + tarf
.getnames()[0] + ".tar.gz", "w:gz")
373 # tarf_temp = tarfile.open("pippo.tar.gz", "w:gz")
374 print tarf_temp
.getnames()
375 # tarf_temp.add('/tmp/'+tarf.getnames()[0])
377 # if tarinfo.name.startswith(tarf.getnames()[0]):
378 # new_name = tarinfo.name[len(tarf.getnames()[0]):]
379 tarf_temp
.add('/tmp/' + tarinfo
.name
, tarinfo
.name
, recursive
=False)
380 print tarf_temp
.getnames()
384 def nsd_get(self
, token
, id):
385 result
= {'error': True, 'data': ''}
386 headers
= {'Content-Type': 'application/yaml',
387 'Authorization': 'Bearer {}'.format(token
['id'])}
388 _url
= "{0}/nsd/v1/ns_descriptors/{1}/nsd".format(self
._base
_path
, id)
390 r
= requests
.get(_url
, params
=None, verify
=False, stream
=True, headers
=headers
)
391 except Exception as e
:
393 result
['data'] = str(e
)
395 if r
.status_code
== requests
.codes
.ok
:
396 result
['error'] = False
397 return yaml
.load(r
.text
)
400 result
['data'] = r
.json()
401 except Exception as e
:
405 def vnfd_get(self
, token
, id):
406 result
= {'error': True, 'data': ''}
407 headers
= {'Content-Type': 'application/yaml',
408 'Authorization': 'Bearer {}'.format(token
['id'])}
409 _url
= "{0}/vnfpkgm/v1/vnf_packages/{1}/vnfd".format(self
._base
_path
, id)
411 r
= requests
.get(_url
, params
=None, verify
=False, stream
=True, headers
=headers
)
412 except Exception as e
:
414 result
['data'] = str(e
)
416 if r
.status_code
== requests
.codes
.ok
:
417 result
['error'] = False
418 return yaml
.load(r
.text
)
421 result
['data'] = r
.json()
422 except Exception as e
:
426 def nsd_artifacts(self
, token
, id):
427 result
= {'error': True, 'data': ''}
428 headers
= {'Content-Type': 'application/yaml', 'accept': 'text/plain',
429 'Authorization': 'Bearer {}'.format(token
['id'])}
430 _url
= "{0}/nsd/v1/ns_descriptors/{1}/artifacts".format(self
._base
_path
, id)
432 r
= requests
.get(_url
, params
=None, verify
=False, stream
=True, headers
=headers
)
433 except Exception as e
:
435 result
['data'] = str(e
)
437 if r
.status_code
== requests
.codes
.ok
:
438 result
['error'] = False
439 result
['data'] = r
.text
442 result
['data'] = r
.json()
443 except Exception as e
:
448 def vnf_packages_artifacts(self
, token
, id):
449 result
= {'error': True, 'data': ''}
450 headers
= {'Content-Type': 'application/yaml', 'accept': 'text/plain',
451 'Authorization': 'Bearer {}'.format(token
['id'])}
452 _url
= "{0}/vnfpkgm/v1/vnf_packages/{1}/artifacts".format(self
._base
_path
, id)
454 r
= requests
.get(_url
, params
=None, verify
=False, stream
=True, headers
=headers
)
455 except Exception as e
:
457 result
['data'] = str(e
)
459 if r
.status_code
== requests
.codes
.ok
:
460 result
['error'] = False
461 result
['data'] = r
.text
464 result
['data'] = r
.json()
465 except Exception as e
:
470 def ns_create(self
, token
, ns_data
):
471 result
= {'error': True, 'data': ''}
472 headers
= {"Content-Type": "application/yaml", "accept": "application/json",
473 'Authorization': 'Bearer {}'.format(token
['id'])}
475 _url
= "{0}/nslcm/v1/ns_instances_content".format(self
._base
_path
)
478 r
= requests
.post(_url
, json
=ns_data
, verify
=False, headers
=headers
)
479 except Exception as e
:
481 result
['data'] = str(e
)
483 if r
.status_code
== requests
.codes
.ok
:
484 result
['error'] = False
485 result
['data'] = Util
.json_loads_byteified(r
.text
)
488 def ns_op_list(self
, token
, id):
489 result
= {'error': True, 'data': ''}
490 headers
= {"Content-Type": "application/json", "accept": "application/json",
491 'Authorization': 'Bearer {}'.format(token
['id'])}
492 _url
= "{0}/nslcm/v1/ns_lcm_op_occs/?nsInstanceId={1}".format(self
._base
_path
, id)
495 r
= requests
.get(_url
, params
=None, verify
=False, stream
=True, headers
=headers
)
496 except Exception as e
:
498 result
['data'] = str(e
)
500 if r
.status_code
== requests
.codes
.ok
:
501 result
['error'] = False
502 result
['data'] = Util
.json_loads_byteified(r
.text
)
506 def ns_op(self
, token
, id):
507 result
= {'error': True, 'data': ''}
508 headers
= {"Content-Type": "application/json", "accept": "application/json",
509 'Authorization': 'Bearer {}'.format(token
['id'])}
510 _url
= "{0}/nslcm/v1/ns_lcm_op_occs/{1}".format(self
._base
_path
, id)
513 r
= requests
.get(_url
, params
=None, verify
=False, stream
=True, headers
=headers
)
514 except Exception as e
:
516 result
['data'] = str(e
)
518 if r
.status_code
== requests
.codes
.ok
:
519 result
['error'] = False
520 result
['data'] = Util
.json_loads_byteified(r
.text
)
524 def ns_action(self
, token
, id, action_payload
):
525 result
= {'error': True, 'data': ''}
526 headers
= {"Content-Type": "application/json", "accept": "application/json",
527 'Authorization': 'Bearer {}'.format(token
['id'])}
529 _url
= "{0}/nslcm/v1/ns_instances/{1}/action".format(self
._base
_path
, id)
532 r
= requests
.post(_url
, json
=action_payload
, verify
=False, headers
=headers
)
533 except Exception as e
:
535 result
['data'] = str(e
)
538 if r
.status_code
== requests
.codes
.created
:
539 result
['error'] = False
540 result
['data'] = Util
.json_loads_byteified(r
.text
)
543 def ns_delete(self
, token
, id, force
=None):
544 result
= {'error': True, 'data': ''}
545 headers
= {"Content-Type": "application/yaml", "accept": "application/json",
546 'Authorization': 'Bearer {}'.format(token
['id'])}
549 query_path
= '?FORCE=true'
550 _url
= "{0}/nslcm/v1/ns_instances_content/{1}{2}".format(self
._base
_path
, id, query_path
)
552 r
= requests
.delete(_url
, params
=None, verify
=False, headers
=headers
)
553 except Exception as e
:
555 result
['data'] = str(e
)
557 if r
.status_code
== requests
.codes
.ok
:
558 result
['error'] = False
559 result
['data'] = Util
.json_loads_byteified(r
.text
)
562 def ns_get(self
, token
, id):
563 result
= {'error': True, 'data': ''}
564 headers
= {"Content-Type": "application/json", "accept": "application/json",
565 'Authorization': 'Bearer {}'.format(token
['id'])}
566 _url
= "{0}/nslcm/v1/ns_instances_content/{1}".format(self
._base
_path
, id)
569 r
= requests
.get(_url
, params
=None, verify
=False, stream
=True, headers
=headers
)
570 except Exception as e
:
572 result
['data'] = str(e
)
574 if r
.status_code
== requests
.codes
.ok
:
575 result
['error'] = False
576 result
['data'] = Util
.json_loads_byteified(r
.text
)
579 def vnf_get(self
, token
, id):
580 result
= {'error': True, 'data': ''}
581 headers
= {"Content-Type": "application/json", "accept": "application/json",
582 'Authorization': 'Bearer {}'.format(token
['id'])}
583 _url
= "{0}/nslcm/v1/vnfrs/{1}".format(self
._base
_path
, id)
586 r
= requests
.get(_url
, params
=None, verify
=False, stream
=True, headers
=headers
)
587 except Exception as e
:
589 result
['data'] = str(e
)
591 if r
.status_code
== requests
.codes
.ok
:
592 result
['error'] = False
593 result
['data'] = Util
.json_loads_byteified(r
.text
)
596 def ns_alarm_create(self
, token
, id, alarm_payload
):
597 result
= {'error': True, 'data': ''}
598 headers
= {"Content-Type": "application/json",
599 'Authorization': 'Bearer {}'.format(token
['id'])}
600 _url
= "{0}/test/message/alarm_request".format(self
._base
_path
)
602 r
= requests
.post(_url
, json
=alarm_payload
, verify
=False, headers
=headers
)
603 except Exception as e
:
605 result
['data'] = str(e
)
608 if r
.status_code
== requests
.codes
.ok
:
609 result
['error'] = False
610 #result['data'] = Util.json_loads_byteified(r.text)
611 result
['data'] = r
.text
614 def ns_metric_export(self
, token
, id, metric_payload
):
615 result
= {'error': True, 'data': ''}
616 headers
= {"Content-Type": "application/json",
617 'Authorization': 'Bearer {}'.format(token
['id'])}
618 _url
= "{0}/test/message/metric_request".format(self
._base
_path
)
620 r
= requests
.post(_url
, json
=metric_payload
, verify
=False, headers
=headers
)
621 except Exception as e
:
623 result
['data'] = str(e
)
626 if r
.status_code
== requests
.codes
.ok
:
627 result
['error'] = False
628 #result['data'] = Util.json_loads_byteified(r.text)
629 result
['data'] = r
.text
632 def vim_list(self
, token
):
633 result
= {'error': True, 'data': ''}
634 headers
= {"Content-Type": "application/yaml", "accept": "application/json",
635 'Authorization': 'Bearer {}'.format(token
['id'])}
636 _url
= "{0}/admin/v1/vims".format(self
._base
_path
)
638 r
= requests
.get(_url
, params
=None, verify
=False, stream
=True, headers
=headers
)
639 except Exception as e
:
641 result
['data'] = str(e
)
643 if r
.status_code
== requests
.codes
.ok
:
644 result
['error'] = False
645 result
['data'] = Util
.json_loads_byteified(r
.text
)
649 def vim_delete(self
, token
, id):
650 result
= {'error': True, 'data': ''}
651 headers
= { "accept": "application/json",
652 'Authorization': 'Bearer {}'.format(token
['id'])}
653 _url
= "{0}/admin/v1/vims/{1}".format(self
._base
_path
, id)
655 r
= requests
.delete(_url
, params
=None, verify
=False, headers
=headers
)
656 except Exception as e
:
658 result
['data'] = str(e
)
661 if r
.status_code
== requests
.codes
.accepted
:
662 result
['error'] = False
664 result
['data'] = r
.text
667 def vim_get(self
, token
, id):
669 result
= {'error': True, 'data': ''}
670 headers
= {"Content-Type": "application/json", "accept": "application/json",
671 'Authorization': 'Bearer {}'.format(token
['id'])}
672 _url
= "{0}/admin/v1/vims/{1}".format(self
._base
_path
, id)
675 r
= requests
.get(_url
, params
=None, verify
=False, stream
=True, headers
=headers
)
676 except Exception as e
:
678 result
['data'] = str(e
)
680 if r
.status_code
== requests
.codes
.ok
:
681 result
['error'] = False
682 result
['data'] = Util
.json_loads_byteified(r
.text
)
685 def vim_create(self
, token
, vim_data
):
687 result
= {'error': True, 'data': ''}
688 headers
= {"Content-Type": "application/json", "accept": "application/json",
689 'Authorization': 'Bearer {}'.format(token
['id'])}
691 _url
= "{0}/admin/v1/vims".format(self
._base
_path
)
694 r
= requests
.post(_url
, json
=vim_data
, verify
=False, headers
=headers
)
695 except Exception as e
:
697 result
['data'] = str(e
)
700 if r
.status_code
== requests
.codes
.created
:
701 result
['error'] = False
702 result
['data'] = Util
.json_loads_byteified(r
.text
)
705 def sdn_list(self
, token
):
706 result
= {'error': True, 'data': ''}
707 headers
= {"accept": "application/json",
708 'Authorization': 'Bearer {}'.format(token
['id'])}
709 _url
= "{0}/admin/v1/sdns".format(self
._base
_path
)
711 r
= requests
.get(_url
, params
=None, verify
=False, stream
=True, headers
=headers
)
712 except Exception as e
:
714 result
['data'] = str(e
)
716 if r
.status_code
== requests
.codes
.ok
:
717 result
['error'] = False
718 result
['data'] = Util
.json_loads_byteified(r
.text
)
721 def sdn_delete(self
, token
, id):
722 result
= {'error': True, 'data': ''}
723 headers
= {"accept": "application/json",
724 'Authorization': 'Bearer {}'.format(token
['id'])}
725 _url
= "{0}/admin/v1/sdns/{1}".format(self
._base
_path
, id)
727 r
= requests
.delete(_url
, params
=None, verify
=False, headers
=headers
)
728 except Exception as e
:
730 result
['data'] = str(e
)
733 if r
.status_code
== requests
.codes
.accepted
:
734 result
['error'] = False
736 result
['data'] = r
.text
739 def sdn_get(self
, token
, id):
740 result
= {'error': True, 'data': ''}
741 headers
= {"accept": "application/json",
742 'Authorization': 'Bearer {}'.format(token
['id'])}
743 _url
= "{0}/admin/v1/sdns/{1}".format(self
._base
_path
, id)
746 r
= requests
.get(_url
, params
=None, verify
=False, stream
=True, headers
=headers
)
747 except Exception as e
:
749 result
['data'] = str(e
)
751 if r
.status_code
== requests
.codes
.ok
:
752 result
['error'] = False
753 result
['data'] = Util
.json_loads_byteified(r
.text
)
757 def sdn_create(self
, token
, sdn_data
):
758 result
= {'error': True, 'data': ''}
759 headers
= {"Content-Type": "application/json", "accept": "application/json",
760 'Authorization': 'Bearer {}'.format(token
['id'])}
762 _url
= "{0}/admin/v1/sdns".format(self
._base
_path
)
765 r
= requests
.post(_url
, json
=sdn_data
, verify
=False, headers
=headers
)
766 except Exception as e
:
768 result
['data'] = str(e
)
771 if r
.status_code
== requests
.codes
.created
:
772 result
['error'] = False
773 result
['data'] = Util
.json_loads_byteified(r
.text
)
779 hash_md5
= hashlib
.md5()
780 for chunk
in iter(lambda: f
.read(1024), b
""):
781 hash_md5
.update(chunk
)
782 return hash_md5
.hexdigest()