)]}'
{"keystone/common/policies/revoke_event.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"e1add1e12eebb2006cc2bd21292592cbcc699115","unresolved":false,"context_lines":[{"line_number":18,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":19,"context_line":"        name\u003dbase.IDENTITY % \u0027list_revoke_events\u0027,"},{"line_number":20,"context_line":"        check_str\u003dbase.RULE_SERVICE_OR_ADMIN,"},{"line_number":21,"context_line":"        description\u003d\u0027List revoke events\u0027,"},{"line_number":22,"context_line":"        operations\u003d[{\u0027path\u0027: \u0027/v3/OS-REVOKE/events\u0027,"},{"line_number":23,"context_line":"                     \u0027method\u0027: \u0027GET\u0027}])"},{"line_number":24,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":1,"id":"ffe62b97_c670c075","line":21,"updated":"2017-03-24 20:41:09.000000000","message":"List revocation events*\n\nAlso, I don\u0027t think this API is very useful anymore... I wonder if we should duplicate the fact it doesn\u0027t do much here or not.. I\u0027ll let other weigh in on that though.","commit_id":"c750239af9a3631256d4eca66cc50445b169b135"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"8be0179ed68c48bbce4c8b088d2e420995e17df3","unresolved":false,"context_lines":[{"line_number":18,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":19,"context_line":"        name\u003dbase.IDENTITY % \u0027list_revoke_events\u0027,"},{"line_number":20,"context_line":"        check_str\u003dbase.RULE_SERVICE_OR_ADMIN,"},{"line_number":21,"context_line":"        description\u003d\u0027List revoke events\u0027,"},{"line_number":22,"context_line":"        operations\u003d[{\u0027path\u0027: \u0027/v3/OS-REVOKE/events\u0027,"},{"line_number":23,"context_line":"                     \u0027method\u0027: \u0027GET\u0027}])"},{"line_number":24,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":1,"id":"ffe62b97_7bd14323","line":21,"in_reply_to":"ffe62b97_4b36b8e8","updated":"2017-03-27 20:56:14.000000000","message":"We had a brief discussion about this in IRC today. The consensus was that we shouldn\u0027t use policy descriptions to duplicate information documented in other parts of keystone, specifically the APIs in question.","commit_id":"c750239af9a3631256d4eca66cc50445b169b135"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"5e19fa7424de4dda7963046f15458e6793857a48","unresolved":false,"context_lines":[{"line_number":18,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":19,"context_line":"        name\u003dbase.IDENTITY % \u0027list_revoke_events\u0027,"},{"line_number":20,"context_line":"        check_str\u003dbase.RULE_SERVICE_OR_ADMIN,"},{"line_number":21,"context_line":"        description\u003d\u0027List revoke events\u0027,"},{"line_number":22,"context_line":"        operations\u003d[{\u0027path\u0027: \u0027/v3/OS-REVOKE/events\u0027,"},{"line_number":23,"context_line":"                     \u0027method\u0027: \u0027GET\u0027}])"},{"line_number":24,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":1,"id":"ffe62b97_4b36b8e8","line":21,"in_reply_to":"ffe62b97_c670c075","updated":"2017-03-27 17:01:28.000000000","message":"Likely true (you never know what operators are doing); but I don\u0027t think this is the best place to document that (presumption).","commit_id":"c750239af9a3631256d4eca66cc50445b169b135"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"8828a338f31e943952f54a451716fdf9fa7596cf","unresolved":false,"context_lines":[{"line_number":20,"context_line":"        check_str\u003dbase.RULE_SERVICE_OR_ADMIN,"},{"line_number":21,"context_line":"        description\u003d\u0027List revocation events.\u0027,"},{"line_number":22,"context_line":"        operations\u003d[{\u0027path\u0027: \u0027/v3/OS-REVOKE/events\u0027,"},{"line_number":23,"context_line":"                     \u0027method\u0027: \u0027GET\u0027}])"},{"line_number":24,"context_line":"]"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ffe62b97_b917e151","line":23,"updated":"2017-03-27 17:01:36.000000000","message":"ultra nit: but I\u0027d prefer it if the method always preceded the path, as that\u0027s you read HTTP requests. e.g.\n\n  GET /v3/OS-REVOKE/events\n\nnot:\n\n  /v3/OS-REVOKE/events GET","commit_id":"ac606855e77ec6beb4d3c5b01e20e551ebe57b25"}]}
