)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"b121ec52ed3708361d4936ab440a0a990254f392","unresolved":false,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Limtations:"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"- Tests for callbacks for deletion notifications should be added"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Implements: bp endpoint-policy"},{"line_number":19,"context_line":"Change-Id: I4c5e9e9cff392f917a9d79a798ff72df2f48e6d1"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"1abeadc6_2a7b5e2a","line":16,"updated":"2014-08-26 02:04:19.000000000","message":"thanks for adding this","commit_id":"9d9ceca1fbd81fa1d44f8f9f3b668fc0ad4dbf98"}],"etc/keystone.conf.sample":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"b121ec52ed3708361d4936ab440a0a990254f392","unresolved":false,"context_lines":[{"line_number":896,"context_line":"#user_name_attribute\u003dsn"},{"line_number":897,"context_line":""},{"line_number":898,"context_line":"# LDAP attribute mapped to user email. (string value)"},{"line_number":899,"context_line":"#user_mail_attribute\u003dmail"},{"line_number":900,"context_line":""},{"line_number":901,"context_line":"# LDAP attribute mapped to password. (string value)"},{"line_number":902,"context_line":"#user_pass_attribute\u003duserPassword"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"1abeadc6_eaaa4684","line":899,"updated":"2014-08-26 02:04:19.000000000","message":"no big deal, but run tox -e sample_config next time, hope this goes away.","commit_id":"9d9ceca1fbd81fa1d44f8f9f3b668fc0ad4dbf98"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"1ad76449988d4b5dddf29f5368fe615559aa4233","unresolved":false,"context_lines":[{"line_number":896,"context_line":"#user_name_attribute\u003dsn"},{"line_number":897,"context_line":""},{"line_number":898,"context_line":"# LDAP attribute mapped to user email. (string value)"},{"line_number":899,"context_line":"#user_mail_attribute\u003dmail"},{"line_number":900,"context_line":""},{"line_number":901,"context_line":"# LDAP attribute mapped to password. (string value)"},{"line_number":902,"context_line":"#user_pass_attribute\u003duserPassword"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"1abeadc6_396710b9","line":899,"in_reply_to":"1abeadc6_eaaa4684","updated":"2014-08-26 22:35:38.000000000","message":"Done","commit_id":"9d9ceca1fbd81fa1d44f8f9f3b668fc0ad4dbf98"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"3204b034ae73304618ee09673245a17477eff4f1","unresolved":false,"context_lines":[{"line_number":697,"context_line":"#return_all_endpoints_if_no_filter\u003dtrue"},{"line_number":698,"context_line":""},{"line_number":699,"context_line":""},{"line_number":700,"context_line":"[federation]"},{"line_number":701,"context_line":""},{"line_number":702,"context_line":"#"},{"line_number":703,"context_line":"# Options defined in keystone"}],"source_content_type":"application/octet-stream","patch_set":18,"id":"fa98f980_cd769ad8","line":700,"updated":"2014-08-31 18:24:08.000000000","message":"revert this change.","commit_id":"307a2a3b2e3bf05c648930e81952ff206cd3ce50"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"24542cf071a2ef65289d8287d533861f6b1aef4f","unresolved":false,"context_lines":[{"line_number":697,"context_line":"#return_all_endpoints_if_no_filter\u003dtrue"},{"line_number":698,"context_line":""},{"line_number":699,"context_line":""},{"line_number":700,"context_line":"[federation]"},{"line_number":701,"context_line":""},{"line_number":702,"context_line":"#"},{"line_number":703,"context_line":"# Options defined in keystone"}],"source_content_type":"application/octet-stream","patch_set":18,"id":"fa98f980_8d3bb2ea","line":700,"in_reply_to":"fa98f980_cd769ad8","updated":"2014-08-31 18:29:31.000000000","message":"Done","commit_id":"307a2a3b2e3bf05c648930e81952ff206cd3ce50"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"f276a78b98dd5d0ec8fc4c4b53a56fb7d133b20c","unresolved":false,"context_lines":[{"line_number":703,"context_line":"# Options defined in keystone"},{"line_number":704,"context_line":"#"},{"line_number":705,"context_line":""},{"line_number":706,"context_line":"# Endpoint policy backend driver (string value)"},{"line_number":707,"context_line":"#driver\u003dkeystone.contrib.endpoint_policy.backends.sql.EndpointPolicy"},{"line_number":708,"context_line":""},{"line_number":709,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":19,"id":"fa98f980_2d03a610","line":706,"updated":"2014-08-31 18:29:39.000000000","message":"ok, this actually comes from the patch this is dependant on (and fixes one of the comments made on that)","commit_id":"6ceb828430fc86f8b0a0a6558f4764750c5de25e"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"5d1dd742ef11bc4a9625447cdf553392172a7cfe","unresolved":false,"context_lines":[{"line_number":703,"context_line":"# Options defined in keystone"},{"line_number":704,"context_line":"#"},{"line_number":705,"context_line":""},{"line_number":706,"context_line":"# Endpoint policy backend driver (string value)"},{"line_number":707,"context_line":"#driver\u003dkeystone.contrib.endpoint_policy.backends.sql.EndpointPolicy"},{"line_number":708,"context_line":""},{"line_number":709,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":20,"id":"fa98f980_cff847c7","line":706,"updated":"2014-09-01 04:41:35.000000000","message":"This fixes one of the left over comments made on a (now merged) patch that this was dependant on (https://review.openstack.org/#/c/115362/)","commit_id":"695158320aa32a9db7afabaa3920dfa07b2c526f"}],"etc/policy.json":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"b7c7bdb21aeb8ff4241c86c57b7cfc0492d819a5","unresolved":false,"context_lines":[{"line_number":143,"context_line":"    \"identity:list_domains_for_groups\": \"\","},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"    \"identity:list_revoke_events\": \"\","},{"line_number":146,"context_line":" "},{"line_number":147,"context_line":"    \"identity:create_policy_association_for_endpoint\": \"rule:admin_required\","},{"line_number":148,"context_line":"    \"identity:check_policy_association_for_endpoint\": \"rule:admin_required\","},{"line_number":149,"context_line":"    \"identity:delete_policy_association_for_endpoint\": \"rule:admin_required\","}],"source_content_type":"application/json","patch_set":4,"id":"1abeadc6_93c18656","line":146,"updated":"2014-08-21 17:40:45.000000000","message":"white space","commit_id":"c10118a4092d5de116dd2a84a9761a873714b3e6"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"730401bd14d218046583dcada5aef619c5dd7731","unresolved":false,"context_lines":[{"line_number":143,"context_line":"    \"identity:list_domains_for_groups\": \"\","},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"    \"identity:list_revoke_events\": \"\","},{"line_number":146,"context_line":" "},{"line_number":147,"context_line":"    \"identity:create_policy_association_for_endpoint\": \"rule:admin_required\","},{"line_number":148,"context_line":"    \"identity:check_policy_association_for_endpoint\": \"rule:admin_required\","},{"line_number":149,"context_line":"    \"identity:delete_policy_association_for_endpoint\": \"rule:admin_required\","}],"source_content_type":"application/json","patch_set":4,"id":"1abeadc6_d974b338","line":146,"in_reply_to":"1abeadc6_93c18656","updated":"2014-08-24 23:13:51.000000000","message":"Done","commit_id":"c10118a4092d5de116dd2a84a9761a873714b3e6"}],"etc/policy.v3cloudsample.json":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"b7c7bdb21aeb8ff4241c86c57b7cfc0492d819a5","unresolved":false,"context_lines":[{"line_number":156,"context_line":"    \"identity:list_domains_for_groups\": \"\","},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    \"identity:list_revoke_events\": \"\","},{"line_number":159,"context_line":" "},{"line_number":160,"context_line":"    \"identity:create_policy_association_for_endpoint\": \"rule:cloud_admin\","},{"line_number":161,"context_line":"    \"identity:check_policy_association_for_endpoint\": \"rule:cloud_admin\","},{"line_number":162,"context_line":"    \"identity:delete_policy_association_for_endpoint\": \"rule:cloud_admin\","}],"source_content_type":"application/json","patch_set":4,"id":"1abeadc6_d3b77ef3","line":159,"updated":"2014-08-21 17:40:45.000000000","message":"white space","commit_id":"c10118a4092d5de116dd2a84a9761a873714b3e6"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"730401bd14d218046583dcada5aef619c5dd7731","unresolved":false,"context_lines":[{"line_number":156,"context_line":"    \"identity:list_domains_for_groups\": \"\","},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    \"identity:list_revoke_events\": \"\","},{"line_number":159,"context_line":" "},{"line_number":160,"context_line":"    \"identity:create_policy_association_for_endpoint\": \"rule:cloud_admin\","},{"line_number":161,"context_line":"    \"identity:check_policy_association_for_endpoint\": \"rule:cloud_admin\","},{"line_number":162,"context_line":"    \"identity:delete_policy_association_for_endpoint\": \"rule:cloud_admin\","}],"source_content_type":"application/json","patch_set":4,"id":"1abeadc6_198e2b28","line":159,"in_reply_to":"1abeadc6_d3b77ef3","updated":"2014-08-24 23:13:51.000000000","message":"Done","commit_id":"c10118a4092d5de116dd2a84a9761a873714b3e6"}],"keystone/contrib/endpoint_policy/controllers.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"b7c7bdb21aeb8ff4241c86c57b7cfc0492d819a5","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    def __init__(self):"},{"line_number":26,"context_line":"        super(EndpointPolicyV3Controller, self).__init__()"},{"line_number":27,"context_line":"        notifications.register_event_callback("},{"line_number":28,"context_line":"            \u0027deleted\u0027, \u0027endpoint\u0027,"},{"line_number":29,"context_line":"            self._on_endpoint_delete)"},{"line_number":30,"context_line":"        notifications.register_event_callback("},{"line_number":31,"context_line":"            \u0027deleted\u0027, \u0027service\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"1abeadc6_d3ae9e97","line":28,"updated":"2014-08-21 17:40:45.000000000","message":"you could probably put all of this on one line","commit_id":"c10118a4092d5de116dd2a84a9761a873714b3e6"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"730401bd14d218046583dcada5aef619c5dd7731","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    def __init__(self):"},{"line_number":26,"context_line":"        super(EndpointPolicyV3Controller, self).__init__()"},{"line_number":27,"context_line":"        notifications.register_event_callback("},{"line_number":28,"context_line":"            \u0027deleted\u0027, \u0027endpoint\u0027,"},{"line_number":29,"context_line":"            self._on_endpoint_delete)"},{"line_number":30,"context_line":"        notifications.register_event_callback("},{"line_number":31,"context_line":"            \u0027deleted\u0027, \u0027service\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"1abeadc6_19b54bd0","line":28,"in_reply_to":"1abeadc6_d3ae9e97","updated":"2014-08-24 23:13:51.000000000","message":"Done","commit_id":"c10118a4092d5de116dd2a84a9761a873714b3e6"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"217046053407e44f7317aaea0adb84e7a44e34cf","unresolved":false,"context_lines":[{"line_number":31,"context_line":"        notifications.register_event_callback("},{"line_number":32,"context_line":"            \u0027deleted\u0027, \u0027region\u0027, self._on_region_delete)"},{"line_number":33,"context_line":"        notifications.register_event_callback("},{"line_number":34,"context_line":"            \u0027deleted\u0027, \u0027policy\u0027, self._on_region_delete)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def _on_endpoint_delete(self, service, resource_type, operation, payload):"},{"line_number":37,"context_line":"        self.endpoint_policy_api.delete_association_by_endpoint("}],"source_content_type":"text/x-python","patch_set":6,"id":"1abeadc6_626cc809","line":34,"updated":"2014-08-25 04:14:08.000000000","message":"Should this be on_policy_delete?","commit_id":"0ace2fa0c64a13168052bfa348add69bf2b66ddd"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"6ce1862064d44770d6430170769194876f4f96c2","unresolved":false,"context_lines":[{"line_number":31,"context_line":"        notifications.register_event_callback("},{"line_number":32,"context_line":"            \u0027deleted\u0027, \u0027region\u0027, self._on_region_delete)"},{"line_number":33,"context_line":"        notifications.register_event_callback("},{"line_number":34,"context_line":"            \u0027deleted\u0027, \u0027policy\u0027, self._on_region_delete)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def _on_endpoint_delete(self, service, resource_type, operation, payload):"},{"line_number":37,"context_line":"        self.endpoint_policy_api.delete_association_by_endpoint("}],"source_content_type":"text/x-python","patch_set":6,"id":"1abeadc6_f0e25900","line":34,"in_reply_to":"1abeadc6_626cc809","updated":"2014-08-25 08:52:32.000000000","message":"yep, good catch","commit_id":"0ace2fa0c64a13168052bfa348add69bf2b66ddd"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"217046053407e44f7317aaea0adb84e7a44e34cf","unresolved":false,"context_lines":[{"line_number":46,"context_line":"            payload[\u0027resource_info\u0027])"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    def _on_policy_delete(self, service, resource_type, operation, payload):"},{"line_number":49,"context_line":"        self.endpoint_policy_api.delete_association_by_polcy("},{"line_number":50,"context_line":"            payload[\u0027resource_info\u0027])"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    @controller.protected()"}],"source_content_type":"text/x-python","patch_set":6,"id":"1abeadc6_4267cc25","line":49,"updated":"2014-08-25 04:14:08.000000000","message":"polcy? Makes me think a test is lacking...","commit_id":"0ace2fa0c64a13168052bfa348add69bf2b66ddd"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"6ce1862064d44770d6430170769194876f4f96c2","unresolved":false,"context_lines":[{"line_number":46,"context_line":"            payload[\u0027resource_info\u0027])"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    def _on_policy_delete(self, service, resource_type, operation, payload):"},{"line_number":49,"context_line":"        self.endpoint_policy_api.delete_association_by_polcy("},{"line_number":50,"context_line":"            payload[\u0027resource_info\u0027])"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    @controller.protected()"}],"source_content_type":"text/x-python","patch_set":6,"id":"1abeadc6_d0e55d0b","line":49,"in_reply_to":"1abeadc6_4267cc25","updated":"2014-08-25 08:52:32.000000000","message":"there is, yes...need to see if I can patch in the fix to add these deletes to master while still remaining dependant on the backend endpoint policy patch.  For now, I\u0027ll add it as a limitation in the commit message","commit_id":"0ace2fa0c64a13168052bfa348add69bf2b66ddd"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"1e2f01b3e16505665054327f9da04b41d3391d90","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    @controller.protected()"},{"line_number":53,"context_line":"    def create_policy_association_for_endpoint(self, context,"},{"line_number":54,"context_line":"                                               policy_id, endpoint_id):"},{"line_number":55,"context_line":"        \"\"\"Creates an association between an policy and an endpoint.\"\"\""},{"line_number":56,"context_line":"        self.policy_api.get_policy(policy_id)"},{"line_number":57,"context_line":"        self.catalog_api.get_endpoint(endpoint_id)"},{"line_number":58,"context_line":"        self.endpoint_policy_api.create_policy_association("}],"source_content_type":"text/x-python","patch_set":17,"id":"fa98f980_cdd05afa","line":55,"updated":"2014-08-31 17:40:48.000000000","message":"(nit) change \"an policy\" to \"a policy\" (applies throughout)","commit_id":"443da33516671f343f9eebebc6bbf2ad0802cb13"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"8b46a599e8c0208dc27b67130425547d80ec402d","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    @controller.protected()"},{"line_number":53,"context_line":"    def create_policy_association_for_endpoint(self, context,"},{"line_number":54,"context_line":"                                               policy_id, endpoint_id):"},{"line_number":55,"context_line":"        \"\"\"Creates an association between an policy and an endpoint.\"\"\""},{"line_number":56,"context_line":"        self.policy_api.get_policy(policy_id)"},{"line_number":57,"context_line":"        self.catalog_api.get_endpoint(endpoint_id)"},{"line_number":58,"context_line":"        self.endpoint_policy_api.create_policy_association("}],"source_content_type":"text/x-python","patch_set":17,"id":"fa98f980_ad3a3634","line":55,"in_reply_to":"fa98f980_cdd05afa","updated":"2014-08-31 18:21:29.000000000","message":"Done","commit_id":"443da33516671f343f9eebebc6bbf2ad0802cb13"},{"author":{"_account_id":6282,"name":"Wu Wenxiang","email":"wu.wenxiang@algoblu.com","username":"wu-wenxiang"},"change_message_id":"6aa63cf146b06419d8006f0f5799907fcf12145c","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    @controller.protected()"},{"line_number":53,"context_line":"    def create_policy_association_for_endpoint(self, context,"},{"line_number":54,"context_line":"                                               policy_id, endpoint_id):"},{"line_number":55,"context_line":"        \"\"\"Creates an association between a policy and an endpoint.\"\"\""},{"line_number":56,"context_line":"        self.policy_api.get_policy(policy_id)"},{"line_number":57,"context_line":"        self.catalog_api.get_endpoint(endpoint_id)"},{"line_number":58,"context_line":"        self.endpoint_policy_api.create_policy_association("}],"source_content_type":"text/x-python","patch_set":19,"id":"fa98f980_9ebbda71","line":55,"updated":"2014-08-31 23:26:35.000000000","message":"Creates? Deletes? Checks\nGet? List?\nUniq the verbose name?","commit_id":"6ceb828430fc86f8b0a0a6558f4764750c5de25e"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"b712a56fe7947a8bc3de4d4cf6887db42a133806","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    @controller.protected()"},{"line_number":53,"context_line":"    def create_policy_association_for_endpoint(self, context,"},{"line_number":54,"context_line":"                                               policy_id, endpoint_id):"},{"line_number":55,"context_line":"        \"\"\"Creates an association between a policy and an endpoint.\"\"\""},{"line_number":56,"context_line":"        self.policy_api.get_policy(policy_id)"},{"line_number":57,"context_line":"        self.catalog_api.get_endpoint(endpoint_id)"},{"line_number":58,"context_line":"        self.endpoint_policy_api.create_policy_association("}],"source_content_type":"text/x-python","patch_set":19,"id":"fa98f980_4fd0d753","line":55,"in_reply_to":"fa98f980_9ebbda71","updated":"2014-09-01 04:38:32.000000000","message":"Done","commit_id":"6ceb828430fc86f8b0a0a6558f4764750c5de25e"},{"author":{"_account_id":6282,"name":"Wu Wenxiang","email":"wu.wenxiang@algoblu.com","username":"wu-wenxiang"},"change_message_id":"6aa63cf146b06419d8006f0f5799907fcf12145c","unresolved":false,"context_lines":[{"line_number":61,"context_line":"    @controller.protected()"},{"line_number":62,"context_line":"    def check_policy_association_for_endpoint(self, context,"},{"line_number":63,"context_line":"                                              policy_id, endpoint_id):"},{"line_number":64,"context_line":"        \"\"\"Checks an association between a policy and an endpoint.\"\"\""},{"line_number":65,"context_line":"        self.policy_api.get_policy(policy_id)"},{"line_number":66,"context_line":"        self.catalog_api.get_endpoint(endpoint_id)"},{"line_number":67,"context_line":"        self.endpoint_policy_api.check_policy_association("}],"source_content_type":"text/x-python","patch_set":19,"id":"fa98f980_3e63ce1b","line":64,"updated":"2014-08-31 23:26:35.000000000","message":"Checks","commit_id":"6ceb828430fc86f8b0a0a6558f4764750c5de25e"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"b712a56fe7947a8bc3de4d4cf6887db42a133806","unresolved":false,"context_lines":[{"line_number":61,"context_line":"    @controller.protected()"},{"line_number":62,"context_line":"    def check_policy_association_for_endpoint(self, context,"},{"line_number":63,"context_line":"                                              policy_id, endpoint_id):"},{"line_number":64,"context_line":"        \"\"\"Checks an association between a policy and an endpoint.\"\"\""},{"line_number":65,"context_line":"        self.policy_api.get_policy(policy_id)"},{"line_number":66,"context_line":"        self.catalog_api.get_endpoint(endpoint_id)"},{"line_number":67,"context_line":"        self.endpoint_policy_api.check_policy_association("}],"source_content_type":"text/x-python","patch_set":19,"id":"fa98f980_6fd59b42","line":64,"in_reply_to":"fa98f980_3e63ce1b","updated":"2014-09-01 04:38:32.000000000","message":"Done","commit_id":"6ceb828430fc86f8b0a0a6558f4764750c5de25e"},{"author":{"_account_id":6282,"name":"Wu Wenxiang","email":"wu.wenxiang@algoblu.com","username":"wu-wenxiang"},"change_message_id":"6aa63cf146b06419d8006f0f5799907fcf12145c","unresolved":false,"context_lines":[{"line_number":70,"context_line":"    @controller.protected()"},{"line_number":71,"context_line":"    def delete_policy_association_for_endpoint(self, context,"},{"line_number":72,"context_line":"                                               policy_id, endpoint_id):"},{"line_number":73,"context_line":"        \"\"\"Deletes an association between a policy and an endpoint.\"\"\""},{"line_number":74,"context_line":"        self.policy_api.get_policy(policy_id)"},{"line_number":75,"context_line":"        self.catalog_api.get_endpoint(endpoint_id)"},{"line_number":76,"context_line":"        self.endpoint_policy_api.delete_policy_association("}],"source_content_type":"text/x-python","patch_set":19,"id":"fa98f980_5e6892f5","line":73,"updated":"2014-08-31 23:26:35.000000000","message":"Deletes","commit_id":"6ceb828430fc86f8b0a0a6558f4764750c5de25e"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"b712a56fe7947a8bc3de4d4cf6887db42a133806","unresolved":false,"context_lines":[{"line_number":70,"context_line":"    @controller.protected()"},{"line_number":71,"context_line":"    def delete_policy_association_for_endpoint(self, context,"},{"line_number":72,"context_line":"                                               policy_id, endpoint_id):"},{"line_number":73,"context_line":"        \"\"\"Deletes an association between a policy and an endpoint.\"\"\""},{"line_number":74,"context_line":"        self.policy_api.get_policy(policy_id)"},{"line_number":75,"context_line":"        self.catalog_api.get_endpoint(endpoint_id)"},{"line_number":76,"context_line":"        self.endpoint_policy_api.delete_policy_association("}],"source_content_type":"text/x-python","patch_set":19,"id":"fa98f980_8fcabf9f","line":73,"in_reply_to":"fa98f980_5e6892f5","updated":"2014-09-01 04:38:32.000000000","message":"Done","commit_id":"6ceb828430fc86f8b0a0a6558f4764750c5de25e"},{"author":{"_account_id":6282,"name":"Wu Wenxiang","email":"wu.wenxiang@algoblu.com","username":"wu-wenxiang"},"change_message_id":"6aa63cf146b06419d8006f0f5799907fcf12145c","unresolved":false,"context_lines":[{"line_number":79,"context_line":"    @controller.protected()"},{"line_number":80,"context_line":"    def create_policy_association_for_service(self, context,"},{"line_number":81,"context_line":"                                              policy_id, service_id):"},{"line_number":82,"context_line":"        \"\"\"Creates an association between a policy and a service.\"\"\""},{"line_number":83,"context_line":"        self.policy_api.get_policy(policy_id)"},{"line_number":84,"context_line":"        self.catalog_api.get_service(service_id)"},{"line_number":85,"context_line":"        self.endpoint_policy_api.create_policy_association("}],"source_content_type":"text/x-python","patch_set":19,"id":"fa98f980_3e4aee83","line":82,"updated":"2014-08-31 23:26:35.000000000","message":"same here","commit_id":"6ceb828430fc86f8b0a0a6558f4764750c5de25e"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"b712a56fe7947a8bc3de4d4cf6887db42a133806","unresolved":false,"context_lines":[{"line_number":79,"context_line":"    @controller.protected()"},{"line_number":80,"context_line":"    def create_policy_association_for_service(self, context,"},{"line_number":81,"context_line":"                                              policy_id, service_id):"},{"line_number":82,"context_line":"        \"\"\"Creates an association between a policy and a service.\"\"\""},{"line_number":83,"context_line":"        self.policy_api.get_policy(policy_id)"},{"line_number":84,"context_line":"        self.catalog_api.get_service(service_id)"},{"line_number":85,"context_line":"        self.endpoint_policy_api.create_policy_association("}],"source_content_type":"text/x-python","patch_set":19,"id":"fa98f980_afcf83af","line":82,"in_reply_to":"fa98f980_3e4aee83","updated":"2014-09-01 04:38:32.000000000","message":"Done","commit_id":"6ceb828430fc86f8b0a0a6558f4764750c5de25e"},{"author":{"_account_id":6282,"name":"Wu Wenxiang","email":"wu.wenxiang@algoblu.com","username":"wu-wenxiang"},"change_message_id":"6aa63cf146b06419d8006f0f5799907fcf12145c","unresolved":false,"context_lines":[{"line_number":88,"context_line":"    @controller.protected()"},{"line_number":89,"context_line":"    def check_policy_association_for_service(self, context,"},{"line_number":90,"context_line":"                                             policy_id, service_id):"},{"line_number":91,"context_line":"        \"\"\"Checks an association between a policy and a service.\"\"\""},{"line_number":92,"context_line":"        self.policy_api.get_policy(policy_id)"},{"line_number":93,"context_line":"        self.catalog_api.get_service(service_id)"},{"line_number":94,"context_line":"        self.endpoint_policy_api.check_policy_association("}],"source_content_type":"text/x-python","patch_set":19,"id":"fa98f980_7e447674","line":91,"updated":"2014-08-31 23:26:35.000000000","message":"same here","commit_id":"6ceb828430fc86f8b0a0a6558f4764750c5de25e"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"b712a56fe7947a8bc3de4d4cf6887db42a133806","unresolved":false,"context_lines":[{"line_number":88,"context_line":"    @controller.protected()"},{"line_number":89,"context_line":"    def check_policy_association_for_service(self, context,"},{"line_number":90,"context_line":"                                             policy_id, service_id):"},{"line_number":91,"context_line":"        \"\"\"Checks an association between a policy and a service.\"\"\""},{"line_number":92,"context_line":"        self.policy_api.get_policy(policy_id)"},{"line_number":93,"context_line":"        self.catalog_api.get_service(service_id)"},{"line_number":94,"context_line":"        self.endpoint_policy_api.check_policy_association("}],"source_content_type":"text/x-python","patch_set":19,"id":"fa98f980_cfc3e788","line":91,"in_reply_to":"fa98f980_7e447674","updated":"2014-09-01 04:38:32.000000000","message":"Done","commit_id":"6ceb828430fc86f8b0a0a6558f4764750c5de25e"},{"author":{"_account_id":6282,"name":"Wu Wenxiang","email":"wu.wenxiang@algoblu.com","username":"wu-wenxiang"},"change_message_id":"6aa63cf146b06419d8006f0f5799907fcf12145c","unresolved":false,"context_lines":[{"line_number":97,"context_line":"    @controller.protected()"},{"line_number":98,"context_line":"    def delete_policy_association_for_service(self, context,"},{"line_number":99,"context_line":"                                              policy_id, service_id):"},{"line_number":100,"context_line":"        \"\"\"Deletes an association between a policy and a service.\"\"\""},{"line_number":101,"context_line":"        self.policy_api.get_policy(policy_id)"},{"line_number":102,"context_line":"        self.catalog_api.get_service(service_id)"},{"line_number":103,"context_line":"        self.endpoint_policy_api.delete_policy_association("}],"source_content_type":"text/x-python","patch_set":19,"id":"fa98f980_9e491a8e","line":100,"updated":"2014-08-31 23:26:35.000000000","message":"same here","commit_id":"6ceb828430fc86f8b0a0a6558f4764750c5de25e"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"b712a56fe7947a8bc3de4d4cf6887db42a133806","unresolved":false,"context_lines":[{"line_number":97,"context_line":"    @controller.protected()"},{"line_number":98,"context_line":"    def delete_policy_association_for_service(self, context,"},{"line_number":99,"context_line":"                                              policy_id, service_id):"},{"line_number":100,"context_line":"        \"\"\"Deletes an association between a policy and a service.\"\"\""},{"line_number":101,"context_line":"        self.policy_api.get_policy(policy_id)"},{"line_number":102,"context_line":"        self.catalog_api.get_service(service_id)"},{"line_number":103,"context_line":"        self.endpoint_policy_api.delete_policy_association("}],"source_content_type":"text/x-python","patch_set":19,"id":"fa98f980_efc0ab7e","line":100,"in_reply_to":"fa98f980_9e491a8e","updated":"2014-09-01 04:38:32.000000000","message":"Done","commit_id":"6ceb828430fc86f8b0a0a6558f4764750c5de25e"},{"author":{"_account_id":6282,"name":"Wu Wenxiang","email":"wu.wenxiang@algoblu.com","username":"wu-wenxiang"},"change_message_id":"6aa63cf146b06419d8006f0f5799907fcf12145c","unresolved":false,"context_lines":[{"line_number":106,"context_line":"    @controller.protected()"},{"line_number":107,"context_line":"    def create_policy_association_for_region_and_service("},{"line_number":108,"context_line":"            self, context, policy_id, service_id, region_id):"},{"line_number":109,"context_line":"        \"\"\"Creates an association between a policy and region+service.\"\"\""},{"line_number":110,"context_line":"        self.policy_api.get_policy(policy_id)"},{"line_number":111,"context_line":"        self.catalog_api.get_service(service_id)"},{"line_number":112,"context_line":"        self.catalog_api.get_region(region_id)"}],"source_content_type":"text/x-python","patch_set":19,"id":"fa98f980_be5dfe4a","line":109,"updated":"2014-08-31 23:26:35.000000000","message":"same here","commit_id":"6ceb828430fc86f8b0a0a6558f4764750c5de25e"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"b712a56fe7947a8bc3de4d4cf6887db42a133806","unresolved":false,"context_lines":[{"line_number":106,"context_line":"    @controller.protected()"},{"line_number":107,"context_line":"    def create_policy_association_for_region_and_service("},{"line_number":108,"context_line":"            self, context, policy_id, service_id, region_id):"},{"line_number":109,"context_line":"        \"\"\"Creates an association between a policy and region+service.\"\"\""},{"line_number":110,"context_line":"        self.policy_api.get_policy(policy_id)"},{"line_number":111,"context_line":"        self.catalog_api.get_service(service_id)"},{"line_number":112,"context_line":"        self.catalog_api.get_region(region_id)"}],"source_content_type":"text/x-python","patch_set":19,"id":"fa98f980_0fbecfff","line":109,"in_reply_to":"fa98f980_be5dfe4a","updated":"2014-09-01 04:38:32.000000000","message":"Done","commit_id":"6ceb828430fc86f8b0a0a6558f4764750c5de25e"},{"author":{"_account_id":6282,"name":"Wu Wenxiang","email":"wu.wenxiang@algoblu.com","username":"wu-wenxiang"},"change_message_id":"6aa63cf146b06419d8006f0f5799907fcf12145c","unresolved":false,"context_lines":[{"line_number":116,"context_line":"    @controller.protected()"},{"line_number":117,"context_line":"    def check_policy_association_for_region_and_service("},{"line_number":118,"context_line":"            self, context, policy_id, service_id, region_id):"},{"line_number":119,"context_line":"        \"\"\"Checks an association between a policy and region+service.\"\"\""},{"line_number":120,"context_line":"        self.policy_api.get_policy(policy_id)"},{"line_number":121,"context_line":"        self.catalog_api.get_service(service_id)"},{"line_number":122,"context_line":"        self.catalog_api.get_region(region_id)"}],"source_content_type":"text/x-python","patch_set":19,"id":"fa98f980_fe578624","line":119,"updated":"2014-08-31 23:26:35.000000000","message":"same here","commit_id":"6ceb828430fc86f8b0a0a6558f4764750c5de25e"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"b712a56fe7947a8bc3de4d4cf6887db42a133806","unresolved":false,"context_lines":[{"line_number":116,"context_line":"    @controller.protected()"},{"line_number":117,"context_line":"    def check_policy_association_for_region_and_service("},{"line_number":118,"context_line":"            self, context, policy_id, service_id, region_id):"},{"line_number":119,"context_line":"        \"\"\"Checks an association between a policy and region+service.\"\"\""},{"line_number":120,"context_line":"        self.policy_api.get_policy(policy_id)"},{"line_number":121,"context_line":"        self.catalog_api.get_service(service_id)"},{"line_number":122,"context_line":"        self.catalog_api.get_region(region_id)"}],"source_content_type":"text/x-python","patch_set":19,"id":"fa98f980_4f37f7b0","line":119,"in_reply_to":"fa98f980_fe578624","updated":"2014-09-01 04:38:32.000000000","message":"Done","commit_id":"6ceb828430fc86f8b0a0a6558f4764750c5de25e"},{"author":{"_account_id":6282,"name":"Wu Wenxiang","email":"wu.wenxiang@algoblu.com","username":"wu-wenxiang"},"change_message_id":"6aa63cf146b06419d8006f0f5799907fcf12145c","unresolved":false,"context_lines":[{"line_number":126,"context_line":"    @controller.protected()"},{"line_number":127,"context_line":"    def delete_policy_association_for_region_and_service("},{"line_number":128,"context_line":"            self, context, policy_id, service_id, region_id):"},{"line_number":129,"context_line":"        \"\"\"Deletes an association between a policy and region+service.\"\"\""},{"line_number":130,"context_line":"        self.policy_api.get_policy(policy_id)"},{"line_number":131,"context_line":"        self.catalog_api.get_service(service_id)"},{"line_number":132,"context_line":"        self.catalog_api.get_region(region_id)"}],"source_content_type":"text/x-python","patch_set":19,"id":"fa98f980_1e552a1d","line":129,"updated":"2014-08-31 23:26:35.000000000","message":"same here","commit_id":"6ceb828430fc86f8b0a0a6558f4764750c5de25e"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"b712a56fe7947a8bc3de4d4cf6887db42a133806","unresolved":false,"context_lines":[{"line_number":126,"context_line":"    @controller.protected()"},{"line_number":127,"context_line":"    def delete_policy_association_for_region_and_service("},{"line_number":128,"context_line":"            self, context, policy_id, service_id, region_id):"},{"line_number":129,"context_line":"        \"\"\"Deletes an association between a policy and region+service.\"\"\""},{"line_number":130,"context_line":"        self.policy_api.get_policy(policy_id)"},{"line_number":131,"context_line":"        self.catalog_api.get_service(service_id)"},{"line_number":132,"context_line":"        self.catalog_api.get_region(region_id)"}],"source_content_type":"text/x-python","patch_set":19,"id":"fa98f980_6f3cbb94","line":129,"in_reply_to":"fa98f980_1e552a1d","updated":"2014-09-01 04:38:32.000000000","message":"Done","commit_id":"6ceb828430fc86f8b0a0a6558f4764750c5de25e"},{"author":{"_account_id":6282,"name":"Wu Wenxiang","email":"wu.wenxiang@algoblu.com","username":"wu-wenxiang"},"change_message_id":"6aa63cf146b06419d8006f0f5799907fcf12145c","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"    @controller.protected()"},{"line_number":137,"context_line":"    def get_policy_for_endpoint(self, context, endpoint_id):"},{"line_number":138,"context_line":"        \"\"\"Get the effective policy for an endpoint.\"\"\""},{"line_number":139,"context_line":"        self.catalog_api.get_endpoint(endpoint_id)"},{"line_number":140,"context_line":"        ref \u003d self.endpoint_policy_api.get_policy_for_endpoint(endpoint_id)"},{"line_number":141,"context_line":"        # NOTE(henry-nash): since the collection and member for this class is"}],"source_content_type":"text/x-python","patch_set":19,"id":"fa98f980_3e310e0c","line":138,"updated":"2014-08-31 23:26:35.000000000","message":"no \u0027s\u0027  here","commit_id":"6ceb828430fc86f8b0a0a6558f4764750c5de25e"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"b712a56fe7947a8bc3de4d4cf6887db42a133806","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"    @controller.protected()"},{"line_number":137,"context_line":"    def get_policy_for_endpoint(self, context, endpoint_id):"},{"line_number":138,"context_line":"        \"\"\"Get the effective policy for an endpoint.\"\"\""},{"line_number":139,"context_line":"        self.catalog_api.get_endpoint(endpoint_id)"},{"line_number":140,"context_line":"        ref \u003d self.endpoint_policy_api.get_policy_for_endpoint(endpoint_id)"},{"line_number":141,"context_line":"        # NOTE(henry-nash): since the collection and member for this class is"}],"source_content_type":"text/x-python","patch_set":19,"id":"fa98f980_8f41df0d","line":138,"in_reply_to":"fa98f980_3e310e0c","updated":"2014-09-01 04:38:32.000000000","message":":-)","commit_id":"6ceb828430fc86f8b0a0a6558f4764750c5de25e"},{"author":{"_account_id":6282,"name":"Wu Wenxiang","email":"wu.wenxiang@algoblu.com","username":"wu-wenxiang"},"change_message_id":"6aa63cf146b06419d8006f0f5799907fcf12145c","unresolved":false,"context_lines":[{"line_number":160,"context_line":""},{"line_number":161,"context_line":"    @controller.protected()"},{"line_number":162,"context_line":"    def list_endpoints_for_policy(self, context, policy_id):"},{"line_number":163,"context_line":"        \"\"\"List endpoints with an the effective association to a policy.\"\"\""},{"line_number":164,"context_line":"        self.policy_api.get_policy(policy_id)"},{"line_number":165,"context_line":"        refs \u003d self.endpoint_policy_api.list_endpoints_for_policy(policy_id)"},{"line_number":166,"context_line":"        return EndpointPolicyV3Controller.wrap_collection(context, refs)"}],"source_content_type":"text/x-python","patch_set":19,"id":"fa98f980_5e36d204","line":163,"updated":"2014-08-31 23:26:35.000000000","message":"and here","commit_id":"6ceb828430fc86f8b0a0a6558f4764750c5de25e"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"b712a56fe7947a8bc3de4d4cf6887db42a133806","unresolved":false,"context_lines":[{"line_number":160,"context_line":""},{"line_number":161,"context_line":"    @controller.protected()"},{"line_number":162,"context_line":"    def list_endpoints_for_policy(self, context, policy_id):"},{"line_number":163,"context_line":"        \"\"\"List endpoints with an the effective association to a policy.\"\"\""},{"line_number":164,"context_line":"        self.policy_api.get_policy(policy_id)"},{"line_number":165,"context_line":"        refs \u003d self.endpoint_policy_api.list_endpoints_for_policy(policy_id)"},{"line_number":166,"context_line":"        return EndpointPolicyV3Controller.wrap_collection(context, refs)"}],"source_content_type":"text/x-python","patch_set":19,"id":"fa98f980_ef47cb1b","line":163,"in_reply_to":"fa98f980_5e36d204","updated":"2014-09-01 04:38:32.000000000","message":"...but there is another typo in the line!","commit_id":"6ceb828430fc86f8b0a0a6558f4764750c5de25e"}],"keystone/contrib/endpoint_policy/routers.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"3f5613576ac4bc11e789137ca89d51265df37c23","unresolved":false,"context_lines":[{"line_number":26,"context_line":"        self._add_resource("},{"line_number":27,"context_line":"            mapper, endpoint_policy_controller,"},{"line_number":28,"context_line":"            path\u003d\u0027/endpoints/{endpoint_id}\u0027 + self.PATH_PREFIX + \u0027/policy\u0027,"},{"line_number":29,"context_line":"            get_action\u003d\u0027get_policy_for_endpoint\u0027)"},{"line_number":30,"context_line":"        self._add_resource("},{"line_number":31,"context_line":"            mapper, endpoint_policy_controller,"},{"line_number":32,"context_line":"            path\u003d\u0027/policies/{policy_id}\u0027 + self.PATH_PREFIX + \u0027/endpoints\u0027,"}],"source_content_type":"text/x-python","patch_set":15,"id":"fa98f980_92dafce7","line":29,"updated":"2014-08-30 17:24:03.000000000","message":"all these need the JSON Home data.","commit_id":"0a9dba1b0263e9461203c20f89152b321d7d45e2"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"16ea5a2842cba8c99efd3d6574727f164753d9ff","unresolved":false,"context_lines":[{"line_number":26,"context_line":"        self._add_resource("},{"line_number":27,"context_line":"            mapper, endpoint_policy_controller,"},{"line_number":28,"context_line":"            path\u003d\u0027/endpoints/{endpoint_id}\u0027 + self.PATH_PREFIX + \u0027/policy\u0027,"},{"line_number":29,"context_line":"            get_action\u003d\u0027get_policy_for_endpoint\u0027)"},{"line_number":30,"context_line":"        self._add_resource("},{"line_number":31,"context_line":"            mapper, endpoint_policy_controller,"},{"line_number":32,"context_line":"            path\u003d\u0027/policies/{policy_id}\u0027 + self.PATH_PREFIX + \u0027/endpoints\u0027,"}],"source_content_type":"text/x-python","patch_set":15,"id":"fa98f980_67ddd042","line":29,"in_reply_to":"fa98f980_92dafce7","updated":"2014-08-31 09:31:38.000000000","message":"Done","commit_id":"0a9dba1b0263e9461203c20f89152b321d7d45e2"}],"keystone/tests/test_v3_endpoint_policy.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"b7c7bdb21aeb8ff4241c86c57b7cfc0492d819a5","unresolved":false,"context_lines":[{"line_number":54,"context_line":"                 \u0027/endpoints/%(endpoint_id)s\u0027 % {"},{"line_number":55,"context_line":"                     \u0027policy_id\u0027: self.policy[\u0027id\u0027],"},{"line_number":56,"context_line":"                     \u0027endpoint_id\u0027: self.endpoint[\u0027id\u0027]},"},{"line_number":57,"context_line":"                 body\u003d\u0027\u0027,"},{"line_number":58,"context_line":"                 expected_status\u003d204)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"        self.head(\u0027/OS-ENDPOINT-POLICY/policies/%(policy_id)s\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"1abeadc6_eed2d1fe","line":57,"updated":"2014-08-21 17:40:45.000000000","message":"do you have to have body\u003d\u0027\u0027 for any of these, especially for delete?","commit_id":"c10118a4092d5de116dd2a84a9761a873714b3e6"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"730401bd14d218046583dcada5aef619c5dd7731","unresolved":false,"context_lines":[{"line_number":54,"context_line":"                 \u0027/endpoints/%(endpoint_id)s\u0027 % {"},{"line_number":55,"context_line":"                     \u0027policy_id\u0027: self.policy[\u0027id\u0027],"},{"line_number":56,"context_line":"                     \u0027endpoint_id\u0027: self.endpoint[\u0027id\u0027]},"},{"line_number":57,"context_line":"                 body\u003d\u0027\u0027,"},{"line_number":58,"context_line":"                 expected_status\u003d204)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"        self.head(\u0027/OS-ENDPOINT-POLICY/policies/%(policy_id)s\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"1abeadc6_392f67f8","line":57,"in_reply_to":"1abeadc6_eed2d1fe","updated":"2014-08-24 23:13:51.000000000","message":"Done","commit_id":"c10118a4092d5de116dd2a84a9761a873714b3e6"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"b7c7bdb21aeb8ff4241c86c57b7cfc0492d819a5","unresolved":false,"context_lines":[{"line_number":152,"context_line":"                     \u0027/endpoints\u0027 % {"},{"line_number":153,"context_line":"                         \u0027policy_id\u0027: self.policy[\u0027id\u0027]},"},{"line_number":154,"context_line":"                     expected_status\u003d200)"},{"line_number":155,"context_line":"        self.assertValidEndpointListResponse(r, ref\u003dself.endpoint)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1abeadc6_8e0b1d8d","line":155,"updated":"2014-08-21 17:40:45.000000000","message":"assert size is 1?","commit_id":"c10118a4092d5de116dd2a84a9761a873714b3e6"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"730401bd14d218046583dcada5aef619c5dd7731","unresolved":false,"context_lines":[{"line_number":152,"context_line":"                     \u0027/endpoints\u0027 % {"},{"line_number":153,"context_line":"                         \u0027policy_id\u0027: self.policy[\u0027id\u0027]},"},{"line_number":154,"context_line":"                     expected_status\u003d200)"},{"line_number":155,"context_line":"        self.assertValidEndpointListResponse(r, ref\u003dself.endpoint)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1abeadc6_5934234a","line":155,"in_reply_to":"1abeadc6_8e0b1d8d","updated":"2014-08-24 23:13:51.000000000","message":"Done","commit_id":"c10118a4092d5de116dd2a84a9761a873714b3e6"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"217046053407e44f7317aaea0adb84e7a44e34cf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"1abeadc6_42350cf6","updated":"2014-08-25 04:14:08.000000000","message":"Needs tests for the callbacks","commit_id":"0ace2fa0c64a13168052bfa348add69bf2b66ddd"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"6ce1862064d44770d6430170769194876f4f96c2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"1abeadc6_d0c8fd58","in_reply_to":"1abeadc6_42350cf6","updated":"2014-08-25 08:52:32.000000000","message":"agreed - added to limitations for now","commit_id":"0ace2fa0c64a13168052bfa348add69bf2b66ddd"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"217046053407e44f7317aaea0adb84e7a44e34cf","unresolved":false,"context_lines":[{"line_number":122,"context_line":"                 \u0027/endpoints/%(endpoint_id)s\u0027 % {"},{"line_number":123,"context_line":"                     \u0027policy_id\u0027: self.policy[\u0027id\u0027],"},{"line_number":124,"context_line":"                     \u0027endpoint_id\u0027: self.endpoint[\u0027id\u0027]},"},{"line_number":125,"context_line":"                 body\u003d\u0027\u0027,"},{"line_number":126,"context_line":"                 expected_status\u003d204)"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        r \u003d self.get(\u0027/OS-ENDPOINT-POLICY/endpoints/%(endpoint_id)s\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"1abeadc6_82480489","line":125,"updated":"2014-08-25 04:14:08.000000000","message":"Redundant","commit_id":"0ace2fa0c64a13168052bfa348add69bf2b66ddd"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"6ce1862064d44770d6430170769194876f4f96c2","unresolved":false,"context_lines":[{"line_number":122,"context_line":"                 \u0027/endpoints/%(endpoint_id)s\u0027 % {"},{"line_number":123,"context_line":"                     \u0027policy_id\u0027: self.policy[\u0027id\u0027],"},{"line_number":124,"context_line":"                     \u0027endpoint_id\u0027: self.endpoint[\u0027id\u0027]},"},{"line_number":125,"context_line":"                 body\u003d\u0027\u0027,"},{"line_number":126,"context_line":"                 expected_status\u003d204)"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        r \u003d self.get(\u0027/OS-ENDPOINT-POLICY/endpoints/%(endpoint_id)s\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"1abeadc6_7062c9ae","line":125,"in_reply_to":"1abeadc6_82480489","updated":"2014-08-25 08:52:32.000000000","message":"Damn...how did I miss these others :-)","commit_id":"0ace2fa0c64a13168052bfa348add69bf2b66ddd"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"217046053407e44f7317aaea0adb84e7a44e34cf","unresolved":false,"context_lines":[{"line_number":138,"context_line":"                 \u0027/endpoints/%(endpoint_id)s\u0027 % {"},{"line_number":139,"context_line":"                     \u0027policy_id\u0027: self.policy[\u0027id\u0027],"},{"line_number":140,"context_line":"                     \u0027endpoint_id\u0027: self.endpoint[\u0027id\u0027]},"},{"line_number":141,"context_line":"                 body\u003d\u0027\u0027,"},{"line_number":142,"context_line":"                 expected_status\u003d204)"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"        r \u003d self.get(\u0027/OS-ENDPOINT-POLICY/policies/%(policy_id)s\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"1abeadc6_0254f41f","line":141,"updated":"2014-08-25 04:14:08.000000000","message":"Redundant","commit_id":"0ace2fa0c64a13168052bfa348add69bf2b66ddd"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"6ce1862064d44770d6430170769194876f4f96c2","unresolved":false,"context_lines":[{"line_number":138,"context_line":"                 \u0027/endpoints/%(endpoint_id)s\u0027 % {"},{"line_number":139,"context_line":"                     \u0027policy_id\u0027: self.policy[\u0027id\u0027],"},{"line_number":140,"context_line":"                     \u0027endpoint_id\u0027: self.endpoint[\u0027id\u0027]},"},{"line_number":141,"context_line":"                 body\u003d\u0027\u0027,"},{"line_number":142,"context_line":"                 expected_status\u003d204)"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"        r \u003d self.get(\u0027/OS-ENDPOINT-POLICY/policies/%(policy_id)s\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"1abeadc6_905765ca","line":141,"in_reply_to":"1abeadc6_0254f41f","updated":"2014-08-25 08:52:32.000000000","message":"Done","commit_id":"0ace2fa0c64a13168052bfa348add69bf2b66ddd"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"217046053407e44f7317aaea0adb84e7a44e34cf","unresolved":false,"context_lines":[{"line_number":146,"context_line":"                         \u0027policy_id\u0027: self.policy[\u0027id\u0027]},"},{"line_number":147,"context_line":"                     expected_status\u003d200)"},{"line_number":148,"context_line":"        self.assertValidEndpointListResponse(r, ref\u003dself.endpoint)"},{"line_number":149,"context_line":"        self.assertThat(r.result.get(\u0027endpoints\u0027), matchers.HasLength(1))"}],"source_content_type":"text/x-python","patch_set":6,"id":"1abeadc6_a2c8a057","line":149,"updated":"2014-08-25 04:14:08.000000000","message":"nit: self.assertEqual(len(...), 1)","commit_id":"0ace2fa0c64a13168052bfa348add69bf2b66ddd"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"6ce1862064d44770d6430170769194876f4f96c2","unresolved":false,"context_lines":[{"line_number":146,"context_line":"                         \u0027policy_id\u0027: self.policy[\u0027id\u0027]},"},{"line_number":147,"context_line":"                     expected_status\u003d200)"},{"line_number":148,"context_line":"        self.assertValidEndpointListResponse(r, ref\u003dself.endpoint)"},{"line_number":149,"context_line":"        self.assertThat(r.result.get(\u0027endpoints\u0027), matchers.HasLength(1))"}],"source_content_type":"text/x-python","patch_set":6,"id":"1abeadc6_50b5cdce","line":149,"in_reply_to":"1abeadc6_a2c8a057","updated":"2014-08-25 08:52:32.000000000","message":"Doesn\u0027t the assertThat do this?  Or am I missing the point you are making?","commit_id":"0ace2fa0c64a13168052bfa348add69bf2b66ddd"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"c191e59bb16380dc156b83f6d8b93ddb188ee4ab","unresolved":false,"context_lines":[{"line_number":131,"context_line":"        self.assertValidPolicyResponse(r, ref\u003dself.policy)"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"    def test_list_endpoints_for_policy(self):"},{"line_number":134,"context_line":"        \"\"\"GET /policies/%(policy_id}/endpoint.\"\"\""},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"        self.put(\u0027/OS-ENDPOINT-POLICY/policies/%(policy_id)s\u0027"},{"line_number":137,"context_line":"                 \u0027/endpoints/%(endpoint_id)s\u0027 % {"}],"source_content_type":"text/x-python","patch_set":8,"id":"1abeadc6_80ed3bf2","line":134,"updated":"2014-08-25 21:52:04.000000000","message":"s/endpoint/endpoints/  to match /OS-ENDPOINT-POLICY/policies/\u003cpolicy-id\u003e/endpoints","commit_id":"9d9ceca1fbd81fa1d44f8f9f3b668fc0ad4dbf98"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"1ad76449988d4b5dddf29f5368fe615559aa4233","unresolved":false,"context_lines":[{"line_number":131,"context_line":"        self.assertValidPolicyResponse(r, ref\u003dself.policy)"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"    def test_list_endpoints_for_policy(self):"},{"line_number":134,"context_line":"        \"\"\"GET /policies/%(policy_id}/endpoint.\"\"\""},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"        self.put(\u0027/OS-ENDPOINT-POLICY/policies/%(policy_id)s\u0027"},{"line_number":137,"context_line":"                 \u0027/endpoints/%(endpoint_id)s\u0027 % {"}],"source_content_type":"text/x-python","patch_set":8,"id":"1abeadc6_1955f4c5","line":134,"in_reply_to":"1abeadc6_80ed3bf2","updated":"2014-08-26 22:35:38.000000000","message":"Done","commit_id":"9d9ceca1fbd81fa1d44f8f9f3b668fc0ad4dbf98"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"1e2f01b3e16505665054327f9da04b41d3391d90","unresolved":false,"context_lines":[{"line_number":58,"context_line":"                     \u0027endpoint_id\u0027: self.endpoint[\u0027id\u0027]},"},{"line_number":59,"context_line":"                 expected_status\u003d204)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        self.head(\u0027/policies/%(policy_id)s/OS-ENDPOINT-POLICY\u0027"},{"line_number":62,"context_line":"                  \u0027/endpoints/%(endpoint_id)s\u0027 % {"},{"line_number":63,"context_line":"                      \u0027policy_id\u0027: self.policy[\u0027id\u0027],"},{"line_number":64,"context_line":"                      \u0027endpoint_id\u0027: self.endpoint[\u0027id\u0027]},"}],"source_content_type":"text/x-python","patch_set":17,"id":"fa98f980_6d94ce37","line":61,"updated":"2014-08-31 17:40:48.000000000","message":"There should be a get test, too.","commit_id":"443da33516671f343f9eebebc6bbf2ad0802cb13"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"8b46a599e8c0208dc27b67130425547d80ec402d","unresolved":false,"context_lines":[{"line_number":58,"context_line":"                     \u0027endpoint_id\u0027: self.endpoint[\u0027id\u0027]},"},{"line_number":59,"context_line":"                 expected_status\u003d204)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        self.head(\u0027/policies/%(policy_id)s/OS-ENDPOINT-POLICY\u0027"},{"line_number":62,"context_line":"                  \u0027/endpoints/%(endpoint_id)s\u0027 % {"},{"line_number":63,"context_line":"                      \u0027policy_id\u0027: self.policy[\u0027id\u0027],"},{"line_number":64,"context_line":"                      \u0027endpoint_id\u0027: self.endpoint[\u0027id\u0027]},"}],"source_content_type":"text/x-python","patch_set":17,"id":"fa98f980_6d176ea4","line":61,"in_reply_to":"fa98f980_6d94ce37","updated":"2014-08-31 18:21:29.000000000","message":"Done","commit_id":"443da33516671f343f9eebebc6bbf2ad0802cb13"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"1e2f01b3e16505665054327f9da04b41d3391d90","unresolved":false,"context_lines":[{"line_number":65,"context_line":"                  expected_status\u003d204)"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"        self.delete(\u0027/policies/%(policy_id)s/OS-ENDPOINT-POLICY\u0027"},{"line_number":68,"context_line":"                    \u0027/endpoints/%(endpoint_id)s\u0027 % {"},{"line_number":69,"context_line":"                        \u0027policy_id\u0027: self.policy[\u0027id\u0027],"},{"line_number":70,"context_line":"                        \u0027endpoint_id\u0027: self.endpoint[\u0027id\u0027]},"},{"line_number":71,"context_line":"                    expected_status\u003d204)"}],"source_content_type":"text/x-python","patch_set":17,"id":"fa98f980_8d99f270","line":68,"updated":"2014-08-31 17:40:48.000000000","message":"there\u0027s a lot of copy-pasting of the URL.","commit_id":"443da33516671f343f9eebebc6bbf2ad0802cb13"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"8b46a599e8c0208dc27b67130425547d80ec402d","unresolved":false,"context_lines":[{"line_number":65,"context_line":"                  expected_status\u003d204)"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"        self.delete(\u0027/policies/%(policy_id)s/OS-ENDPOINT-POLICY\u0027"},{"line_number":68,"context_line":"                    \u0027/endpoints/%(endpoint_id)s\u0027 % {"},{"line_number":69,"context_line":"                        \u0027policy_id\u0027: self.policy[\u0027id\u0027],"},{"line_number":70,"context_line":"                        \u0027endpoint_id\u0027: self.endpoint[\u0027id\u0027]},"},{"line_number":71,"context_line":"                    expected_status\u003d204)"}],"source_content_type":"text/x-python","patch_set":17,"id":"fa98f980_0dfc223e","line":68,"in_reply_to":"fa98f980_8d99f270","updated":"2014-08-31 18:21:29.000000000","message":"Done","commit_id":"443da33516671f343f9eebebc6bbf2ad0802cb13"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"1e2f01b3e16505665054327f9da04b41d3391d90","unresolved":false,"context_lines":[{"line_number":79,"context_line":"                     \u0027service_id\u0027: self.service[\u0027id\u0027]},"},{"line_number":80,"context_line":"                 expected_status\u003d204)"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"        self.head(\u0027/policies/%(policy_id)s/OS-ENDPOINT-POLICY\u0027"},{"line_number":83,"context_line":"                  \u0027/services/%(service_id)s\u0027 % {"},{"line_number":84,"context_line":"                      \u0027policy_id\u0027: self.policy[\u0027id\u0027],"},{"line_number":85,"context_line":"                      \u0027service_id\u0027: self.service[\u0027id\u0027]},"}],"source_content_type":"text/x-python","patch_set":17,"id":"fa98f980_ad9eb654","line":82,"updated":"2014-08-31 17:40:48.000000000","message":"also test get.","commit_id":"443da33516671f343f9eebebc6bbf2ad0802cb13"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"8b46a599e8c0208dc27b67130425547d80ec402d","unresolved":false,"context_lines":[{"line_number":79,"context_line":"                     \u0027service_id\u0027: self.service[\u0027id\u0027]},"},{"line_number":80,"context_line":"                 expected_status\u003d204)"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"        self.head(\u0027/policies/%(policy_id)s/OS-ENDPOINT-POLICY\u0027"},{"line_number":83,"context_line":"                  \u0027/services/%(service_id)s\u0027 % {"},{"line_number":84,"context_line":"                      \u0027policy_id\u0027: self.policy[\u0027id\u0027],"},{"line_number":85,"context_line":"                      \u0027service_id\u0027: self.service[\u0027id\u0027]},"}],"source_content_type":"text/x-python","patch_set":17,"id":"fa98f980_8d0c9296","line":82,"in_reply_to":"fa98f980_ad9eb654","updated":"2014-08-31 18:21:29.000000000","message":"Done","commit_id":"443da33516671f343f9eebebc6bbf2ad0802cb13"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"1e2f01b3e16505665054327f9da04b41d3391d90","unresolved":false,"context_lines":[{"line_number":101,"context_line":"                     \u0027region_id\u0027: self.region[\u0027id\u0027]},"},{"line_number":102,"context_line":"                 expected_status\u003d204)"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        self.head(\u0027/policies/%(policy_id)s/OS-ENDPOINT-POLICY\u0027"},{"line_number":105,"context_line":"                  \u0027/services/%(service_id)s/regions/%(region_id)s\u0027 % {"},{"line_number":106,"context_line":"                      \u0027policy_id\u0027: self.policy[\u0027id\u0027],"},{"line_number":107,"context_line":"                      \u0027service_id\u0027: self.service[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":17,"id":"fa98f980_cda21a9a","line":104,"updated":"2014-08-31 17:40:48.000000000","message":"also test get","commit_id":"443da33516671f343f9eebebc6bbf2ad0802cb13"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"8b46a599e8c0208dc27b67130425547d80ec402d","unresolved":false,"context_lines":[{"line_number":101,"context_line":"                     \u0027region_id\u0027: self.region[\u0027id\u0027]},"},{"line_number":102,"context_line":"                 expected_status\u003d204)"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        self.head(\u0027/policies/%(policy_id)s/OS-ENDPOINT-POLICY\u0027"},{"line_number":105,"context_line":"                  \u0027/services/%(service_id)s/regions/%(region_id)s\u0027 % {"},{"line_number":106,"context_line":"                      \u0027policy_id\u0027: self.policy[\u0027id\u0027],"},{"line_number":107,"context_line":"                      \u0027service_id\u0027: self.service[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":17,"id":"fa98f980_ad1156ae","line":104,"in_reply_to":"fa98f980_cda21a9a","updated":"2014-08-31 18:21:29.000000000","message":"Done","commit_id":"443da33516671f343f9eebebc6bbf2ad0802cb13"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"1e2f01b3e16505665054327f9da04b41d3391d90","unresolved":false,"context_lines":[{"line_number":124,"context_line":"                     \u0027endpoint_id\u0027: self.endpoint[\u0027id\u0027]},"},{"line_number":125,"context_line":"                 expected_status\u003d204)"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"        r \u003d self.get(\u0027/endpoints/%(endpoint_id)s/OS-ENDPOINT-POLICY\u0027"},{"line_number":128,"context_line":"                     \u0027/policy\u0027 % {"},{"line_number":129,"context_line":"                         \u0027endpoint_id\u0027: self.endpoint[\u0027id\u0027]},"},{"line_number":130,"context_line":"                     expected_status\u003d200)"}],"source_content_type":"text/x-python","patch_set":17,"id":"fa98f980_8db012df","line":127,"updated":"2014-08-31 17:40:48.000000000","message":"there should probably be a head test, too.","commit_id":"443da33516671f343f9eebebc6bbf2ad0802cb13"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"8b46a599e8c0208dc27b67130425547d80ec402d","unresolved":false,"context_lines":[{"line_number":124,"context_line":"                     \u0027endpoint_id\u0027: self.endpoint[\u0027id\u0027]},"},{"line_number":125,"context_line":"                 expected_status\u003d204)"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"        r \u003d self.get(\u0027/endpoints/%(endpoint_id)s/OS-ENDPOINT-POLICY\u0027"},{"line_number":128,"context_line":"                     \u0027/policy\u0027 % {"},{"line_number":129,"context_line":"                         \u0027endpoint_id\u0027: self.endpoint[\u0027id\u0027]},"},{"line_number":130,"context_line":"                     expected_status\u003d200)"}],"source_content_type":"text/x-python","patch_set":17,"id":"fa98f980_edfefe37","line":127,"in_reply_to":"fa98f980_8db012df","updated":"2014-08-31 18:21:29.000000000","message":"Done","commit_id":"443da33516671f343f9eebebc6bbf2ad0802cb13"}]}
