def __init__(self, vcd_api_client: vcd_client.Client, oauth_client_name: str, logger_debug: logging.Logger = NULL_LOGGER, logger_wire: logging.Logger = NULL_LOGGER): self.vcd_api_client: vcd_client.Client = vcd_api_client cloudapi_url = vcd_api_client.get_cloudapi_uri() super().__init__(base_url=cloudapi_url, token=vcd_api_client.get_access_token(), api_version=vcd_api_client.get_api_version(), logger_debug=logger_debug, logger_wire=logger_wire, verify_ssl=vcd_api_client._verify_ssl_certs, is_sys_admin=vcd_api_client.is_sysadmin()) self.oauth_client_name = oauth_client_name # cloudapi_url will be of the format https://vcd-host/cloudapi # since /oauth endpoint is not associated with /cloudapi or /api, # we need to format the cloudapi_url so that only https://vcd-host # part is retained url_host = urlparse(cloudapi_url) self._host_url = f"{url_host.scheme}://{url_host.netloc}" self.oauth_client_id = None self.refresh_token = None
def get_cloudapi_client_from_vcd_client(client: vcd_client.Client, logger_debug=NULL_LOGGER, logger_wire=NULL_LOGGER): token = client.get_access_token() return cloud_api_client.CloudApiClient( base_url=client.get_cloudapi_uri(), token=token, api_version=client.get_api_version(), logger_debug=logger_debug, logger_wire=logger_wire, verify_ssl=client._verify_ssl_certs, is_sys_admin=client.is_sysadmin())
def get_cloudapi_client_from_vcd_client(client: vcd_client.Client, logger_debug=NULL_LOGGER, logger_wire=NULL_LOGGER): token = client.get_access_token() is_jwt = True if not token: token = client.get_xvcloud_authorization_token() is_jwt = False return cloudApiClient.CloudApiClient(base_url=client.get_cloudapi_uri(), token=token, is_jwt_token=is_jwt, api_version=client.get_api_version(), logger_debug=logger_debug, logger_wire=logger_wire, verify_ssl=client._verify_ssl_certs, is_sys_admin=client.is_sysadmin())