Advertisement
Guest User

Untitled

a guest
Jun 28th, 2017
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.68 KB | None | 0 0
  1. # -*- coding: utf-8 -*-
  2.  
  3. __author__ = "Gonzalo Chacaltana @gchacaltanab"
  4.  
  5. from rhevmanager import RhevManager
  6.  
  7. class Demo(object):
  8. def __init__(self,api_url,username,password,cert):
  9. self.api_url = api_url
  10. rhev_username = username
  11. rhev_password = password
  12. rhev_cert = cert
  13. self.rhevm = RhevManager(self.api_url,rhev_username,rhev_password,rhev_cert)
  14. self.endpoints = self.build_link_resource_rhevm()
  15.  
  16. def build_link_resource_rhevm(self):
  17. """Crea lista de recursos del home document del API REST"""
  18. data = self.rhevm.get_home_document()
  19. endpoints = {}
  20. for item in data['link']:
  21. endpoints[item['rel']] = self.api_url + item['href']
  22. return endpoints
  23.  
  24. def get_templates(self, template_id=None):
  25.  
  26. url_format = self.endpoints['templates']
  27. url = url_format + "/" + template_id if template_id != None else url_format
  28. return self.rhevm.request(url)
  29.  
  30. def get_events(self, event_id = None):
  31.  
  32. rhevm = self.connect_rhev_manager()
  33. url_format = self.endpoints['events']
  34. url = url_format + "/" + event_id if event_id != None else url_format
  35. return self.rhevm.request(url)
  36.  
  37. def get_users(self, user_guid = None):
  38.  
  39. rhevm = self.connect_rhev_manager()
  40. url_format = self.endpoints['users']
  41. url = url_format + "/" + user_guid if user_guid != None else url_format
  42. return self.rhevm.request(url)
  43.  
  44. def get_vm(self, vm_guid = None):
  45.  
  46. rhevm = self.connect_rhev_manager()
  47. url_format = self.endpoints['vms']
  48. url = url_format + "/" + vm_guid if vm_guid != None else url_format
  49. return self.rhevm.request(url)
  50.  
  51. def get_clusters(self, cluster_guid = None):
  52.  
  53. rhevm = self.connect_rhev_manager()
  54. url_format = self.endpoints['clusters']
  55. url = url_format + "/" + cluster_guid if cluster_guid != None else url_format
  56. return rhevm.request(url)
  57.  
  58. def get_datacenters(self, datacenter_guid = None):
  59.  
  60. rhevm = self.connect_rhev_manager()
  61. url_format = self.endpoints['datacenters']
  62. url = url_format + "/" + datacenter_guid if datacenter_guid != None else url_format
  63. return rhevm.request(url)
  64.  
  65. def get_hosts(self, host_guid = None):
  66.  
  67. rhevm = self.connect_rhev_manager()
  68. url_format = self.endpoints['hosts']
  69. url = url_format + "/" + host_guid if host_guid != None else url_format
  70. return rhevm.request(url)
  71.  
  72. def get_networks(self, network_guid = None):
  73.  
  74. rhevm = self.connect_rhev_manager()
  75. url_format = self.endpoints['networks']
  76. url = url_format + "/" + network_guid if network_guid != None else url_format
  77. return rhevm.request(url)
  78.  
  79. def get_roles(self, role_guid = None):
  80.  
  81. rhevm = self.connect_rhev_manager()
  82. url_format = self.endpoints['roles']
  83. url = url_format + "/" + role_guid if role_guid != None else url_format
  84. return rhevm.request(url)
  85.  
  86. def get_storagedomains(self, storagedomain_guid = None):
  87.  
  88. rhevm = self.connect_rhev_manager()
  89. url_format = self.endpoints['storagedomains']
  90. url = url_format + "/" + storagedomain_guid if storagedomain_guid != None else url_format
  91. return rhevm.request(url)
  92.  
  93. def get_tags(self, tag_guid = None):
  94.  
  95. rhevm = self.connect_rhev_manager()
  96. url_format = self.endpoints['tags']
  97. url = url_format + "/" + tag_guid if tag_guid != None else url_format
  98. return rhevm.request(url)
  99.  
  100. def get_groups(self, group_guid = None):
  101.  
  102. rhevm = self.connect_rhev_manager()
  103. url_format = self.endpoints['groups']
  104. url = url_format + "/" + group_guid if group_guid != None else url_format
  105. return rhevm.request(url)
  106.  
  107. def get_domains(self, domain_guid = None):
  108.  
  109. rhevm = self.connect_rhev_manager()
  110. url_format = self.endpoints['domains']
  111. url = url_format + "/" + domain_guid if domain_guid != None else url_format
  112. return rhevm.request(url)
  113.  
  114. def get_vmpools(self, vmpool_guid = None):
  115.  
  116. rhevm = self.connect_rhev_manager()
  117. url_format = self.endpoints['vmpools']
  118. url = url_format + "/" + vmpool_guid if vmpool_guid != None else url_format
  119. return rhevm.request(url)
  120.  
  121. def get_disks(self, disk_guid = None):
  122.  
  123. rhevm = self.connect_rhev_manager()
  124. url_format = self.endpoints['disks']
  125. url = url_format + "/" + disk_guid if disk_guid != None else url_format
  126. return rhevm.request(url)
  127.  
  128.  
  129. obj = Demo(api_url,username,password,cert)
  130. obj.get_events()
  131. obj.get_users()
  132. obj.get_templates()
  133. obj.get_clusters()
  134. obj.get_datacenters()
  135. obj.get_hosts()
  136. obj.get_networks()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement