diff --git a/virl/helpers.py b/virl/helpers.py index 9fc346b..9a2ebf5 100644 --- a/virl/helpers.py +++ b/virl/helpers.py @@ -10,6 +10,7 @@ import click from requests.exceptions import HTTPError from virl2_client import ClientLibrary +from virl2_client.virl2_client import Version # http://code.activestate.com/recipes/578035-disable-file-system-redirector/ @@ -279,7 +280,25 @@ def get_cml_client(server, ignore=False): os.environ.pop("VIRL2_PASS", None) os.environ.pop("VIRL2_URL", None) - client = ClientLibrary(server.host, server.user, server.passwd, raise_for_auth_failure=True, ssl_verify=ssl_verify) + version = getattr(ClientLibrary, "VERSION", None) + if version is not None and version >= Version("2.9.0"): + client = ClientLibrary( + server.host, + server.user, + server.passwd, + raise_for_auth_failure=True, + ssl_verify=ssl_verify, + client_type="CmlUtils", + ) + else: + client = ClientLibrary( + server.host, + server.user, + server.passwd, + raise_for_auth_failure=True, + ssl_verify=ssl_verify, + ) + logger.setLevel(level) return client @@ -302,15 +321,9 @@ def get_group_member_ids(all_users, members, add_all_users): def get_group_associations(client, labs, add_all_labs): """Build target lab associations for group create/update payloads.""" if add_all_labs is not None: - return [ - {"id": lab_id, "permissions": convert_permissions(add_all_labs)} - for lab_id in client.get_lab_list() - ] + return [{"id": lab_id, "permissions": convert_permissions(add_all_labs)} for lab_id in client.get_lab_list()] if labs: - return [ - {"id": lab_id, "permissions": convert_permissions(permission)} - for lab_id, permission in labs - ] + return [{"id": lab_id, "permissions": convert_permissions(permission)} for lab_id, permission in labs] return []