)]}'
{"etc/policy.json":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"2f9c0fc41decf4519a93354a399bf7d0e36d7018","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    \"#\": \"DELETE /v3/domains/{domain_id}\","},{"line_number":52,"context_line":"    \"identity:delete_domain\": \"rule:admin_required\","},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    \"#\": \"GET /v3/projects/{domain_id}\","},{"line_number":55,"context_line":"    \"identity:get_project\": \"rule:admin_required\","},{"line_number":56,"context_line":"    \"#\": \"GET /v3/projects\","},{"line_number":57,"context_line":"    \"identity:list_projects\": \"rule:admin_required\","}],"source_content_type":"application/json","patch_set":9,"id":"9a80dd14_e119e5d1","line":54,"updated":"2015-03-14 06:18:46.000000000","message":"use project_id here","commit_id":"fa48ebf0d5d059ca48e2cf8aaa04b81b78bd8ea3"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"95d94fb5fb295a1f5556588884d233df283bb2b2","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    \"#\": \"DELETE /v3/domains/{domain_id}\","},{"line_number":52,"context_line":"    \"identity:delete_domain\": \"rule:admin_required\","},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    \"#\": \"GET /v3/projects/{domain_id}\","},{"line_number":55,"context_line":"    \"identity:get_project\": \"rule:admin_required\","},{"line_number":56,"context_line":"    \"#\": \"GET /v3/projects\","},{"line_number":57,"context_line":"    \"identity:list_projects\": \"rule:admin_required\","}],"source_content_type":"application/json","patch_set":9,"id":"9a80dd14_add8bcef","line":54,"in_reply_to":"9a80dd14_e119e5d1","updated":"2015-03-14 16:03:09.000000000","message":"Done","commit_id":"fa48ebf0d5d059ca48e2cf8aaa04b81b78bd8ea3"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"2f9c0fc41decf4519a93354a399bf7d0e36d7018","unresolved":false,"context_lines":[{"line_number":59,"context_line":"    \"identity:list_user_projects\": \"rule:admin_or_owner\","},{"line_number":60,"context_line":"    \"#\": \"POST /v3/projects\","},{"line_number":61,"context_line":"    \"identity:create_project\": \"rule:admin_required\","},{"line_number":62,"context_line":"    \"#\": \"PATCH /v3/projects/{domain_id}\","},{"line_number":63,"context_line":"    \"identity:update_project\": \"rule:admin_required\","},{"line_number":64,"context_line":"    \"#\": \"DELETE /v3/projects/{domain_id}\","},{"line_number":65,"context_line":"    \"identity:delete_project\": \"rule:admin_required\","}],"source_content_type":"application/json","patch_set":9,"id":"9a80dd14_017c39eb","line":62,"updated":"2015-03-14 06:18:46.000000000","message":"same","commit_id":"fa48ebf0d5d059ca48e2cf8aaa04b81b78bd8ea3"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"95d94fb5fb295a1f5556588884d233df283bb2b2","unresolved":false,"context_lines":[{"line_number":59,"context_line":"    \"identity:list_user_projects\": \"rule:admin_or_owner\","},{"line_number":60,"context_line":"    \"#\": \"POST /v3/projects\","},{"line_number":61,"context_line":"    \"identity:create_project\": \"rule:admin_required\","},{"line_number":62,"context_line":"    \"#\": \"PATCH /v3/projects/{domain_id}\","},{"line_number":63,"context_line":"    \"identity:update_project\": \"rule:admin_required\","},{"line_number":64,"context_line":"    \"#\": \"DELETE /v3/projects/{domain_id}\","},{"line_number":65,"context_line":"    \"identity:delete_project\": \"rule:admin_required\","}],"source_content_type":"application/json","patch_set":9,"id":"9a80dd14_cde330a2","line":62,"in_reply_to":"9a80dd14_017c39eb","updated":"2015-03-14 16:03:09.000000000","message":"Done","commit_id":"fa48ebf0d5d059ca48e2cf8aaa04b81b78bd8ea3"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"2f9c0fc41decf4519a93354a399bf7d0e36d7018","unresolved":false,"context_lines":[{"line_number":61,"context_line":"    \"identity:create_project\": \"rule:admin_required\","},{"line_number":62,"context_line":"    \"#\": \"PATCH /v3/projects/{domain_id}\","},{"line_number":63,"context_line":"    \"identity:update_project\": \"rule:admin_required\","},{"line_number":64,"context_line":"    \"#\": \"DELETE /v3/projects/{domain_id}\","},{"line_number":65,"context_line":"    \"identity:delete_project\": \"rule:admin_required\","},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    \"#\": \"GET /v3/users/{user_id}\","}],"source_content_type":"application/json","patch_set":9,"id":"9a80dd14_217f7de1","line":64,"updated":"2015-03-14 06:18:46.000000000","message":"same","commit_id":"fa48ebf0d5d059ca48e2cf8aaa04b81b78bd8ea3"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"95d94fb5fb295a1f5556588884d233df283bb2b2","unresolved":false,"context_lines":[{"line_number":61,"context_line":"    \"identity:create_project\": \"rule:admin_required\","},{"line_number":62,"context_line":"    \"#\": \"PATCH /v3/projects/{domain_id}\","},{"line_number":63,"context_line":"    \"identity:update_project\": \"rule:admin_required\","},{"line_number":64,"context_line":"    \"#\": \"DELETE /v3/projects/{domain_id}\","},{"line_number":65,"context_line":"    \"identity:delete_project\": \"rule:admin_required\","},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    \"#\": \"GET /v3/users/{user_id}\","}],"source_content_type":"application/json","patch_set":9,"id":"9a80dd14_edde34d9","line":64,"in_reply_to":"9a80dd14_217f7de1","updated":"2015-03-14 16:03:09.000000000","message":"Done","commit_id":"fa48ebf0d5d059ca48e2cf8aaa04b81b78bd8ea3"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"2f9c0fc41decf4519a93354a399bf7d0e36d7018","unresolved":false,"context_lines":[{"line_number":93,"context_line":"    \"identity:list_users_in_group\": \"rule:admin_required\","},{"line_number":94,"context_line":"    \"#\": \"DELETE /v3/groups/{group_id}/users/{user_id}\","},{"line_number":95,"context_line":"    \"identity:remove_user_from_group\": \"rule:admin_required\","},{"line_number":96,"context_line":"    \"#\": \"GET /v3/groups/{group_id}/users/{user_id}\","},{"line_number":97,"context_line":"    \"identity:check_user_in_group\": \"rule:admin_required\","},{"line_number":98,"context_line":"    \"#\": \"PUT /v3/groups/{group_id}/users/{user_id}\","},{"line_number":99,"context_line":"    \"identity:add_user_to_group\": \"rule:admin_required\","}],"source_content_type":"application/json","patch_set":9,"id":"9a80dd14_615c157e","line":96,"updated":"2015-03-14 06:18:46.000000000","message":"should this be HEAD ?\n\nhttp://specs.openstack.org/openstack/keystone-specs/api/v3/identity-api-v3.html#check-if-user-is-member-of-group","commit_id":"fa48ebf0d5d059ca48e2cf8aaa04b81b78bd8ea3"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"95d94fb5fb295a1f5556588884d233df283bb2b2","unresolved":false,"context_lines":[{"line_number":93,"context_line":"    \"identity:list_users_in_group\": \"rule:admin_required\","},{"line_number":94,"context_line":"    \"#\": \"DELETE /v3/groups/{group_id}/users/{user_id}\","},{"line_number":95,"context_line":"    \"identity:remove_user_from_group\": \"rule:admin_required\","},{"line_number":96,"context_line":"    \"#\": \"GET /v3/groups/{group_id}/users/{user_id}\","},{"line_number":97,"context_line":"    \"identity:check_user_in_group\": \"rule:admin_required\","},{"line_number":98,"context_line":"    \"#\": \"PUT /v3/groups/{group_id}/users/{user_id}\","},{"line_number":99,"context_line":"    \"identity:add_user_to_group\": \"rule:admin_required\","}],"source_content_type":"application/json","patch_set":9,"id":"9a80dd14_6dea4475","line":96,"in_reply_to":"9a80dd14_615c157e","updated":"2015-03-14 16:03:09.000000000","message":"The HTTP spec says that HEAD is a GET that doesn\u0027t return the body, so there\u0027s no need to mention HEAD.\n\nApache actually turns HEAD requests into GET and strips off the body.","commit_id":"fa48ebf0d5d059ca48e2cf8aaa04b81b78bd8ea3"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"2f9c0fc41decf4519a93354a399bf7d0e36d7018","unresolved":false,"context_lines":[{"line_number":109,"context_line":"    \"#\": \"DELETE /v3/credentials/{credential_id}\","},{"line_number":110,"context_line":"    \"identity:delete_credential\": \"rule:admin_required\","},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    \"#\": \"GET /v3/users/{user_id}/credentials/OS-EC2/{credential_id}\","},{"line_number":113,"context_line":"    \"identity:ec2_get_credential\": \"rule:admin_or_owner\","},{"line_number":114,"context_line":"    \"#\": \"GET /v3/users/{user_id}/credentials/OS-EC2\","},{"line_number":115,"context_line":"    \"identity:ec2_list_credentials\": \"rule:admin_or_owner\","}],"source_content_type":"application/json","patch_set":9,"id":"9a80dd14_21cdbd31","line":112,"updated":"2015-03-14 06:18:46.000000000","message":"these APIs are completely undocumented, we should document them","commit_id":"fa48ebf0d5d059ca48e2cf8aaa04b81b78bd8ea3"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"2f9c0fc41decf4519a93354a399bf7d0e36d7018","unresolved":false,"context_lines":[{"line_number":151,"context_line":"    \"identity:check_grant\": \"rule:admin_required\","},{"line_number":152,"context_line":"    \"#\": \"GET \u003cgrant_collections\u003e\","},{"line_number":153,"context_line":"    \"identity:list_grants\": \"rule:admin_required\","},{"line_number":154,"context_line":"    \"#\": \"PUT \u003cgrant_resources\u003e\","},{"line_number":155,"context_line":"    \"identity:create_grant\": \"rule:admin_required\","},{"line_number":156,"context_line":"    \"#\": \"DELETE \u003cgrant_resources\u003e\","},{"line_number":157,"context_line":"    \"identity:revoke_grant\": \"rule:admin_required\","}],"source_content_type":"application/json","patch_set":9,"id":"9a80dd14_818bc9c1","line":154,"updated":"2015-03-14 06:18:46.000000000","message":"I think it\u0027s weird that a PUT/DELETE/GET works on the OS-INHERIT APIs, as none end with a resource. But not really your problem in this patch.","commit_id":"fa48ebf0d5d059ca48e2cf8aaa04b81b78bd8ea3"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"2f9c0fc41decf4519a93354a399bf7d0e36d7018","unresolved":false,"context_lines":[{"line_number":224,"context_line":"    \"identity:list_projects_for_endpoint\": \"rule:admin_required\","},{"line_number":225,"context_line":"    \"#\": \"PUT /v3/OS-EP-FILTER/projects/{project_id}/endpoints/{endpoint_id}\","},{"line_number":226,"context_line":"    \"identity:add_endpoint_to_project\": \"rule:admin_required\","},{"line_number":227,"context_line":"    \"#\": \"GET /v3/OS-EP-FILTER/projects/{project_id}/endpoints/{endpoint_id}\","},{"line_number":228,"context_line":"    \"identity:check_endpoint_in_project\": \"rule:admin_required\","},{"line_number":229,"context_line":"    \"#\": \"GET /v3/OS-EP-FILTER/projects/{project_id}/endpoints\","},{"line_number":230,"context_line":"    \"identity:list_endpoints_for_project\": \"rule:admin_required\","}],"source_content_type":"application/json","patch_set":9,"id":"9a80dd14_c1a86122","line":227,"updated":"2015-03-14 06:18:46.000000000","message":"head? http://specs.openstack.org/openstack/keystone-specs/api/v3/identity-api-v3-os-ep-filter-ext.html#check-association\n\nor is the spec wrong?","commit_id":"fa48ebf0d5d059ca48e2cf8aaa04b81b78bd8ea3"},{"author":{"_account_id":6460,"name":"Brad Topol","email":"btopol@us.ibm.com","username":"btopol"},"change_message_id":"bda938f61e331c1bcc9432c3d55e28d6ddeafcfb","unresolved":false,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"    \"default\": \"rule:admin_required\","},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"    \"#\": \"GET /v3/regions/{region_id}\","},{"line_number":11,"context_line":"    \"identity:get_region\": \"\","},{"line_number":12,"context_line":"    \"#\": \"GET /v3/regions\","},{"line_number":13,"context_line":"    \"identity:list_regions\": \"\","}],"source_content_type":"application/json","patch_set":10,"id":"9a80dd14_055c3c7c","line":10,"updated":"2015-03-15 02:59:00.000000000","message":"Did you come up with this convention for doing comments yourself? I have never seen it before.  It\u0027s definitely helpful to have in here!","commit_id":"294319b39ecc489ec0cf5f449c770c19aea691d6"}],"etc/policy.v3cloudsample.json":[{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"77f21e42861fd91e1a6dcfc44f5492ea73e1a35c","unresolved":false,"context_lines":[{"line_number":245,"context_line":"    \"#\": \"PUT /v3/OS-EP-FILTER/projects/{project_id}/endpoints/{endpoint_id}\","},{"line_number":246,"context_line":"    \"identity:add_endpoint_to_project\": \"rule:admin_required\","},{"line_number":247,"context_line":"    \"#\": \"GET /v3/OS-EP-FILTER/projects/{project_id}/endpoints/{endpoint_id}\","},{"line_number":248,"context_line":"    \"identity:check_endpoint_in_project\": \"rule:admin_required\","},{"line_number":249,"context_line":"    \"#\": \"GET /v3/OS-EP-FILTER/projects/{project_id}/endpoints\","},{"line_number":250,"context_line":"    \"identity:list_endpoints_for_project\": \"rule:admin_required\","},{"line_number":251,"context_line":"    \"#\": \"DELETE /v3/OS-EP-FILTER/projects/{project_id}/endpoints/{endpoint_id}\","}],"source_content_type":"application/json","patch_set":5,"id":"da86d52c_fc80434b","line":248,"updated":"2015-02-15 12:20:26.000000000","message":"So do you think we should indicated that HEAD will also have this same effect?  There are quite a few like this obviously...","commit_id":"ce05c7699fc59a1d89354b1c2d281ef596337731"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"64247be361ebf0fd3554ecca2027c889629d2671","unresolved":false,"context_lines":[{"line_number":245,"context_line":"    \"#\": \"PUT /v3/OS-EP-FILTER/projects/{project_id}/endpoints/{endpoint_id}\","},{"line_number":246,"context_line":"    \"identity:add_endpoint_to_project\": \"rule:admin_required\","},{"line_number":247,"context_line":"    \"#\": \"GET /v3/OS-EP-FILTER/projects/{project_id}/endpoints/{endpoint_id}\","},{"line_number":248,"context_line":"    \"identity:check_endpoint_in_project\": \"rule:admin_required\","},{"line_number":249,"context_line":"    \"#\": \"GET /v3/OS-EP-FILTER/projects/{project_id}/endpoints\","},{"line_number":250,"context_line":"    \"identity:list_endpoints_for_project\": \"rule:admin_required\","},{"line_number":251,"context_line":"    \"#\": \"DELETE /v3/OS-EP-FILTER/projects/{project_id}/endpoints/{endpoint_id}\","}],"source_content_type":"application/json","patch_set":5,"id":"da86d52c_47b418d1","line":248,"in_reply_to":"da86d52c_fc80434b","updated":"2015-02-15 15:39:30.000000000","message":"GET implies HEAD and vice-versa, based on the HTTP RFC and the fact that Apache converts HEAD requests to GET, so I don\u0027t think we need to list both, since they\u0027d both always be there.","commit_id":"ce05c7699fc59a1d89354b1c2d281ef596337731"}]}
