Esempio n. 1
0
def get_host_by_id(host_id_list,
                   page=1,
                   per_page=100,
                   order_by=None,
                   order_how=None,
                   staleness=None):
    query = _get_host_list_by_id_list(current_identity.account_number,
                                      host_id_list)

    # The staleness check is currently disabled when getting a single host by id
    # to ease onboarding (RHCLOUD-3562)
    # if staleness:
    #     query = find_hosts_by_staleness(staleness, query)

    try:
        order_by = params_to_order_by(order_by, order_how)
    except ValueError as e:
        flask.abort(400, str(e))
    else:
        query = query.order_by(*order_by)
    query_results = query.paginate(page, per_page, True)

    logger.debug("Found hosts: %s", query_results.items)

    json_data = build_paginated_host_list_response(query_results.total, page,
                                                   per_page,
                                                   query_results.items)
    return flask_json_response(json_data)
def get_host_system_profile_by_id(host_id_list,
                                  page=1,
                                  per_page=100,
                                  order_by=None,
                                  order_how=None,
                                  fields=None):
    if fields:
        if not get_bulk_query_source() == BulkQuerySource.xjoin:
            logger.error("xjoin-search not accessible")
            flask.abort(503)

        total, response_list = get_sparse_system_profile(
            host_id_list, page, per_page, order_by, order_how, fields)
    else:
        query = _get_host_list_by_id_list(host_id_list)

        try:
            order_by = params_to_order_by(order_by, order_how)
        except ValueError as e:
            flask.abort(400, str(e))
        else:
            query = query.order_by(*order_by)
        query_results = query.paginate(page, per_page, True)

        total = query_results.total

        response_list = [
            serialize_host_system_profile(host) for host in query_results.items
        ]

    json_output = build_collection_response(response_list, page, per_page,
                                            total)
    return flask_json_response(json_output)
Esempio n. 3
0
def get_host_tag_count(host_id_list, page=1, per_page=100, order_by=None, order_how=None):
    query = _get_host_list_by_id_list(current_identity.account_number, host_id_list)

    try:
        order_by = params_to_order_by(order_by, order_how)
    except ValueError as e:
        flask.abort(400, str(e))
    else:
        query = query.order_by(*order_by)
    query = query.paginate(page, per_page, True)

    counts = _count_tags(query.items)

    return _build_paginated_host_tags_response(query.total, page, per_page, counts)
Esempio n. 4
0
def get_host_system_profile_by_id(host_id_list, page=1, per_page=100, order_by=None, order_how=None):
    query = _get_host_list_by_id_list(current_identity.account_number, host_id_list)

    try:
        order_by = params_to_order_by(order_by, order_how)
    except ValueError as e:
        flask.abort(400, str(e))
    else:
        query = query.order_by(*order_by)
    query_results = query.paginate(page, per_page, True)

    response_list = [serialize_host_system_profile(host) for host in query_results.items]
    json_output = build_collection_response(response_list, page, per_page, query_results.total)
    return flask_json_response(json_output)
Esempio n. 5
0
def get_host_by_id(host_id_list, page=1, per_page=100, order_by=None, order_how=None):
    query = _get_host_list_by_id_list(current_identity.account_number, host_id_list)

    try:
        order_by = params_to_order_by(order_by, order_how)
    except ValueError as e:
        flask.abort(400, str(e))
    else:
        query = query.order_by(*order_by)
    query_results = query.paginate(page, per_page, True)

    logger.debug("Found hosts: %s", query_results.items)

    json_data = build_paginated_host_list_response(query_results.total, page, per_page, query_results.items)
    return flask_json_response(json_data)
Esempio n. 6
0
def get_host_by_id(host_id_list,
                   page=1,
                   per_page=100,
                   order_by=None,
                   order_how=None):
    query = _get_host_list_by_id_list(host_id_list)

    try:
        order_by = params_to_order_by(order_by, order_how)
    except ValueError as e:
        flask.abort(400, str(e))
    else:
        query = query.order_by(*order_by)
    query_results = query.paginate(page, per_page, True)

    log_get_host_list_succeeded(logger, query_results.items)

    json_data = build_paginated_host_list_response(query_results.total, page,
                                                   per_page,
                                                   query_results.items)
    return flask_json_response(json_data)
Esempio n. 7
0
def get_host_tags(host_id_list,
                  page=1,
                  per_page=100,
                  order_by=None,
                  order_how=None,
                  search=None):
    query = Host.query.filter((Host.account == current_identity.account_number)
                              & Host.id.in_(host_id_list))

    try:
        order_by = params_to_order_by(order_by, order_how)
    except ValueError as e:
        flask.abort(400, str(e))
    else:
        query = query.order_by(*order_by)

    query = query.paginate(page, per_page, True)

    tags = _build_serialized_tags(query.items, search)

    return _build_paginated_host_tags_response(query.total, page, per_page,
                                               tags)
Esempio n. 8
0
def get_host_tags(host_id_list,
                  page=1,
                  per_page=100,
                  order_by=None,
                  order_how=None,
                  search=None):

    query = _get_host_list_by_id_list(host_id_list)

    try:
        order_by = params_to_order_by(order_by, order_how)
    except ValueError as e:
        flask.abort(400, str(e))
    else:
        query = query.order_by(*order_by)

    query = query.paginate(page, per_page, True)

    tags = _build_serialized_tags(query.items, search)

    return _build_paginated_host_tags_response(query.total, page, per_page,
                                               tags)