Example #1
0
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))
Example #2
0
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))
Example #3
0
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))
Example #4
0
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))
Example #5
0
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))
Example #6
0
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))
Example #7
0
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))