Esempio n. 1
0
def get_latest_for_all_tags(cloud_type):
    try:
        cost_app.logger.info(
            f'Getting latest consumption for all tags on {cloud_type}')
        data = table_helper.latest_consumption_of_all_tags(
            cloud_type=CloudType(cloud_type))
        return make_response(jsonify(data))
    except Exception as e:
        cost_app.logger.exception(e)
        return make_response(jsonify({'Exception': e.__repr__()}), 500)
Esempio n. 2
0
def get_latest_by_tag(cloud_type, tag):
    try:
        cost_app.logger.info(
            f'Getting latest consumption for tag {tag} on {cloud_type}')
        data = table_helper.latest_consumption_by_tag(
            cloud_type=CloudType(cloud_type), tag=tag)
        return make_response(jsonify(data))
    except Exception as e:
        cost_app.logger.exception(e)
        return make_response(jsonify({'Exception': e.__repr__()}), 500)
Esempio n. 3
0
def get_total_consumption_by_service_and_tag(cloud_type):
    try:
        hours = int(request.args.get('hours', 5))
        cost_app.logger.info(
            f"Getting total for service and tags on {cloud_type}")
        data = table_helper.total_cost_by_service_and_tag(
            cloud_type=CloudType(cloud_type), n_hour_prior=hours)
        return make_response(jsonify(data))
    except Exception as e:
        cost_app.logger.exception(e)
        return make_response(jsonify({'Exception': e.__repr__()}), 500)
Esempio n. 4
0
def get_service_and_tag_history(cloud_type):
    try:
        hours = int(request.args.get('hours', 5))
        cost_app.logger.info(
            f"Aggregating metrices for service and tags on {cloud_type}")
        data = table_helper.aggregate_by_service_and_tag(
            cloud_type=CloudType(cloud_type), n_hour_prior=hours)
        return make_response(jsonify(data))
    except Exception as e:
        cost_app.logger.exception(e)
        return make_response(jsonify({'Exception': e.__repr__()}), 500)
Esempio n. 5
0
def get_total_consumption_by_tag(cloud_type):
    try:
        tag_filter = request.args.get('tag')
        hours = int(request.args.get('hours', 5))
        cost_app.logger.info(f'Getting total tag consumption  on {cloud_type}')
        data = table_helper.total_cost_by_tag(cloud_type=CloudType(cloud_type),
                                              n_hour_prior=hours,
                                              tag=tag_filter)
        return make_response(jsonify(data))
    except Exception as e:
        cost_app.logger.exception(e)
        return make_response(jsonify({'Exception': e.__repr__()}), 500)
Esempio n. 6
0
def get_total_consumption_by_service(cloud_type):
    try:
        hours = int(request.args.get('hours', 5))
        cost_app.logger.info(
            f"Aggregating total consumption of service for {cloud_type}")
        service_filter = request.args.get('service')
        data = table_helper.total_cost_by_service(
            cloud_type=CloudType(cloud_type),
            n_hour_prior=hours,
            service=service_filter)
        return make_response(jsonify(data))
    except Exception as e:
        cost_app.logger.exception(e)
        return make_response(jsonify({'Exception': e.__repr__()}), 500)
Esempio n. 7
0
def get_tag_history(cloud_type):
    try:
        tag_filter = request.args.get('tag')
        hours = int(request.args.get('hours', 5))
        cost_app.logger.info(
            f'Getting tag consumption history for {tag_filter if tag_filter else "all"} service(s) on {cloud_type}'
        )
        data = table_helper.aggregate_by_tag(cloud_type=CloudType(cloud_type),
                                             n_hour_prior=hours,
                                             tag=tag_filter)
        return make_response(jsonify(data))
    except Exception as e:
        cost_app.logger.exception(e)
        return make_response(jsonify({'Exception': e.__repr__()}), 500)