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)
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)
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)
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)
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)
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)
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)