)]}'
{"neutron_lib/api/definitions/tag_ext.py":[{"author":{"_account_id":5367,"name":"boden","email":"bodenvmw@gmail.com","username":"boden"},"change_message_id":"49ef17e7fc3343ccaa9c28bfa0fa0f6909b0698b","unresolved":false,"context_lines":[{"line_number":21,"context_line":"TAG_SUPPORTED_RESOURCES \u003d {"},{"line_number":22,"context_line":"    # We shouldn\u0027t add new resources here. If more resources need to be tagged,"},{"line_number":23,"context_line":"    # we must add them in new extension."},{"line_number":24,"context_line":"    \u0027subnets\u0027: \u0027subnet\u0027,"},{"line_number":25,"context_line":"    \u0027ports\u0027: \u0027port\u0027,"},{"line_number":26,"context_line":"    \u0027subnetpools\u0027: \u0027subnetpool\u0027,"},{"line_number":27,"context_line":"    \u0027routers\u0027: \u0027router\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"bff0334d_de87360f","line":24,"updated":"2017-04-07 15:13:52.000000000","message":"Once [1] merges, IMO it\u0027ll make sense to update these to use the constants from their respective api-def.\n\n\n[1] I549bd94852395c62b5c73fb3c9681206d734e559","commit_id":"70e86bdff8eedcd8e959ffde12c64de60180698b"},{"author":{"_account_id":5367,"name":"boden","email":"bodenvmw@gmail.com","username":"boden"},"change_message_id":"49ef17e7fc3343ccaa9c28bfa0fa0f6909b0698b","unresolved":false,"context_lines":[{"line_number":61,"context_line":"# bulk of the API contract alongside ACTION_MAP (mandatory)."},{"line_number":62,"context_line":"RESOURCE_ATTRIBUTE_MAP \u003d {"},{"line_number":63,"context_line":"    SUBNETS: {"},{"line_number":64,"context_line":"        TAGS: {\u0027allow_post\u0027: False, \u0027allow_put\u0027: False, \u0027is_visible\u0027: True}"},{"line_number":65,"context_line":"    },"},{"line_number":66,"context_line":"    PORTS: {"},{"line_number":67,"context_line":"        TAGS: {\u0027allow_post\u0027: False, \u0027allow_put\u0027: False, \u0027is_visible\u0027: True}"}],"source_content_type":"text/x-python","patch_set":4,"id":"bff0334d_be56b25b","line":64,"updated":"2017-04-07 15:13:52.000000000","message":"Rather than duplicating these resource attrs, does it make sense to define a constant in the tag api-def [1] and reuse it for these?\n\n\n\n[1] https://review.openstack.org/#/c/450007","commit_id":"70e86bdff8eedcd8e959ffde12c64de60180698b"},{"author":{"_account_id":5367,"name":"boden","email":"bodenvmw@gmail.com","username":"boden"},"change_message_id":"49ef17e7fc3343ccaa9c28bfa0fa0f6909b0698b","unresolved":false,"context_lines":[{"line_number":89,"context_line":"    }"},{"line_number":90,"context_line":"}"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"ACTION_STATUS \u003d {\u0027index\u0027: 200, \u0027show\u0027: 204, \u0027update\u0027: 201, \u0027update_all\u0027: 200,"},{"line_number":93,"context_line":"                 \u0027delete\u0027: 204, \u0027delete_all\u0027: 204}"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"# The list of required extensions (mandatory)."}],"source_content_type":"text/x-python","patch_set":4,"id":"bff0334d_5e55661c","line":92,"updated":"2017-04-07 15:13:52.000000000","message":"We don\u0027t really have \"support\" this yet until [1] lands.\n\n\n[1] https://review.openstack.org/#/c/450015/","commit_id":"70e86bdff8eedcd8e959ffde12c64de60180698b"},{"author":{"_account_id":5367,"name":"boden","email":"bodenvmw@gmail.com","username":"boden"},"change_message_id":"49ef17e7fc3343ccaa9c28bfa0fa0f6909b0698b","unresolved":false,"context_lines":[{"line_number":97,"context_line":"]"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"# The list of optional extensions (mandatory)."},{"line_number":100,"context_line":"OPTIONAL_EXTENSIONS \u003d [\u0027router\u0027]"}],"source_content_type":"text/x-python","patch_set":4,"id":"bff0334d_9e208eb2","line":100,"range":{"start_line":100,"start_character":24,"end_line":100,"end_character":30},"updated":"2017-04-07 15:13:52.000000000","message":"Why not just use neutron_lib.api.definitions.l3.ALIAS?","commit_id":"70e86bdff8eedcd8e959ffde12c64de60180698b"}],"neutron_lib/tests/unit/api/definitions/test_tag_ext.py":[{"author":{"_account_id":5367,"name":"boden","email":"bodenvmw@gmail.com","username":"boden"},"change_message_id":"49ef17e7fc3343ccaa9c28bfa0fa0f6909b0698b","unresolved":false,"context_lines":[{"line_number":14,"context_line":"from neutron_lib.tests.unit.api.definitions import base"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"class TagDefinitionTestCase(base.DefinitionBaseTestCase):"},{"line_number":18,"context_line":"    extension_module \u003d tag_ext"},{"line_number":19,"context_line":"    extension_attributes \u003d (tag_ext.TAGS,)"}],"source_content_type":"text/x-python","patch_set":4,"id":"bff0334d_11510f0f","line":17,"range":{"start_line":17,"start_character":6,"end_line":17,"end_character":27},"updated":"2017-04-07 15:13:52.000000000","message":"This appears to be the same class name as [1]. Seems like it should be named \"TagExtDefinitionTestCase\" or something.\n\n\n[1] https://review.openstack.org/#/c/450007/7/neutron_lib/tests/unit/api/definitions/test_tag.py@17","commit_id":"70e86bdff8eedcd8e959ffde12c64de60180698b"}]}
