diff --git a/libs/ShivaApi.py b/libs/ShivaApi.py index ba454ec..f412ab1 100644 --- a/libs/ShivaApi.py +++ b/libs/ShivaApi.py @@ -43,7 +43,41 @@ def get_esxi_datastores(self): if response.status_code == HTTPStatus.OK: return self.json_response(response) return self.error_response(response) + + def get_all_contentlibs(self): + """Find all content libraries""" + response = self.get(self.base_url + "/v1/vcenters/content_libraries") + if response.status_code == HTTPStatus.OK: + return self.json_response(response) + return self.error_response(response) + def get_all_contentlibsitems(self): + """Find all content libraries items""" + response = self.get(self.base_url + "/v1/vcenters/content_libraries/items") + if response.status_code == HTTPStatus.OK: + return self.json_response(response) + return self.error_response(response) + + def get_openiaas_templates(self): + """Find all openiaas templates""" + response = self.get(self.base_url + "/v1/open_iaas/templates") + if response.status_code == HTTPStatus.OK: + return self.json_response(response) + return self.error_response(response) + + def get_all_vcnetworks(self): + """Find all vc networks""" + response = self.get(self.base_url + "/v1/vcenters/networks") + if response.status_code == HTTPStatus.OK: + return self.json_response(response) + return self.error_response(response) + + def get_openiaas_networks(self): + """Find all vc networks""" + response = self.get(self.base_url + "/v1/open_iaas/networks") + if response.status_code == HTTPStatus.OK: + return self.json_response(response) + return self.error_response(response) def get_vm_network_adapters(self, vm_id: str): """Find network adapters for virtual machine""" @@ -88,6 +122,13 @@ def get_hosts(self): if response.status_code == HTTPStatus.OK: return self.json_response(response) return self.error_response(response) + + def get_openiaas_hosts(self): + """Find Hosts""" + response = self.get(self.base_url + "/v1/open_iaas/hosts") + if response.status_code == HTTPStatus.OK: + return self.json_response(response) + return self.error_response(response) def get_hosts_by_vdc(self, vdc_id): """Find Hots with Virtual Datacenter ID Filter""" @@ -137,6 +178,13 @@ def get_datastore_clusters_by_dc(self, id_dc): if response.status_code == HTTPStatus.OK: return self.json_response(response) return self.error_response(response) + + def get_openiaas_storage_repositories(self): + """Find all storage_repositories""" + response = self.get(self.base_url + "/v1/open_iaas/storage_repositories") + if response.status_code == HTTPStatus.OK: + return self.json_response(response) + return self.error_response(response) def get_vcenters(self): """Find vCenter servers""" @@ -253,7 +301,7 @@ def get_jobs(self): def get_policies(self): """Find SLA Policies""" - response = self.get(self.base_url + "/v1/policies") + response = self.get(self.base_url + "/v1/spp/policies") if response.status_code == HTTPStatus.OK: return self.json_response(response) return self.error_response(response) diff --git a/libs/httpClient.py b/libs/httpClient.py index f18d351..c20bcd9 100644 --- a/libs/httpClient.py +++ b/libs/httpClient.py @@ -67,11 +67,7 @@ def auth(self): exp_epoch = datetime.fromtimestamp(self.jwt_decoded['exp']) time_now = datetime.now() diff = (exp_epoch - time_now).total_seconds() / 60 - if 10 > diff > 1: - if hasattr(self, 'logger'): - self.logger.debug("10 > diff > 1 - token is valide") - self.__refresh() - elif diff < 1: + if diff < 10: self.__login() def __login(self): @@ -100,32 +96,6 @@ def __login(self): self.logger.error("request exception %s", err) raise HttpClientException("request exception", err) from err - def __refresh(self): - try: - headers = { - 'Content-Type': 'application/json', - 'accept': 'application/json', - 'Authorization': "Bearer " + self.bearer_token - } - - refreshToken = { - 'refreshToken': self.bearer_token - } - - # Retrieve bearer - bearer_request = requests.post(url=self.url + "/api/iam/v2/auth/refresh", headers=headers, - json=refreshToken) - - if bearer_request.status_code != 200: - raise HttpClientException("Cannot generate bearer token", bearer_request.reason) - else: - self.bearer_token = bearer_request.json()['refresh_token'] - - except RequestException as err: - if hasattr(self, 'logger'): - self.logger.error("request exception %s", err) - raise HttpClientException("request exception", err) from err - def __execute(self, req: Request) -> Response: self.auth() try: