def add_owner(dlpx_obj, owner_name, container_name): """ Adds an owner to a container dlpx_obj: Virtualization Engine session object owner_name: Grant authorizations for the given user on this container and parent template container_name: Name of the container """ owner_params = JSDataContainerModifyOwnerParameters() try: owner_params.owner = get_obj_reference(dlpx_obj.server_session, user, owner_name).pop() container.add_owner( dlpx_obj.server_session, get_obj_reference(dlpx_obj.server_session, container, container_name).pop(), owner_params, ) print_info("User {} was granted access to {}".format( owner_name, container_name)) except (DlpxException, RequestError, HttpError) as e: print_exception("The user was not added to container {}. The error" " was:\n{}\n".format(container_name, e))
def delete_container(dlpx_obj, container_name, keep_vdbs=False): """ Deletes a container dlpx_obj: Virtualization Engine session object container_name: Container to delete """ try: if keep_vdbs: js_container_params = JSDataContainerDeleteParameters() js_container_params.delete_data_sources = False container.delete( dlpx_obj.server_session, get_obj_reference(dlpx_obj.server_session, container, container_name).pop(), js_container_params, ) elif keep_vdbs is False: container.delete( dlpx_obj.server_session, get_obj_reference(dlpx_obj.server_session, container, container_name).pop(), ) except (DlpxException, RequestError, HttpError) as e: print_exception("\nContainer {} was not deleted. The error " "was:\n{}\n".format(container_name, e))
def restore_container(dlpx_obj, container_name, bookmark_name): """ Restores a container to a given JS bookmark dlpx_obj: Virtualization Engine session object container_name: Name of the container bookmark_name: Name of the bookmark to restore """ bookmark_params = JSTimelinePointBookmarkInput() bookmark_params.bookmark = get_obj_reference(dlpx_obj.server_session, bookmark, bookmark_name).pop() engine_name = dlpx_obj.dlpx_engines.keys()[0] try: container.restore( dlpx_obj.server_session, get_obj_reference(dlpx_obj.server_session, container, container_name).pop(), bookmark_params, ) dlpx_obj.jobs[engine_name] = dlpx_obj.server_session.last_job print_info("Container {} was restored successfully with " "bookmark {}".format(container_name, bookmark_name)) except (DlpxException, RequestError, HttpError) as e: print_exception("The user was not added to container {}. The " "error was:\n{}\n".format(container_name, e))
def share_bookmark(dlpx_obj, bookmark_name): """ Share a bookmark :param dlpx_obj: Virtualization Engine session object :param bookmark_name: Name of the bookmark to share """ try: bookmark.share(dlpx_obj.server_session, get_obj_reference(dlpx_obj.server_session, bookmark, bookmark_name).pop()) print_info('JS Bookmark {} was shared successfully.'.format( bookmark_name)) except (DlpxException, HttpError, RequestError) as e: print_exception('\nERROR: The bookmark {} could not be shared. The ' 'error was:\n\n{}'.format(bookmark_name, e))
def refresh_container(dlpx_obj, container_name): """ Refreshes a container dlpx_obj: Virtualization Engine session object container_name: Name of the container to refresh """ engine_name = dlpx_obj.dlpx_engines.keys()[0] try: container.refresh(dlpx_obj.server_session, get_obj_reference(dlpx_obj.server_session, container, container_name).pop()) dlpx_obj.jobs[engine_name] = dlpx_obj.server_session.last_job print_info('The container {} was refreshed.'.format(container_name)) except (DlpxException, RequestError, HttpError) as e: print_exception('\nContainer {} was not refreshed. The error ' 'was:\n{}\n'.format(container_name, e))
def update_bookmark(dlpx_obj, bookmark_name): """ Updates a bookmark :param dlpx_obj: Virtualization Engine session object :param bookmark_name: Name of the bookmark to update """ js_bookmark_obj = JSBookmark() try: bookmark.update( dlpx_obj.server_session, get_obj_reference(dlpx_obj.server_session, bookmark, bookmark_name).pop(), js_bookmark_obj) except (DlpxException, HttpError, RequestError) as e: print_exception('ERROR: The bookmark {} could not be updated. The ' 'error was:\n{}'.format(bookmark_name, e))
def delete_bookmark(dlpx_obj, bookmark_name): """ Deletes a bookmark :param dlpx_obj: Virtualization Engine session object :type dlpx_obj: lib.GetSession.GetSession :param bookmark_name: Bookmark to delete :type bookmark_name: str """ try: bookmark.delete(dlpx_obj.server_session, get_obj_reference(dlpx_obj.server_session, bookmark, bookmark_name).pop()) print_info('The bookmark {} was deleted successfully.'.format( bookmark_name)) except (DlpxException, HttpError, RequestError) as e: print_exception('\nERROR: The bookmark {} was not deleted. The ' 'error was:\n\n{}'.format(bookmark_name, e.message))
def update_bookmark(dlpx_obj, bookmark_name): """ Updates a bookmark :param dlpx_obj: Virtualization Engine session object :param bookmark_name: Name of the bookmark to update """ js_bookmark_obj = JSBookmark() try: bookmark.update(dlpx_obj.server_session, get_obj_reference(dlpx_obj.server_session, bookmark, bookmark_name).pop(), js_bookmark_obj) except (DlpxException, HttpError, RequestError) as e: print_exception('ERROR: The bookmark {} could not be updated. The ' 'error was:\n{}'.format(bookmark_name, e))