)]}'
{"openstack/telemetry/v2/alarm.py":[{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"59ef946808c11dcc100effc4771012ac9c2ac79b","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    allow_list \u003d True"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    # Properties"},{"line_number":31,"context_line":"    #: The actions to do when alarm state change to alarm"},{"line_number":32,"context_line":"    alarm_actions \u003d resource.prop(\u0027alarm_actions\u0027)"},{"line_number":33,"context_line":"    #: The UUID of the alarm"},{"line_number":34,"context_line":"    alarm_id \u003d resource.prop(\u0027alarm_id\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_b453f86b","line":31,"updated":"2015-06-27 12:24:53.000000000","message":"s/change/changes","commit_id":"1c88208871319a04f1a1d4c90cdbf18b5be691c3"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"c1116e32e07827d673da469e7762d6481f6403f7","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    allow_list \u003d True"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    # Properties"},{"line_number":31,"context_line":"    #: The actions to do when alarm state change to alarm"},{"line_number":32,"context_line":"    alarm_actions \u003d resource.prop(\u0027alarm_actions\u0027)"},{"line_number":33,"context_line":"    #: The UUID of the alarm"},{"line_number":34,"context_line":"    alarm_id \u003d resource.prop(\u0027alarm_id\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_6bcd8385","line":31,"in_reply_to":"fa32b979_b453f86b","updated":"2015-06-28 14:56:08.000000000","message":"Done","commit_id":"1c88208871319a04f1a1d4c90cdbf18b5be691c3"},{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"59ef946808c11dcc100effc4771012ac9c2ac79b","unresolved":false,"context_lines":[{"line_number":42,"context_line":"    insufficient_data_actions \u003d resource.prop(\u0027insufficient_data_actions\u0027)"},{"line_number":43,"context_line":"    #: The name for the alarm"},{"line_number":44,"context_line":"    name \u003d resource.prop(\u0027name\u0027)"},{"line_number":45,"context_line":"    #: The actions to do when alarm state change to ok"},{"line_number":46,"context_line":"    ok_actions \u003d resource.prop(\u0027ok_actions\u0027)"},{"line_number":47,"context_line":"    #: The ID of the project or tenant that owns the alarm"},{"line_number":48,"context_line":"    project_id \u003d resource.prop(\u0027project_id\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_744d70c3","line":45,"updated":"2015-06-27 12:24:53.000000000","message":"changes","commit_id":"1c88208871319a04f1a1d4c90cdbf18b5be691c3"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"c1116e32e07827d673da469e7762d6481f6403f7","unresolved":false,"context_lines":[{"line_number":42,"context_line":"    insufficient_data_actions \u003d resource.prop(\u0027insufficient_data_actions\u0027)"},{"line_number":43,"context_line":"    #: The name for the alarm"},{"line_number":44,"context_line":"    name \u003d resource.prop(\u0027name\u0027)"},{"line_number":45,"context_line":"    #: The actions to do when alarm state change to ok"},{"line_number":46,"context_line":"    ok_actions \u003d resource.prop(\u0027ok_actions\u0027)"},{"line_number":47,"context_line":"    #: The ID of the project or tenant that owns the alarm"},{"line_number":48,"context_line":"    project_id \u003d resource.prop(\u0027project_id\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_8bc80777","line":45,"in_reply_to":"fa32b979_744d70c3","updated":"2015-06-28 14:56:08.000000000","message":"Done","commit_id":"1c88208871319a04f1a1d4c90cdbf18b5be691c3"},{"author":{"_account_id":8246,"name":"Qiming Teng","email":"tengqm@outlook.com","username":"tengqm"},"change_message_id":"f506b2984210e0942430aaba7a26161980fc60b2","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    repeat_actions \u003d resource.prop(\u0027repeat_actions\u0027, type\u003dbool)"},{"line_number":51,"context_line":"    #: The severity of the alarm"},{"line_number":52,"context_line":"    severity \u003d resource.prop(\u0027severity\u0027)"},{"line_number":53,"context_line":"    #: The state offset the alarm"},{"line_number":54,"context_line":"    state \u003d resource.prop(\u0027state\u0027)"},{"line_number":55,"context_line":"    #: The date of the last alarm state changed"},{"line_number":56,"context_line":"    state_changed_at \u003d resource.prop(\u0027state_timestamp\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_1da0cfa4","line":53,"updated":"2015-06-27 02:10:30.000000000","message":"?","commit_id":"1c88208871319a04f1a1d4c90cdbf18b5be691c3"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"c1116e32e07827d673da469e7762d6481f6403f7","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    repeat_actions \u003d resource.prop(\u0027repeat_actions\u0027, type\u003dbool)"},{"line_number":51,"context_line":"    #: The severity of the alarm"},{"line_number":52,"context_line":"    severity \u003d resource.prop(\u0027severity\u0027)"},{"line_number":53,"context_line":"    #: The state offset the alarm"},{"line_number":54,"context_line":"    state \u003d resource.prop(\u0027state\u0027)"},{"line_number":55,"context_line":"    #: The date of the last alarm state changed"},{"line_number":56,"context_line":"    state_changed_at \u003d resource.prop(\u0027state_timestamp\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_2bc77b65","line":53,"in_reply_to":"fa32b979_1da0cfa4","updated":"2015-06-28 14:56:08.000000000","message":"s/offset/off, done","commit_id":"1c88208871319a04f1a1d4c90cdbf18b5be691c3"},{"author":{"_account_id":8246,"name":"Qiming Teng","email":"tengqm@outlook.com","username":"tengqm"},"change_message_id":"f506b2984210e0942430aaba7a26161980fc60b2","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    severity \u003d resource.prop(\u0027severity\u0027)"},{"line_number":53,"context_line":"    #: The state offset the alarm"},{"line_number":54,"context_line":"    state \u003d resource.prop(\u0027state\u0027)"},{"line_number":55,"context_line":"    #: The date of the last alarm state changed"},{"line_number":56,"context_line":"    state_changed_at \u003d resource.prop(\u0027state_timestamp\u0027)"},{"line_number":57,"context_line":"    # TODO(briancurtin): undocumented"},{"line_number":58,"context_line":"    threshold_rule \u003d resource.prop(\u0027threshold_rule\u0027, type\u003ddict)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_dda90792","line":55,"updated":"2015-06-27 02:10:30.000000000","message":"date -\u003e timestamp","commit_id":"1c88208871319a04f1a1d4c90cdbf18b5be691c3"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"c1116e32e07827d673da469e7762d6481f6403f7","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    severity \u003d resource.prop(\u0027severity\u0027)"},{"line_number":53,"context_line":"    #: The state offset the alarm"},{"line_number":54,"context_line":"    state \u003d resource.prop(\u0027state\u0027)"},{"line_number":55,"context_line":"    #: The date of the last alarm state changed"},{"line_number":56,"context_line":"    state_changed_at \u003d resource.prop(\u0027state_timestamp\u0027)"},{"line_number":57,"context_line":"    # TODO(briancurtin): undocumented"},{"line_number":58,"context_line":"    threshold_rule \u003d resource.prop(\u0027threshold_rule\u0027, type\u003ddict)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_0ba397b2","line":55,"in_reply_to":"fa32b979_54c94c24","updated":"2015-06-28 14:56:08.000000000","message":"Done","commit_id":"1c88208871319a04f1a1d4c90cdbf18b5be691c3"},{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"59ef946808c11dcc100effc4771012ac9c2ac79b","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    severity \u003d resource.prop(\u0027severity\u0027)"},{"line_number":53,"context_line":"    #: The state offset the alarm"},{"line_number":54,"context_line":"    state \u003d resource.prop(\u0027state\u0027)"},{"line_number":55,"context_line":"    #: The date of the last alarm state changed"},{"line_number":56,"context_line":"    state_changed_at \u003d resource.prop(\u0027state_timestamp\u0027)"},{"line_number":57,"context_line":"    # TODO(briancurtin): undocumented"},{"line_number":58,"context_line":"    threshold_rule \u003d resource.prop(\u0027threshold_rule\u0027, type\u003ddict)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_54c94c24","line":55,"in_reply_to":"fa32b979_dda90792","updated":"2015-06-27 12:24:53.000000000","message":"changed/change","commit_id":"1c88208871319a04f1a1d4c90cdbf18b5be691c3"},{"author":{"_account_id":8246,"name":"Qiming Teng","email":"tengqm@outlook.com","username":"tengqm"},"change_message_id":"f506b2984210e0942430aaba7a26161980fc60b2","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    threshold_rule \u003d resource.prop(\u0027threshold_rule\u0027, type\u003ddict)"},{"line_number":59,"context_line":"    #: Describe time constraints for the alarm"},{"line_number":60,"context_line":"    time_constraints \u003d resource.prop(\u0027time_constraints\u0027)"},{"line_number":61,"context_line":"    #: Explicit type specifier to select which rule to follow below"},{"line_number":62,"context_line":"    type \u003d resource.prop(\u0027type\u0027)"},{"line_number":63,"context_line":"    #: The date of the last alarm definition update"},{"line_number":64,"context_line":"    updated_at \u003d resource.prop(\u0027timestamp\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_bd8f632d","line":61,"updated":"2015-06-27 02:10:30.000000000","message":"\"which rule to follow\"","commit_id":"1c88208871319a04f1a1d4c90cdbf18b5be691c3"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"c1116e32e07827d673da469e7762d6481f6403f7","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    threshold_rule \u003d resource.prop(\u0027threshold_rule\u0027, type\u003ddict)"},{"line_number":59,"context_line":"    #: Describe time constraints for the alarm"},{"line_number":60,"context_line":"    time_constraints \u003d resource.prop(\u0027time_constraints\u0027)"},{"line_number":61,"context_line":"    #: Explicit type specifier to select which rule to follow below"},{"line_number":62,"context_line":"    type \u003d resource.prop(\u0027type\u0027)"},{"line_number":63,"context_line":"    #: The date of the last alarm definition update"},{"line_number":64,"context_line":"    updated_at \u003d resource.prop(\u0027timestamp\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_aba94b92","line":61,"in_reply_to":"fa32b979_bd8f632d","updated":"2015-06-28 14:56:08.000000000","message":"Done","commit_id":"1c88208871319a04f1a1d4c90cdbf18b5be691c3"}],"openstack/telemetry/v2/alarm_change.py":[{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"59ef946808c11dcc100effc4771012ac9c2ac79b","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    # Properties"},{"line_number":27,"context_line":"    #: The UUID of the alarm"},{"line_number":28,"context_line":"    alarm_id \u003d resource.prop(\u0027alarm_id\u0027)"},{"line_number":29,"context_line":"    #: JSON fragment describing change"},{"line_number":30,"context_line":"    detail \u003d resource.prop(\u0027detail\u0027)"},{"line_number":31,"context_line":"    #: The UUID of the change event"},{"line_number":32,"context_line":"    event_id \u003d resource.prop(\u0027event_id\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_d4d55cb7","line":29,"updated":"2015-06-27 12:24:53.000000000","message":"Are we storing this as a JSON string?  If you aren\u0027t sure JSON/dict, maybe just drop the type","commit_id":"1c88208871319a04f1a1d4c90cdbf18b5be691c3"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"c1116e32e07827d673da469e7762d6481f6403f7","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    # Properties"},{"line_number":27,"context_line":"    #: The UUID of the alarm"},{"line_number":28,"context_line":"    alarm_id \u003d resource.prop(\u0027alarm_id\u0027)"},{"line_number":29,"context_line":"    #: JSON fragment describing change"},{"line_number":30,"context_line":"    detail \u003d resource.prop(\u0027detail\u0027)"},{"line_number":31,"context_line":"    #: The UUID of the change event"},{"line_number":32,"context_line":"    event_id \u003d resource.prop(\u0027event_id\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_4b70bf40","line":29,"in_reply_to":"fa32b979_d4d55cb7","updated":"2015-06-28 14:56:08.000000000","message":"No idea, just changed to generically mention data","commit_id":"1c88208871319a04f1a1d4c90cdbf18b5be691c3"}],"openstack/telemetry/v2/meter.py":[{"author":{"_account_id":8246,"name":"Qiming Teng","email":"tengqm@outlook.com","username":"tengqm"},"change_message_id":"f506b2984210e0942430aaba7a26161980fc60b2","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    name \u003d resource.prop(\u0027name\u0027)"},{"line_number":31,"context_line":"    #: The ID of the project or tenant that owns the resource"},{"line_number":32,"context_line":"    project_id \u003d resource.prop(\u0027project_id\u0027)"},{"line_number":33,"context_line":"    #: The ID of the Resource for which the measurements are taken"},{"line_number":34,"context_line":"    resource_id \u003d resource.prop(\u0027resource_id\u0027)"},{"line_number":35,"context_line":"    #: The ID of the source that identifies where the meter comes from"},{"line_number":36,"context_line":"    source \u003d resource.prop(\u0027source\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_3d8a731b","line":33,"updated":"2015-06-27 02:10:30.000000000","message":"Resource -\u003e resource","commit_id":"1c88208871319a04f1a1d4c90cdbf18b5be691c3"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"c1116e32e07827d673da469e7762d6481f6403f7","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    name \u003d resource.prop(\u0027name\u0027)"},{"line_number":31,"context_line":"    #: The ID of the project or tenant that owns the resource"},{"line_number":32,"context_line":"    project_id \u003d resource.prop(\u0027project_id\u0027)"},{"line_number":33,"context_line":"    #: The ID of the Resource for which the measurements are taken"},{"line_number":34,"context_line":"    resource_id \u003d resource.prop(\u0027resource_id\u0027)"},{"line_number":35,"context_line":"    #: The ID of the source that identifies where the meter comes from"},{"line_number":36,"context_line":"    source \u003d resource.prop(\u0027source\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_0b915746","line":33,"in_reply_to":"fa32b979_3d8a731b","updated":"2015-06-28 14:56:08.000000000","message":"Done","commit_id":"1c88208871319a04f1a1d4c90cdbf18b5be691c3"}],"openstack/telemetry/v2/resource.py":[{"author":{"_account_id":8246,"name":"Qiming Teng","email":"tengqm@outlook.com","username":"tengqm"},"change_message_id":"f506b2984210e0942430aaba7a26161980fc60b2","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    project_id \u003d resource.prop(\u0027project_id\u0027)"},{"line_number":37,"context_line":"    #: The unique identifier for the resource"},{"line_number":38,"context_line":"    resource_id \u003d resource.prop(\u0027resource_id\u0027)"},{"line_number":39,"context_line":"    #: The source where the resource come from"},{"line_number":40,"context_line":"    source \u003d resource.prop(\u0027source\u0027)"},{"line_number":41,"context_line":"    #: The ID of the user who created the resource or updated it last"},{"line_number":42,"context_line":"    user_id \u003d resource.prop(\u0027user_id\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_bd76833d","line":39,"updated":"2015-06-27 02:10:30.000000000","message":"come-\u003ecomes","commit_id":"1c88208871319a04f1a1d4c90cdbf18b5be691c3"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"c1116e32e07827d673da469e7762d6481f6403f7","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    project_id \u003d resource.prop(\u0027project_id\u0027)"},{"line_number":37,"context_line":"    #: The unique identifier for the resource"},{"line_number":38,"context_line":"    resource_id \u003d resource.prop(\u0027resource_id\u0027)"},{"line_number":39,"context_line":"    #: The source where the resource come from"},{"line_number":40,"context_line":"    source \u003d resource.prop(\u0027source\u0027)"},{"line_number":41,"context_line":"    #: The ID of the user who created the resource or updated it last"},{"line_number":42,"context_line":"    user_id \u003d resource.prop(\u0027user_id\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_ab970b39","line":39,"in_reply_to":"fa32b979_bd76833d","updated":"2015-06-28 14:56:08.000000000","message":"Done","commit_id":"1c88208871319a04f1a1d4c90cdbf18b5be691c3"}]}
