)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"d36a1cdc35e47328fc7bac8efd32dc621cee8545","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Move mapping to DocumentedRuleDefault"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The overall goal is to define a richer policy for deployers"},{"line_number":10,"context_line":"and operators[0]. To achieve that goal a new policy"},{"line_number":11,"context_line":"class was introduce that requires additional parameters"},{"line_number":12,"context_line":"when defining policy objects."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"ffe62b97_f5be1eac","line":9,"updated":"2017-03-29 16:57:54.000000000","message":"I still think we should remove this first sentence since it doesn\u0027t help define a richer set of roles. The definition of a richer set of roles is going to come from consolidating RBAC patterns and reasoning about them. It will be using some of this work, but I\u0027m afraid to advertise this as accomplishing part of it.\n\ns/The overall goal is to define a richer policy for deployers and operators[0]. To achieve that goal a/A/","commit_id":"c4f05600bdfa323da38a9a32cb95068af1c0b00f"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"d36a1cdc35e47328fc7bac8efd32dc621cee8545","unresolved":false,"context_lines":[{"line_number":15,"context_line":"the policy.DocumentedRuleDefault and fills the"},{"line_number":16,"context_line":"required policy parameters as needed."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"[0] I2b59f92545c5ead2a883d358f72f3ad3b3dfe1a6"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: I12fa02d311f3b7cf308eb163be47b61c716dc3f3"},{"line_number":21,"context_line":"Partially-Implements: bp policy-docs"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"ffe62b97_95feb268","line":18,"updated":"2017-03-29 16:57:54.000000000","message":"We\u0027re already referencing the spec below, so doing it here is redundant.","commit_id":"c4f05600bdfa323da38a9a32cb95068af1c0b00f"}],"keystone/common/policies/mapping.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"d21bf6fc16c0d6ed41b3e5c96349128405cb001e","unresolved":false,"context_lines":[{"line_number":18,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":19,"context_line":"        name\u003dbase.IDENTITY % \u0027create_mapping\u0027,"},{"line_number":20,"context_line":"        check_str\u003dbase.RULE_ADMIN_REQUIRED,"},{"line_number":21,"context_line":"        description\u003d\u0027Create mapping\u0027,"},{"line_number":22,"context_line":"        operations\u003d[{\u0027path\u0027: \u0027/v3/OS-FEDERATION/mappings/{mapping_id}\u0027,"},{"line_number":23,"context_line":"                     \u0027method\u0027: \u0027PUT\u0027}]),"},{"line_number":24,"context_line":"    policy.DocumentedRuleDefault("}],"source_content_type":"text/x-python","patch_set":1,"id":"ffe62b97_a7f6d38e","line":21,"updated":"2017-03-25 01:31:39.000000000","message":"Create federated mapping*? \n\nI think federated helps give more context as to what the mapping is for.","commit_id":"1095f2855b44b529183681cbae69c0dc1e0a6261"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"d21bf6fc16c0d6ed41b3e5c96349128405cb001e","unresolved":false,"context_lines":[{"line_number":19,"context_line":"        name\u003dbase.IDENTITY % \u0027create_mapping\u0027,"},{"line_number":20,"context_line":"        check_str\u003dbase.RULE_ADMIN_REQUIRED,"},{"line_number":21,"context_line":"        description\u003d\u0027Create mapping\u0027,"},{"line_number":22,"context_line":"        operations\u003d[{\u0027path\u0027: \u0027/v3/OS-FEDERATION/mappings/{mapping_id}\u0027,"},{"line_number":23,"context_line":"                     \u0027method\u0027: \u0027PUT\u0027}]),"},{"line_number":24,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":25,"context_line":"        name\u003dbase.IDENTITY % \u0027get_mapping\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ffe62b97_270be38e","line":22,"updated":"2017-03-25 01:31:39.000000000","message":"We should update this comment [0] because according to this and the federation routers it\u0027s incorrect. This can be done in a separate patch, just wanted to document it here since I noticed it.\n\n[0] https://github.com/openstack/keystone/blob/62a0d2f295793928527530ae6540fe7e210dcd43/keystone/federation/routers.py#L56","commit_id":"1095f2855b44b529183681cbae69c0dc1e0a6261"},{"author":{"_account_id":16465,"name":"Kristi Nikolla","email":"knikolla@bu.edu","username":"knikolla"},"change_message_id":"aee6c3da8f8e22f7c4c894b01c4b8693d73af6a6","unresolved":false,"context_lines":[{"line_number":18,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":19,"context_line":"        name\u003dbase.IDENTITY % \u0027create_mapping\u0027,"},{"line_number":20,"context_line":"        check_str\u003dbase.RULE_ADMIN_REQUIRED,"},{"line_number":21,"context_line":"        description\u003d\u0027Create federated mapping.\u0027,"},{"line_number":22,"context_line":"        operations\u003d[{\u0027path\u0027: \u0027/v3/OS-FEDERATION/mappings/{mapping_id}\u0027,"},{"line_number":23,"context_line":"                     \u0027method\u0027: \u0027PUT\u0027}]),"},{"line_number":24,"context_line":"    policy.DocumentedRuleDefault("}],"source_content_type":"text/x-python","patch_set":3,"id":"ffe62b97_d539daa3","line":21,"range":{"start_line":21,"start_character":28,"end_line":21,"end_character":37},"updated":"2017-03-29 16:48:40.000000000","message":"I feel \u0027federated\u0027 is a misleading term here. \u0027federation\u0027 might be a more suitable term, since the mapping is not federated, but it\u0027s of a federation.","commit_id":"c4f05600bdfa323da38a9a32cb95068af1c0b00f"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"7361ae4bf628933d4ef26cfb4416f7086974681b","unresolved":false,"context_lines":[{"line_number":18,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":19,"context_line":"        name\u003dbase.IDENTITY % \u0027create_mapping\u0027,"},{"line_number":20,"context_line":"        check_str\u003dbase.RULE_ADMIN_REQUIRED,"},{"line_number":21,"context_line":"        description\u003d\u0027Create federation mapping.\u0027,"},{"line_number":22,"context_line":"        operations\u003d[{\u0027path\u0027: \u0027/v3/OS-FEDERATION/mappings/{mapping_id}\u0027,"},{"line_number":23,"context_line":"                     \u0027method\u0027: \u0027PUT\u0027}]),"},{"line_number":24,"context_line":"    policy.DocumentedRuleDefault("}],"source_content_type":"text/x-python","patch_set":5,"id":"dfeb2761_8430a809","line":21,"range":{"start_line":21,"start_character":28,"end_line":21,"end_character":38},"updated":"2017-03-30 17:50:10.000000000","message":"update these to \"federated\" to be in consistence with https://review.openstack.org/#/c/449347","commit_id":"860709a35dfbbec3d4562fefba1bc77178deacb0"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"7361ae4bf628933d4ef26cfb4416f7086974681b","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":25,"context_line":"        name\u003dbase.IDENTITY % \u0027get_mapping\u0027,"},{"line_number":26,"context_line":"        check_str\u003dbase.RULE_ADMIN_REQUIRED,"},{"line_number":27,"context_line":"        description\u003d\u0027Get federation mapping.\u0027,"},{"line_number":28,"context_line":"        operations\u003d[{\u0027path\u0027: \u0027/v3/OS-FEDERATION/mappings/{mapping_id}\u0027,"},{"line_number":29,"context_line":"                     \u0027method\u0027: \u0027GET\u0027}]),"},{"line_number":30,"context_line":"    policy.DocumentedRuleDefault("}],"source_content_type":"text/x-python","patch_set":5,"id":"dfeb2761_6435a4f7","line":27,"range":{"start_line":27,"start_character":25,"end_line":27,"end_character":35},"updated":"2017-03-30 17:50:10.000000000","message":"ditto","commit_id":"860709a35dfbbec3d4562fefba1bc77178deacb0"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"7361ae4bf628933d4ef26cfb4416f7086974681b","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":31,"context_line":"        name\u003dbase.IDENTITY % \u0027list_mappings\u0027,"},{"line_number":32,"context_line":"        check_str\u003dbase.RULE_ADMIN_REQUIRED,"},{"line_number":33,"context_line":"        description\u003d\u0027List federation mapping.\u0027,"},{"line_number":34,"context_line":"        operations\u003d[{\u0027path\u0027: \u0027/v3/OS-FEDERATION/mappings\u0027,"},{"line_number":35,"context_line":"                     \u0027method\u0027: \u0027GET\u0027}]),"},{"line_number":36,"context_line":"    policy.DocumentedRuleDefault("}],"source_content_type":"text/x-python","patch_set":5,"id":"dfeb2761_443aa0e7","line":33,"range":{"start_line":33,"start_character":26,"end_line":33,"end_character":36},"updated":"2017-03-30 17:50:10.000000000","message":"ditto","commit_id":"860709a35dfbbec3d4562fefba1bc77178deacb0"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"e339fe35c6a1bdcc90596124ec9f6ddafe35d055","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":31,"context_line":"        name\u003dbase.IDENTITY % \u0027list_mappings\u0027,"},{"line_number":32,"context_line":"        check_str\u003dbase.RULE_ADMIN_REQUIRED,"},{"line_number":33,"context_line":"        description\u003d\u0027List federation mapping.\u0027,"},{"line_number":34,"context_line":"        operations\u003d[{\u0027path\u0027: \u0027/v3/OS-FEDERATION/mappings\u0027,"},{"line_number":35,"context_line":"                     \u0027method\u0027: \u0027GET\u0027}]),"},{"line_number":36,"context_line":"    policy.DocumentedRuleDefault("}],"source_content_type":"text/x-python","patch_set":5,"id":"dfeb2761_64c244ec","line":33,"range":{"start_line":33,"start_character":37,"end_line":33,"end_character":44},"updated":"2017-03-30 17:48:08.000000000","message":"mappings (plural)","commit_id":"860709a35dfbbec3d4562fefba1bc77178deacb0"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"7361ae4bf628933d4ef26cfb4416f7086974681b","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":37,"context_line":"        name\u003dbase.IDENTITY % \u0027delete_mapping\u0027,"},{"line_number":38,"context_line":"        check_str\u003dbase.RULE_ADMIN_REQUIRED,"},{"line_number":39,"context_line":"        description\u003d\u0027Delete federation mapping.\u0027,"},{"line_number":40,"context_line":"        operations\u003d[{\u0027path\u0027: \u0027/v3/OS-FEDERATION/mappings/{mapping_id}\u0027,"},{"line_number":41,"context_line":"                     \u0027method\u0027: \u0027DELETE\u0027}]),"},{"line_number":42,"context_line":"    policy.DocumentedRuleDefault("}],"source_content_type":"text/x-python","patch_set":5,"id":"dfeb2761_e42094b3","line":39,"range":{"start_line":39,"start_character":28,"end_line":39,"end_character":38},"updated":"2017-03-30 17:50:10.000000000","message":"ditto","commit_id":"860709a35dfbbec3d4562fefba1bc77178deacb0"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"7361ae4bf628933d4ef26cfb4416f7086974681b","unresolved":false,"context_lines":[{"line_number":42,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":43,"context_line":"        name\u003dbase.IDENTITY % \u0027update_mapping\u0027,"},{"line_number":44,"context_line":"        check_str\u003dbase.RULE_ADMIN_REQUIRED,"},{"line_number":45,"context_line":"        description\u003d\u0027Update federation mapping.\u0027,"},{"line_number":46,"context_line":"        operations\u003d[{\u0027path\u0027: \u0027/v3/OS-FEDERATION/mappings/{mapping_id}\u0027,"},{"line_number":47,"context_line":"                     \u0027method\u0027: \u0027PATCH\u0027}])"},{"line_number":48,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":5,"id":"dfeb2761_c42d90a9","line":45,"range":{"start_line":45,"start_character":28,"end_line":45,"end_character":38},"updated":"2017-03-30 17:50:10.000000000","message":"ditto","commit_id":"860709a35dfbbec3d4562fefba1bc77178deacb0"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"ba18d2e57641f70abd1a1f5f4a507b0b09405c56","unresolved":false,"context_lines":[{"line_number":18,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":19,"context_line":"        name\u003dbase.IDENTITY % \u0027create_mapping\u0027,"},{"line_number":20,"context_line":"        check_str\u003dbase.RULE_ADMIN_REQUIRED,"},{"line_number":21,"context_line":"        description\u003d\u0027Create federated mapping.\u0027,"},{"line_number":22,"context_line":"        operations\u003d[{\u0027path\u0027: \u0027/v3/OS-FEDERATION/mappings/{mapping_id}\u0027,"},{"line_number":23,"context_line":"                     \u0027method\u0027: \u0027PUT\u0027}]),"},{"line_number":24,"context_line":"    policy.DocumentedRuleDefault("}],"source_content_type":"text/x-python","patch_set":6,"id":"dfeb2761_1ad46c47","line":21,"range":{"start_line":21,"start_character":38,"end_line":21,"end_character":45},"updated":"2017-04-04 14:58:59.000000000","message":"whenever talking about \"mapping\", we should include \"rules\". So I suggest to replace the occurrences of \"mapping\" here to \"mapping rules\".\n\nExample:\n\n  - Create a new federated mapping rule.\n  - Get a federated mapping rule.\n  - Listing federated mapping rules.","commit_id":"4d9801e5cb60074ff0ffe077c14eb11e0700bc82"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"38c1373677afa5b8a5ba8f8617030485bfedabdd","unresolved":false,"context_lines":[{"line_number":18,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":19,"context_line":"        name\u003dbase.IDENTITY % \u0027create_mapping\u0027,"},{"line_number":20,"context_line":"        check_str\u003dbase.RULE_ADMIN_REQUIRED,"},{"line_number":21,"context_line":"        description\u003d\u0027Create federated mapping.\u0027,"},{"line_number":22,"context_line":"        operations\u003d[{\u0027path\u0027: \u0027/v3/OS-FEDERATION/mappings/{mapping_id}\u0027,"},{"line_number":23,"context_line":"                     \u0027method\u0027: \u0027PUT\u0027}]),"},{"line_number":24,"context_line":"    policy.DocumentedRuleDefault("}],"source_content_type":"text/x-python","patch_set":6,"id":"dfeb2761_b32a4b29","line":21,"in_reply_to":"dfeb2761_1ad46c47","updated":"2017-04-04 16:02:12.000000000","message":"Can\u0027t a mapping contain multiple rules? If so, why do we not make the wording plural? Mappings are essentially a list of dictionaries that contain \u0027local and \u0027remote\u0027 rules.","commit_id":"4d9801e5cb60074ff0ffe077c14eb11e0700bc82"},{"author":{"_account_id":22219,"name":"Anthony Washington","email":"anthony.washington@intel.com","username":"antwash"},"change_message_id":"b205fc636e5a8b0d71733739219970ac8aebf050","unresolved":false,"context_lines":[{"line_number":18,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":19,"context_line":"        name\u003dbase.IDENTITY % \u0027create_mapping\u0027,"},{"line_number":20,"context_line":"        check_str\u003dbase.RULE_ADMIN_REQUIRED,"},{"line_number":21,"context_line":"        description\u003d\u0027Create federated mapping.\u0027,"},{"line_number":22,"context_line":"        operations\u003d[{\u0027path\u0027: \u0027/v3/OS-FEDERATION/mappings/{mapping_id}\u0027,"},{"line_number":23,"context_line":"                     \u0027method\u0027: \u0027PUT\u0027}]),"},{"line_number":24,"context_line":"    policy.DocumentedRuleDefault("}],"source_content_type":"text/x-python","patch_set":6,"id":"dfeb2761_93cd0768","line":21,"in_reply_to":"dfeb2761_b32a4b29","updated":"2017-04-04 16:07:20.000000000","message":"Yeah, you\u0027re correct, will update.","commit_id":"4d9801e5cb60074ff0ffe077c14eb11e0700bc82"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"706cbbcf0386cc306a9a9c30096c35e572749118","unresolved":false,"context_lines":[{"line_number":18,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":19,"context_line":"        name\u003dbase.IDENTITY % \u0027create_mapping\u0027,"},{"line_number":20,"context_line":"        check_str\u003dbase.RULE_ADMIN_REQUIRED,"},{"line_number":21,"context_line":"        description\u003d\u0027Create new federated mapping rules.\u0027,"},{"line_number":22,"context_line":"        operations\u003d[{\u0027path\u0027: \u0027/v3/OS-FEDERATION/mappings/{mapping_id}\u0027,"},{"line_number":23,"context_line":"                     \u0027method\u0027: \u0027PUT\u0027}]),"},{"line_number":24,"context_line":"    policy.DocumentedRuleDefault("}],"source_content_type":"text/x-python","patch_set":9,"id":"dfeb2761_2e16cea9","line":21,"updated":"2017-04-04 16:35:57.000000000","message":"nit: \n\n  Create a new federated mapping containing one or more sets of rules.","commit_id":"fa18dda25a936b03006f8d90a183049c41439c76"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"162760a3145f852acf663ad518bc9dadec527fd9","unresolved":false,"context_lines":[{"line_number":19,"context_line":"        name\u003dbase.IDENTITY % \u0027create_mapping\u0027,"},{"line_number":20,"context_line":"        check_str\u003dbase.RULE_ADMIN_REQUIRED,"},{"line_number":21,"context_line":"        description\u003d(\u0027Create a new federated mapping containing one or \u0027"},{"line_number":22,"context_line":"                     \u0027more sets of rules.\u0027),"},{"line_number":23,"context_line":"        operations\u003d[{\u0027path\u0027: \u0027/v3/OS-FEDERATION/mappings/{mapping_id}\u0027,"},{"line_number":24,"context_line":"                     \u0027method\u0027: \u0027PUT\u0027}]),"},{"line_number":25,"context_line":"    policy.DocumentedRuleDefault("}],"source_content_type":"text/x-python","patch_set":10,"id":"bff0334d_e7a88278","line":22,"updated":"2017-04-05 21:39:41.000000000","message":"+1","commit_id":"c79d5aa3a7e84a1f60ff2ae7d1b639e97634a8bb"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"74410bb3966a13d2752942185a8ef92cb49a2d1b","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":26,"context_line":"        name\u003dbase.IDENTITY % \u0027get_mapping\u0027,"},{"line_number":27,"context_line":"        check_str\u003dbase.RULE_ADMIN_REQUIRED,"},{"line_number":28,"context_line":"        description\u003d\u0027Get federated mapping rules.\u0027,"},{"line_number":29,"context_line":"        operations\u003d[{\u0027path\u0027: \u0027/v3/OS-FEDERATION/mappings/{mapping_id}\u0027,"},{"line_number":30,"context_line":"                     \u0027method\u0027: \u0027GET\u0027}]),"},{"line_number":31,"context_line":"    policy.DocumentedRuleDefault("}],"source_content_type":"text/x-python","patch_set":10,"id":"dfeb2761_4b533640","line":28,"range":{"start_line":28,"start_character":47,"end_line":28,"end_character":48},"updated":"2017-04-05 00:09:31.000000000","message":"singular","commit_id":"c79d5aa3a7e84a1f60ff2ae7d1b639e97634a8bb"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"162760a3145f852acf663ad518bc9dadec527fd9","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":26,"context_line":"        name\u003dbase.IDENTITY % \u0027get_mapping\u0027,"},{"line_number":27,"context_line":"        check_str\u003dbase.RULE_ADMIN_REQUIRED,"},{"line_number":28,"context_line":"        description\u003d\u0027Get federated mapping rules.\u0027,"},{"line_number":29,"context_line":"        operations\u003d[{\u0027path\u0027: \u0027/v3/OS-FEDERATION/mappings/{mapping_id}\u0027,"},{"line_number":30,"context_line":"                     \u0027method\u0027: \u0027GET\u0027}]),"},{"line_number":31,"context_line":"    policy.DocumentedRuleDefault("}],"source_content_type":"text/x-python","patch_set":10,"id":"bff0334d_67afd294","line":28,"in_reply_to":"dfeb2761_4b533640","updated":"2017-04-05 21:39:41.000000000","message":"\"Get a federated mapping.\"","commit_id":"c79d5aa3a7e84a1f60ff2ae7d1b639e97634a8bb"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"162760a3145f852acf663ad518bc9dadec527fd9","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":32,"context_line":"        name\u003dbase.IDENTITY % \u0027list_mappings\u0027,"},{"line_number":33,"context_line":"        check_str\u003dbase.RULE_ADMIN_REQUIRED,"},{"line_number":34,"context_line":"        description\u003d\u0027List federated mapping rules.\u0027,"},{"line_number":35,"context_line":"        operations\u003d[{\u0027path\u0027: \u0027/v3/OS-FEDERATION/mappings\u0027,"},{"line_number":36,"context_line":"                     \u0027method\u0027: \u0027GET\u0027}]),"},{"line_number":37,"context_line":"    policy.DocumentedRuleDefault("}],"source_content_type":"text/x-python","patch_set":10,"id":"bff0334d_27c8aa53","line":34,"updated":"2017-04-05 21:39:41.000000000","message":"\"List federated mappings.\"","commit_id":"c79d5aa3a7e84a1f60ff2ae7d1b639e97634a8bb"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"74410bb3966a13d2752942185a8ef92cb49a2d1b","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":38,"context_line":"        name\u003dbase.IDENTITY % \u0027delete_mapping\u0027,"},{"line_number":39,"context_line":"        check_str\u003dbase.RULE_ADMIN_REQUIRED,"},{"line_number":40,"context_line":"        description\u003d\u0027Delete federated mapping rules.\u0027,"},{"line_number":41,"context_line":"        operations\u003d[{\u0027path\u0027: \u0027/v3/OS-FEDERATION/mappings/{mapping_id}\u0027,"},{"line_number":42,"context_line":"                     \u0027method\u0027: \u0027DELETE\u0027}]),"},{"line_number":43,"context_line":"    policy.DocumentedRuleDefault("}],"source_content_type":"text/x-python","patch_set":10,"id":"dfeb2761_8b7b7ebc","line":40,"range":{"start_line":40,"start_character":50,"end_line":40,"end_character":51},"updated":"2017-04-05 00:09:31.000000000","message":"singular","commit_id":"c79d5aa3a7e84a1f60ff2ae7d1b639e97634a8bb"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"162760a3145f852acf663ad518bc9dadec527fd9","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":38,"context_line":"        name\u003dbase.IDENTITY % \u0027delete_mapping\u0027,"},{"line_number":39,"context_line":"        check_str\u003dbase.RULE_ADMIN_REQUIRED,"},{"line_number":40,"context_line":"        description\u003d\u0027Delete federated mapping rules.\u0027,"},{"line_number":41,"context_line":"        operations\u003d[{\u0027path\u0027: \u0027/v3/OS-FEDERATION/mappings/{mapping_id}\u0027,"},{"line_number":42,"context_line":"                     \u0027method\u0027: \u0027DELETE\u0027}]),"},{"line_number":43,"context_line":"    policy.DocumentedRuleDefault("}],"source_content_type":"text/x-python","patch_set":10,"id":"bff0334d_47a28e9c","line":40,"in_reply_to":"dfeb2761_8b7b7ebc","updated":"2017-04-05 21:39:41.000000000","message":"\"Delete a federated mapping.\"","commit_id":"c79d5aa3a7e84a1f60ff2ae7d1b639e97634a8bb"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"74410bb3966a13d2752942185a8ef92cb49a2d1b","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":44,"context_line":"        name\u003dbase.IDENTITY % \u0027update_mapping\u0027,"},{"line_number":45,"context_line":"        check_str\u003dbase.RULE_ADMIN_REQUIRED,"},{"line_number":46,"context_line":"        description\u003d\u0027Update federated mapping rules.\u0027,"},{"line_number":47,"context_line":"        operations\u003d[{\u0027path\u0027: \u0027/v3/OS-FEDERATION/mappings/{mapping_id}\u0027,"},{"line_number":48,"context_line":"                     \u0027method\u0027: \u0027PATCH\u0027}])"},{"line_number":49,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":10,"id":"dfeb2761_ab7e42ac","line":46,"range":{"start_line":46,"start_character":50,"end_line":46,"end_character":51},"updated":"2017-04-05 00:09:31.000000000","message":"singular","commit_id":"c79d5aa3a7e84a1f60ff2ae7d1b639e97634a8bb"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"162760a3145f852acf663ad518bc9dadec527fd9","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":44,"context_line":"        name\u003dbase.IDENTITY % \u0027update_mapping\u0027,"},{"line_number":45,"context_line":"        check_str\u003dbase.RULE_ADMIN_REQUIRED,"},{"line_number":46,"context_line":"        description\u003d\u0027Update federated mapping rules.\u0027,"},{"line_number":47,"context_line":"        operations\u003d[{\u0027path\u0027: \u0027/v3/OS-FEDERATION/mappings/{mapping_id}\u0027,"},{"line_number":48,"context_line":"                     \u0027method\u0027: \u0027PATCH\u0027}])"},{"line_number":49,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":10,"id":"bff0334d_07ac868a","line":46,"in_reply_to":"dfeb2761_ab7e42ac","updated":"2017-04-05 21:39:41.000000000","message":"\"Update a federated mapping.\"","commit_id":"c79d5aa3a7e84a1f60ff2ae7d1b639e97634a8bb"}]}
