def get_alarm_detail(request): arrays = _request_GET_to_dict(request.GET, seperate_args_and_list=False) if 'alarm_id' not in arrays: return _report_error('KeyError: alarm_id not provided') alarm_id = arrays['alarm_id'] #filters = sanitize_arguments(filters, capabilities.ALARM_LIST_CAPABILITIES) token_id = request.session['token'].id new_ceilometer_api = CeilometerApi(token_id) try: result = new_ceilometer_api.get_alarm_detail(alarm_id) return HttpResponse(json.dumps(result), content_type='application/json') except (err.ClientSideError, err.ServerSideError), e: return _report_error(e.message)
def copy_alarm_to_resources(request): ''' # TODO:(pwwp) Not yet finished! :param request: :return: ''' # Fetch alarm data token_id = request.session['token'].id new_ceilometer_api = CeilometerApi(token_id) if 'alarm_id' not in request.GET: return _report_error('"alarm_id" should be provided.') alarm_id = request.GET['alarm_id'] alarm_data = None try: alarm_data = new_ceilometer_api.get_alarm_detail(alarm_id) except (err.ClientSideError, err.ServerSideError), e: return _report_error(e.message)
def update_alarm_enabled(request, alarm_id): ''' Update the 'enabled' field of a given alarm :param request: (Django request) :param alarm_id: (string) id of an alarm :return: HTTPResponse (application/json) ''' # First fetch alarm data token_id = request.session['token'].id new_ceilometer_api = CeilometerApi(token_id) try: alarm_data = new_ceilometer_api.get_alarm_detail(alarm_id) alarm_data['enabled'] = string_to_bool(request.GET['enabled']) result = new_ceilometer_api.update_threshold_alarm(alarm_id, alarm_data) return HttpResponse(json.dumps(result), content_type='application/json') except KeyError, e: return _report_error(str(e) + 'shall be provided')
def update_alarm_enabled(request, alarm_id): ''' Update the 'enabled' field of a given alarm :param request: (Django request) :param alarm_id: (string) id of an alarm :return: HTTPResponse (application/json) ''' # First fetch alarm data token_id = request.session['token'].id new_ceilometer_api = CeilometerApi(token_id) try: alarm_data = new_ceilometer_api.get_alarm_detail(alarm_id) alarm_data['enabled'] = string_to_bool(request.GET['enabled']) result = new_ceilometer_api.update_threshold_alarm( alarm_id, alarm_data) return HttpResponse(json.dumps(result), content_type='application/json') except KeyError, e: return _report_error(str(e) + 'shall be provided')