)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"91ab18be4ca791a649b9a60927bb27385b17fda3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"30a21b86_fab49f68","updated":"2022-09-26 11:32:46.000000000","message":"I know this is WIP. Here are a couple of comments to guide you as you continue implementing this.","commit_id":"83b24d12f89b8588de19062f8d2b883c2490a9b7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e46bff883a4905b04e79eeed941f4158d3d2f0fb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":25,"id":"7ebcd20d_4787e7d3","updated":"2022-11-07 16:29:20.000000000","message":"Can you rebase this?","commit_id":"07805b824697e29675ccff3737b956bac0433d5c"},{"author":{"_account_id":35061,"name":"Taehyun Park","email":"parkth32@gmail.com","username":"fullop"},"change_message_id":"7dcf76b7b2fea7e830f09a550190deacd7fd3619","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":25,"id":"8bd267c4_60936a03","in_reply_to":"7ebcd20d_4787e7d3","updated":"2022-11-11 08:51:00.000000000","message":"I rebased master branch","commit_id":"07805b824697e29675ccff3737b956bac0433d5c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"49fa89bd70cad13f68e420dba74506a6c46aa482","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":29,"id":"7c8afc26_be4b6623","updated":"2022-11-21 16:41:10.000000000","message":"This is looking really good. Just a couple of things left to do, which I\u0027ve highlighted inline. I also don\u0027t see a release note. It would be helpful to add one to call out this new functionality. Other than that, I\u0027m happy with this.","commit_id":"4e7a9371e60cd616bee7df1a44c6e566aae39a8b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"59765799f7ccdf4700165b012043264592f39f38","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":35,"id":"9531ef25_5c7ee4bf","updated":"2023-08-09 17:48:31.000000000","message":"I\u0027d still like to understand what that `object_name` attribute is for but we can address that later.","commit_id":"c6aaae56ee705bd6a6e61520b4efe74d56376387"}],"doc/source/user/proxies/image_v2.rst":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"91ab18be4ca791a649b9a60927bb27385b17fda3","unresolved":true,"context_lines":[{"line_number":58,"context_line":""},{"line_number":59,"context_line":".. autoclass:: openstack.image.v2._proxy.Proxy"},{"line_number":60,"context_line":"  :noindex:"},{"line_number":61,"context_line":"  :members: metadef_namespaces, metadef_object"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Metadef Object Operations"}],"source_content_type":"text/x-rst","patch_set":13,"id":"6a9ec04a_c5f13dde","line":61,"range":{"start_line":61,"start_character":30,"end_line":61,"end_character":46},"updated":"2022-09-26 11:32:46.000000000","message":"Whoops, looks like the wrong place","commit_id":"83b24d12f89b8588de19062f8d2b883c2490a9b7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e508ec220a58fa2a98404b856e0572d5f7b9bbf9","unresolved":false,"context_lines":[{"line_number":58,"context_line":""},{"line_number":59,"context_line":".. autoclass:: openstack.image.v2._proxy.Proxy"},{"line_number":60,"context_line":"  :noindex:"},{"line_number":61,"context_line":"  :members: metadef_namespaces, metadef_object"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Metadef Object Operations"}],"source_content_type":"text/x-rst","patch_set":13,"id":"15f356a7_7e75096f","line":61,"range":{"start_line":61,"start_character":30,"end_line":61,"end_character":46},"in_reply_to":"6a9ec04a_c5f13dde","updated":"2022-11-21 16:34:21.000000000","message":"Done","commit_id":"83b24d12f89b8588de19062f8d2b883c2490a9b7"}],"openstack/image/v2/_proxy.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"91ab18be4ca791a649b9a60927bb27385b17fda3","unresolved":true,"context_lines":[{"line_number":859,"context_line":"            when no resource can be found."},{"line_number":860,"context_line":"        \"\"\""},{"line_number":861,"context_line":"        return self._get(_si.Import, require_id\u003dFalse)"},{"line_number":862,"context_line":""},{"line_number":863,"context_line":"    def create_metadata_object(self, namespace_name, **kwargs):"},{"line_number":864,"context_line":"        \"\"\"Create a new object from namespace"},{"line_number":865,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"efe8df75_5a1c7c04","line":862,"updated":"2022-09-26 11:32:46.000000000","message":"Don\u0027t forget to group this with a header comment. It might also make sense to place it up by the other metadef-related things.","commit_id":"83b24d12f89b8588de19062f8d2b883c2490a9b7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e508ec220a58fa2a98404b856e0572d5f7b9bbf9","unresolved":false,"context_lines":[{"line_number":859,"context_line":"            when no resource can be found."},{"line_number":860,"context_line":"        \"\"\""},{"line_number":861,"context_line":"        return self._get(_si.Import, require_id\u003dFalse)"},{"line_number":862,"context_line":""},{"line_number":863,"context_line":"    def create_metadata_object(self, namespace_name, **kwargs):"},{"line_number":864,"context_line":"        \"\"\"Create a new object from namespace"},{"line_number":865,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"72abbef7_e5a141fe","line":862,"in_reply_to":"efe8df75_5a1c7c04","updated":"2022-11-21 16:34:21.000000000","message":"Done","commit_id":"83b24d12f89b8588de19062f8d2b883c2490a9b7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"49fa89bd70cad13f68e420dba74506a6c46aa482","unresolved":true,"context_lines":[{"line_number":767,"context_line":"        )"},{"line_number":768,"context_line":""},{"line_number":769,"context_line":"    # \u003d\u003d\u003d\u003d\u003d\u003d METADEF OBJECT \u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":770,"context_line":"    def create_metadef_object(self, namespace_name, **kwargs):"},{"line_number":771,"context_line":"        \"\"\"Create a new object from namespace"},{"line_number":772,"context_line":""},{"line_number":773,"context_line":"        :param namespace_name: The value can be the namespace of an object or a"}],"source_content_type":"text/x-python","patch_set":29,"id":"b3423173_ad8fa0e0","line":770,"range":{"start_line":770,"start_character":54,"end_line":770,"end_character":60},"updated":"2022-11-21 16:41:10.000000000","message":"This should be called attrs to align with other \u0027create_foo\u0027 proxy methods. The docstring below is correct.","commit_id":"4e7a9371e60cd616bee7df1a44c6e566aae39a8b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8a082e62b4928b961ff248322a6c4b8798b7dabd","unresolved":false,"context_lines":[{"line_number":767,"context_line":"        )"},{"line_number":768,"context_line":""},{"line_number":769,"context_line":"    # \u003d\u003d\u003d\u003d\u003d\u003d METADEF OBJECT \u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":770,"context_line":"    def create_metadef_object(self, namespace_name, **kwargs):"},{"line_number":771,"context_line":"        \"\"\"Create a new object from namespace"},{"line_number":772,"context_line":""},{"line_number":773,"context_line":"        :param namespace_name: The value can be the namespace of an object or a"}],"source_content_type":"text/x-python","patch_set":29,"id":"e5a7486e_ec06a6a2","line":770,"range":{"start_line":770,"start_character":54,"end_line":770,"end_character":60},"in_reply_to":"b3423173_ad8fa0e0","updated":"2023-07-18 14:37:11.000000000","message":"Done","commit_id":"4e7a9371e60cd616bee7df1a44c6e566aae39a8b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"49fa89bd70cad13f68e420dba74506a6c46aa482","unresolved":true,"context_lines":[{"line_number":773,"context_line":"        :param namespace_name: The value can be the namespace of an object or a"},{"line_number":774,"context_line":"            :string: the name of the namespace which the object will be"},{"line_number":775,"context_line":"            created."},{"line_number":776,"context_line":""},{"line_number":777,"context_line":"        :param dict attrs: Keyword arguments which will be used to create"},{"line_number":778,"context_line":"            a :class:`~openstack.image.v2.metadef_object.MetadefObject`,"},{"line_number":779,"context_line":"            comprised of the properties on the Member class."}],"source_content_type":"text/x-python","patch_set":29,"id":"836f839d_5c1fad14","line":776,"updated":"2022-11-21 16:41:10.000000000","message":"nit: can you drop this line?","commit_id":"4e7a9371e60cd616bee7df1a44c6e566aae39a8b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8a082e62b4928b961ff248322a6c4b8798b7dabd","unresolved":false,"context_lines":[{"line_number":773,"context_line":"        :param namespace_name: The value can be the namespace of an object or a"},{"line_number":774,"context_line":"            :string: the name of the namespace which the object will be"},{"line_number":775,"context_line":"            created."},{"line_number":776,"context_line":""},{"line_number":777,"context_line":"        :param dict attrs: Keyword arguments which will be used to create"},{"line_number":778,"context_line":"            a :class:`~openstack.image.v2.metadef_object.MetadefObject`,"},{"line_number":779,"context_line":"            comprised of the properties on the Member class."}],"source_content_type":"text/x-python","patch_set":29,"id":"e05ac3fb_b64fe7ed","line":776,"in_reply_to":"836f839d_5c1fad14","updated":"2023-07-18 14:37:11.000000000","message":"Done","commit_id":"4e7a9371e60cd616bee7df1a44c6e566aae39a8b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"49fa89bd70cad13f68e420dba74506a6c46aa482","unresolved":true,"context_lines":[{"line_number":784,"context_line":"        return self._create(_metadef_object.MetadefObject,"},{"line_number":785,"context_line":"                            namespace_name\u003dnamespace_name, **kwargs)"},{"line_number":786,"context_line":""},{"line_number":787,"context_line":"    def get_metadef_object(self, namespace_name, object_name, **kwargs):"},{"line_number":788,"context_line":"        return self._get(_metadef_object.MetadefObject,"},{"line_number":789,"context_line":"                         namespace_name\u003dnamespace_name,"},{"line_number":790,"context_line":"                         object_name\u003dobject_name,"}],"source_content_type":"text/x-python","patch_set":29,"id":"e238ffe5_72876507","line":787,"updated":"2022-11-21 16:41:10.000000000","message":"We could do with a docstring here. Ditto for the below.","commit_id":"4e7a9371e60cd616bee7df1a44c6e566aae39a8b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8a082e62b4928b961ff248322a6c4b8798b7dabd","unresolved":false,"context_lines":[{"line_number":784,"context_line":"        return self._create(_metadef_object.MetadefObject,"},{"line_number":785,"context_line":"                            namespace_name\u003dnamespace_name, **kwargs)"},{"line_number":786,"context_line":""},{"line_number":787,"context_line":"    def get_metadef_object(self, namespace_name, object_name, **kwargs):"},{"line_number":788,"context_line":"        return self._get(_metadef_object.MetadefObject,"},{"line_number":789,"context_line":"                         namespace_name\u003dnamespace_name,"},{"line_number":790,"context_line":"                         object_name\u003dobject_name,"}],"source_content_type":"text/x-python","patch_set":29,"id":"747a1931_687efbf9","line":787,"in_reply_to":"e238ffe5_72876507","updated":"2023-07-18 14:37:11.000000000","message":"Done","commit_id":"4e7a9371e60cd616bee7df1a44c6e566aae39a8b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8a082e62b4928b961ff248322a6c4b8798b7dabd","unresolved":true,"context_lines":[{"line_number":796,"context_line":"            **attrs,"},{"line_number":797,"context_line":"        )"},{"line_number":798,"context_line":""},{"line_number":799,"context_line":"    def get_metadef_object(self, object_name, namespace_name, **attrs):"},{"line_number":800,"context_line":"        \"\"\"Get a single metadef object"},{"line_number":801,"context_line":""},{"line_number":802,"context_line":"        :param dict attrs: Keyword arguments which will be used to find"}],"source_content_type":"text/x-python","patch_set":33,"id":"ea9e4f5c_14841d9e","line":799,"range":{"start_line":799,"start_character":33,"end_line":799,"end_character":61},"updated":"2023-07-18 14:37:11.000000000","message":"These should be called `metadef_object` and `namespace`, respectively. You should be able to provide both a `MetadefObject` and string ID for `metadef_object`, and likewise for `namespace`.\n\nYou\u0027ll need to add calls to `resource.Resource._get_id` for both to extract the ID from the `MetadefObject`/`Namespace` objects. Look at `get_member` below for an example of this.\n\nAlso, these need to be documented in the docstring.","commit_id":"0c2da4a11500233aabd4a5c34f5a1bcf578b40f1"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8a082e62b4928b961ff248322a6c4b8798b7dabd","unresolved":true,"context_lines":[{"line_number":796,"context_line":"            **attrs,"},{"line_number":797,"context_line":"        )"},{"line_number":798,"context_line":""},{"line_number":799,"context_line":"    def get_metadef_object(self, object_name, namespace_name, **attrs):"},{"line_number":800,"context_line":"        \"\"\"Get a single metadef object"},{"line_number":801,"context_line":""},{"line_number":802,"context_line":"        :param dict attrs: Keyword arguments which will be used to find"}],"source_content_type":"text/x-python","patch_set":33,"id":"8f2273da_0ad58534","line":799,"range":{"start_line":799,"start_character":62,"end_line":799,"end_character":69},"updated":"2023-07-18 14:37:11.000000000","message":"We don\u0027t normally provide `attrs` to `get_foo` proxy methods: after all, you are doing a lookup using a specific ID (in comparision to `find_foo`).","commit_id":"0c2da4a11500233aabd4a5c34f5a1bcf578b40f1"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"ea7b99c48e4b724ac59cc42dea5020f628b0205c","unresolved":false,"context_lines":[{"line_number":796,"context_line":"            **attrs,"},{"line_number":797,"context_line":"        )"},{"line_number":798,"context_line":""},{"line_number":799,"context_line":"    def get_metadef_object(self, object_name, namespace_name, **attrs):"},{"line_number":800,"context_line":"        \"\"\"Get a single metadef object"},{"line_number":801,"context_line":""},{"line_number":802,"context_line":"        :param dict attrs: Keyword arguments which will be used to find"}],"source_content_type":"text/x-python","patch_set":33,"id":"95549fe8_156c2251","line":799,"range":{"start_line":799,"start_character":62,"end_line":799,"end_character":69},"in_reply_to":"8f2273da_0ad58534","updated":"2023-07-27 09:34:38.000000000","message":"Ack","commit_id":"0c2da4a11500233aabd4a5c34f5a1bcf578b40f1"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"ea7b99c48e4b724ac59cc42dea5020f628b0205c","unresolved":false,"context_lines":[{"line_number":796,"context_line":"            **attrs,"},{"line_number":797,"context_line":"        )"},{"line_number":798,"context_line":""},{"line_number":799,"context_line":"    def get_metadef_object(self, object_name, namespace_name, **attrs):"},{"line_number":800,"context_line":"        \"\"\"Get a single metadef object"},{"line_number":801,"context_line":""},{"line_number":802,"context_line":"        :param dict attrs: Keyword arguments which will be used to find"}],"source_content_type":"text/x-python","patch_set":33,"id":"9223e820_b9ee1b63","line":799,"range":{"start_line":799,"start_character":33,"end_line":799,"end_character":61},"in_reply_to":"ea9e4f5c_14841d9e","updated":"2023-07-27 09:34:38.000000000","message":"Done","commit_id":"0c2da4a11500233aabd4a5c34f5a1bcf578b40f1"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8a082e62b4928b961ff248322a6c4b8798b7dabd","unresolved":true,"context_lines":[{"line_number":803,"context_line":"            a :class:`~openstack.image.v2.metadef_object.MetadefObject`."},{"line_number":804,"context_line":""},{"line_number":805,"context_line":"        :returns:"},{"line_number":806,"context_line":"        :rtype: A metadef object"},{"line_number":807,"context_line":"            :class:`~openstack.image.v2.metadef_object.MetadefObject`"},{"line_number":808,"context_line":"        :raises: :class:`~openstack.exceptions.ResourceNotFound` when no"},{"line_number":809,"context_line":"            resource can be found."}],"source_content_type":"text/x-python","patch_set":33,"id":"8e0ac601_3b9584b3","line":806,"range":{"start_line":806,"start_character":16,"end_line":806,"end_character":32},"updated":"2023-07-18 14:37:11.000000000","message":"I think this was meant to go on the line above?\n\n```\n:returns: One :class:`~openstack.image.v2.metadef_object.MetadefObject`\n```\n\nYou can add `rtype` if you like also but it\u0027s not really necessary.","commit_id":"0c2da4a11500233aabd4a5c34f5a1bcf578b40f1"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"ea7b99c48e4b724ac59cc42dea5020f628b0205c","unresolved":false,"context_lines":[{"line_number":803,"context_line":"            a :class:`~openstack.image.v2.metadef_object.MetadefObject`."},{"line_number":804,"context_line":""},{"line_number":805,"context_line":"        :returns:"},{"line_number":806,"context_line":"        :rtype: A metadef object"},{"line_number":807,"context_line":"            :class:`~openstack.image.v2.metadef_object.MetadefObject`"},{"line_number":808,"context_line":"        :raises: :class:`~openstack.exceptions.ResourceNotFound` when no"},{"line_number":809,"context_line":"            resource can be found."}],"source_content_type":"text/x-python","patch_set":33,"id":"43e10631_fe44a576","line":806,"range":{"start_line":806,"start_character":16,"end_line":806,"end_character":32},"in_reply_to":"8e0ac601_3b9584b3","updated":"2023-07-27 09:34:38.000000000","message":"Done","commit_id":"0c2da4a11500233aabd4a5c34f5a1bcf578b40f1"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8a082e62b4928b961ff248322a6c4b8798b7dabd","unresolved":true,"context_lines":[{"line_number":815,"context_line":"            **attrs,"},{"line_number":816,"context_line":"        )"},{"line_number":817,"context_line":""},{"line_number":818,"context_line":"    def metadef_objects(self, namespace_name, **attrs):"},{"line_number":819,"context_line":"        \"\"\"Get metadef object list of the namespace"},{"line_number":820,"context_line":""},{"line_number":821,"context_line":"        :param dict attrs: Keyword arguments which will be used to find"}],"source_content_type":"text/x-python","patch_set":33,"id":"68c12421_39d388b3","line":818,"range":{"start_line":818,"start_character":30,"end_line":818,"end_character":44},"updated":"2023-07-18 14:37:11.000000000","message":"Same comment: this should be `namespace` and needs to be documented in the docstring","commit_id":"0c2da4a11500233aabd4a5c34f5a1bcf578b40f1"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"ea7b99c48e4b724ac59cc42dea5020f628b0205c","unresolved":false,"context_lines":[{"line_number":815,"context_line":"            **attrs,"},{"line_number":816,"context_line":"        )"},{"line_number":817,"context_line":""},{"line_number":818,"context_line":"    def metadef_objects(self, namespace_name, **attrs):"},{"line_number":819,"context_line":"        \"\"\"Get metadef object list of the namespace"},{"line_number":820,"context_line":""},{"line_number":821,"context_line":"        :param dict attrs: Keyword arguments which will be used to find"}],"source_content_type":"text/x-python","patch_set":33,"id":"1b011e2f_7bc6c2fe","line":818,"range":{"start_line":818,"start_character":30,"end_line":818,"end_character":44},"in_reply_to":"68c12421_39d388b3","updated":"2023-07-27 09:34:38.000000000","message":"Done","commit_id":"0c2da4a11500233aabd4a5c34f5a1bcf578b40f1"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8a082e62b4928b961ff248322a6c4b8798b7dabd","unresolved":true,"context_lines":[{"line_number":822,"context_line":"            a :class:`~openstack.image.v2.metadef_object.MetadefObject`"},{"line_number":823,"context_line":""},{"line_number":824,"context_line":"        :returns:"},{"line_number":825,"context_line":"        :rtype: metadef objects"},{"line_number":826,"context_line":"            :class:`~openstack.image.v2.metadef_object.MetadefObject`"},{"line_number":827,"context_line":"        :raises: :class:`~openstack.exceptions.ResourceNotFound` when no"},{"line_number":828,"context_line":"            resource can be found."}],"source_content_type":"text/x-python","patch_set":33,"id":"81d020e5_0b339bd9","line":825,"range":{"start_line":825,"start_character":16,"end_line":825,"end_character":31},"updated":"2023-07-18 14:37:11.000000000","message":"Ditto (should be on line above)","commit_id":"0c2da4a11500233aabd4a5c34f5a1bcf578b40f1"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"ea7b99c48e4b724ac59cc42dea5020f628b0205c","unresolved":false,"context_lines":[{"line_number":822,"context_line":"            a :class:`~openstack.image.v2.metadef_object.MetadefObject`"},{"line_number":823,"context_line":""},{"line_number":824,"context_line":"        :returns:"},{"line_number":825,"context_line":"        :rtype: metadef objects"},{"line_number":826,"context_line":"            :class:`~openstack.image.v2.metadef_object.MetadefObject`"},{"line_number":827,"context_line":"        :raises: :class:`~openstack.exceptions.ResourceNotFound` when no"},{"line_number":828,"context_line":"            resource can be found."}],"source_content_type":"text/x-python","patch_set":33,"id":"56b02539_9649520f","line":825,"range":{"start_line":825,"start_character":16,"end_line":825,"end_character":31},"in_reply_to":"81d020e5_0b339bd9","updated":"2023-07-27 09:34:38.000000000","message":"Done","commit_id":"0c2da4a11500233aabd4a5c34f5a1bcf578b40f1"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8a082e62b4928b961ff248322a6c4b8798b7dabd","unresolved":true,"context_lines":[{"line_number":833,"context_line":"            **attrs,"},{"line_number":834,"context_line":"        )"},{"line_number":835,"context_line":""},{"line_number":836,"context_line":"    def update_metadef_object(self, object_name, namespace_name, **attrs):"},{"line_number":837,"context_line":"        \"\"\"Update a single metadef object"},{"line_number":838,"context_line":""},{"line_number":839,"context_line":"        :param dict attrs: Keyword arguments which will be used to update"}],"source_content_type":"text/x-python","patch_set":33,"id":"fdf00a9c_90d7c662","line":836,"range":{"start_line":836,"start_character":36,"end_line":836,"end_character":63},"updated":"2023-07-18 14:37:11.000000000","message":"Ditto (rename `object`/`namespace` and document)","commit_id":"0c2da4a11500233aabd4a5c34f5a1bcf578b40f1"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"ea7b99c48e4b724ac59cc42dea5020f628b0205c","unresolved":false,"context_lines":[{"line_number":833,"context_line":"            **attrs,"},{"line_number":834,"context_line":"        )"},{"line_number":835,"context_line":""},{"line_number":836,"context_line":"    def update_metadef_object(self, object_name, namespace_name, **attrs):"},{"line_number":837,"context_line":"        \"\"\"Update a single metadef object"},{"line_number":838,"context_line":""},{"line_number":839,"context_line":"        :param dict attrs: Keyword arguments which will be used to update"}],"source_content_type":"text/x-python","patch_set":33,"id":"ddfb2008_bc42433c","line":836,"range":{"start_line":836,"start_character":36,"end_line":836,"end_character":63},"in_reply_to":"fdf00a9c_90d7c662","updated":"2023-07-27 09:34:38.000000000","message":"Done","commit_id":"0c2da4a11500233aabd4a5c34f5a1bcf578b40f1"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8a082e62b4928b961ff248322a6c4b8798b7dabd","unresolved":true,"context_lines":[{"line_number":852,"context_line":"            **attrs,"},{"line_number":853,"context_line":"        )"},{"line_number":854,"context_line":""},{"line_number":855,"context_line":"    def delete_metadef_object(self, object_name, namespace_name, **attrs):"},{"line_number":856,"context_line":"        \"\"\"Removes a single metadef object"},{"line_number":857,"context_line":""},{"line_number":858,"context_line":"        :param dict attrs: Keyword arguments which will be used to update"}],"source_content_type":"text/x-python","patch_set":33,"id":"22181353_e61527ff","line":855,"range":{"start_line":855,"start_character":36,"end_line":855,"end_character":63},"updated":"2023-07-18 14:37:11.000000000","message":"Ditto (rename `object`/`namespace` and document)","commit_id":"0c2da4a11500233aabd4a5c34f5a1bcf578b40f1"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"ea7b99c48e4b724ac59cc42dea5020f628b0205c","unresolved":false,"context_lines":[{"line_number":852,"context_line":"            **attrs,"},{"line_number":853,"context_line":"        )"},{"line_number":854,"context_line":""},{"line_number":855,"context_line":"    def delete_metadef_object(self, object_name, namespace_name, **attrs):"},{"line_number":856,"context_line":"        \"\"\"Removes a single metadef object"},{"line_number":857,"context_line":""},{"line_number":858,"context_line":"        :param dict attrs: Keyword arguments which will be used to update"}],"source_content_type":"text/x-python","patch_set":33,"id":"bd8203ce_a30577b7","line":855,"range":{"start_line":855,"start_character":36,"end_line":855,"end_character":63},"in_reply_to":"22181353_e61527ff","updated":"2023-07-27 09:34:38.000000000","message":"Done","commit_id":"0c2da4a11500233aabd4a5c34f5a1bcf578b40f1"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8a082e62b4928b961ff248322a6c4b8798b7dabd","unresolved":true,"context_lines":[{"line_number":877,"context_line":"        :rtype:"},{"line_number":878,"context_line":"            :class:`~openstack.image.v2.metadef_resource_type.MetadefResourceType`"},{"line_number":879,"context_line":"        :raises: :class:`~openstack.exceptions.ResourceNotFound`"},{"line_number":880,"context_line":"                when no resource can be found."},{"line_number":881,"context_line":"        \"\"\""},{"line_number":882,"context_line":"        return self._list(_metadef_resource_type.MetadefResourceType, **query)"},{"line_number":883,"context_line":""}],"source_content_type":"text/x-python","patch_set":33,"id":"b735dded_3efa8984","line":880,"range":{"start_line":880,"start_character":12,"end_line":880,"end_character":16},"updated":"2023-07-18 14:37:11.000000000","message":"nit: indented too far","commit_id":"0c2da4a11500233aabd4a5c34f5a1bcf578b40f1"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"ea7b99c48e4b724ac59cc42dea5020f628b0205c","unresolved":false,"context_lines":[{"line_number":877,"context_line":"        :rtype:"},{"line_number":878,"context_line":"            :class:`~openstack.image.v2.metadef_resource_type.MetadefResourceType`"},{"line_number":879,"context_line":"        :raises: :class:`~openstack.exceptions.ResourceNotFound`"},{"line_number":880,"context_line":"                when no resource can be found."},{"line_number":881,"context_line":"        \"\"\""},{"line_number":882,"context_line":"        return self._list(_metadef_resource_type.MetadefResourceType, **query)"},{"line_number":883,"context_line":""}],"source_content_type":"text/x-python","patch_set":33,"id":"f10f1acd_5c7231a7","line":880,"range":{"start_line":880,"start_character":12,"end_line":880,"end_character":16},"in_reply_to":"b735dded_3efa8984","updated":"2023-07-27 09:34:38.000000000","message":"Done","commit_id":"0c2da4a11500233aabd4a5c34f5a1bcf578b40f1"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8a082e62b4928b961ff248322a6c4b8798b7dabd","unresolved":true,"context_lines":[{"line_number":881,"context_line":"        \"\"\""},{"line_number":882,"context_line":"        return self._list(_metadef_resource_type.MetadefResourceType, **query)"},{"line_number":883,"context_line":""},{"line_number":884,"context_line":"    # \u003d\u003d\u003d\u003d\u003d\u003d METADEF RESOURCE TYPES ASSOCIATION\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":885,"context_line":"    def create_metadef_resource_type_association(self,"},{"line_number":886,"context_line":"                                                 metadef_namespace,"},{"line_number":887,"context_line":"                                                 **attrs):"},{"line_number":888,"context_line":"        \"\"\"Creates a resource type association between a namespace"},{"line_number":889,"context_line":"            and the resource type specified in the body of the request."},{"line_number":890,"context_line":""},{"line_number":891,"context_line":"        :param dict attrs: Keyword arguments which will be used to create a"},{"line_number":892,"context_line":"            :class:`~openstack.image.v2.metadef_resource_type.MetadefResourceTypeAssociation`"},{"line_number":893,"context_line":"            comprised of the properties on the"},{"line_number":894,"context_line":"            MetadefResourceTypeAssociation class."},{"line_number":895,"context_line":""},{"line_number":896,"context_line":"        :returns: The results of metadef resource type association creation"},{"line_number":897,"context_line":"        :rtype:"},{"line_number":898,"context_line":"            :class:`~openstack.image.v2.metadef_resource_type.MetadefResourceTypeAssociation`"},{"line_number":899,"context_line":"        \"\"\""},{"line_number":900,"context_line":"        namespace_name \u003d resource.Resource._get_id(metadef_namespace)"},{"line_number":901,"context_line":"        return self._create("},{"line_number":902,"context_line":"            _metadef_resource_type.MetadefResourceTypeAssociation,"},{"line_number":903,"context_line":"            namespace_name\u003dnamespace_name,"},{"line_number":904,"context_line":"            **attrs)"},{"line_number":905,"context_line":""},{"line_number":906,"context_line":"    def delete_metadef_resource_type_association(self,"},{"line_number":907,"context_line":"                                                 metadef_resource_type,"},{"line_number":908,"context_line":"                                                 metadef_namespace,"},{"line_number":909,"context_line":"                                                 ignore_missing\u003dTrue):"},{"line_number":910,"context_line":"        \"\"\"Removes a resource type association in a namespace."},{"line_number":911,"context_line":""},{"line_number":912,"context_line":"        :param metadef_resource_type: The value can be either the name of"},{"line_number":913,"context_line":"            a metadef resource type association or an"},{"line_number":914,"context_line":"            :class:`~openstack.image.v2.metadef_resource_type.MetadefResourceTypeAssociation`"},{"line_number":915,"context_line":"            instance."},{"line_number":916,"context_line":"        :param metadef_namespace: The value can be either the name of metadef"},{"line_number":917,"context_line":"            namespace or an"},{"line_number":918,"context_line":"            :class:`~openstack.image.v2.metadef_namespace.MetadefNamespace`"},{"line_number":919,"context_line":"            instance"},{"line_number":920,"context_line":"        :param bool ignore_missing: When set to ``False``,"},{"line_number":921,"context_line":"            :class:`~openstack.exceptions.ResourceNotFound` will be raised when"},{"line_number":922,"context_line":"            the metadef resource type association does not exist."},{"line_number":923,"context_line":"        :returns: ``None``"},{"line_number":924,"context_line":"        \"\"\""},{"line_number":925,"context_line":"        namespace_name \u003d resource.Resource._get_id(metadef_namespace)"},{"line_number":926,"context_line":"        self._delete("},{"line_number":927,"context_line":"            _metadef_resource_type.MetadefResourceTypeAssociation,"},{"line_number":928,"context_line":"            metadef_resource_type,"},{"line_number":929,"context_line":"            namespace_name\u003dnamespace_name,"},{"line_number":930,"context_line":"            ignore_missing\u003dignore_missing,"},{"line_number":931,"context_line":"        )"},{"line_number":932,"context_line":""},{"line_number":933,"context_line":"    def metadef_resource_type_associations(self, metadef_namespace, **query):"},{"line_number":934,"context_line":"        \"\"\"Return a generator of metadef resource type associations"},{"line_number":935,"context_line":""},{"line_number":936,"context_line":"        :param metadef_namespace: The value can be either the name of metadef"},{"line_number":937,"context_line":"            namespace or an"},{"line_number":938,"context_line":"            :class:`~openstack.image.v2.metadef_namespace.MetadefNamespace`"},{"line_number":939,"context_line":"            instance"},{"line_number":940,"context_line":"        :return: A generator object of metadef resource type associations"},{"line_number":941,"context_line":"        :rtype:"},{"line_number":942,"context_line":"            :class:`~openstack.image.v2.metadef_resource_type.MetadefResourceTypeAssociation`"},{"line_number":943,"context_line":"        :raises: :class:`~openstack.exceptions.ResourceNotFound`"},{"line_number":944,"context_line":"                when no resource can be found."},{"line_number":945,"context_line":"        \"\"\""},{"line_number":946,"context_line":"        namespace_name \u003d resource.Resource._get_id(metadef_namespace)"},{"line_number":947,"context_line":"        return self._list("},{"line_number":948,"context_line":"            _metadef_resource_type.MetadefResourceTypeAssociation,"},{"line_number":949,"context_line":"            namespace_name\u003dnamespace_name,"},{"line_number":950,"context_line":"            **query)"},{"line_number":951,"context_line":""},{"line_number":952,"context_line":"    # \u003d\u003d\u003d\u003d\u003d\u003d SCHEMAS \u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":953,"context_line":"    def get_images_schema(self):"}],"source_content_type":"text/x-python","patch_set":33,"id":"60c7c285_04db0ce7","line":950,"range":{"start_line":884,"start_character":0,"end_line":950,"end_character":20},"updated":"2023-07-18 14:37:11.000000000","message":"Rebase mistake, I suspect? These are already defined above.","commit_id":"0c2da4a11500233aabd4a5c34f5a1bcf578b40f1"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"ea7b99c48e4b724ac59cc42dea5020f628b0205c","unresolved":false,"context_lines":[{"line_number":881,"context_line":"        \"\"\""},{"line_number":882,"context_line":"        return self._list(_metadef_resource_type.MetadefResourceType, **query)"},{"line_number":883,"context_line":""},{"line_number":884,"context_line":"    # \u003d\u003d\u003d\u003d\u003d\u003d METADEF RESOURCE TYPES ASSOCIATION\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":885,"context_line":"    def create_metadef_resource_type_association(self,"},{"line_number":886,"context_line":"                                                 metadef_namespace,"},{"line_number":887,"context_line":"                                                 **attrs):"},{"line_number":888,"context_line":"        \"\"\"Creates a resource type association between a namespace"},{"line_number":889,"context_line":"            and the resource type specified in the body of the request."},{"line_number":890,"context_line":""},{"line_number":891,"context_line":"        :param dict attrs: Keyword arguments which will be used to create a"},{"line_number":892,"context_line":"            :class:`~openstack.image.v2.metadef_resource_type.MetadefResourceTypeAssociation`"},{"line_number":893,"context_line":"            comprised of the properties on the"},{"line_number":894,"context_line":"            MetadefResourceTypeAssociation class."},{"line_number":895,"context_line":""},{"line_number":896,"context_line":"        :returns: The results of metadef resource type association creation"},{"line_number":897,"context_line":"        :rtype:"},{"line_number":898,"context_line":"            :class:`~openstack.image.v2.metadef_resource_type.MetadefResourceTypeAssociation`"},{"line_number":899,"context_line":"        \"\"\""},{"line_number":900,"context_line":"        namespace_name \u003d resource.Resource._get_id(metadef_namespace)"},{"line_number":901,"context_line":"        return self._create("},{"line_number":902,"context_line":"            _metadef_resource_type.MetadefResourceTypeAssociation,"},{"line_number":903,"context_line":"            namespace_name\u003dnamespace_name,"},{"line_number":904,"context_line":"            **attrs)"},{"line_number":905,"context_line":""},{"line_number":906,"context_line":"    def delete_metadef_resource_type_association(self,"},{"line_number":907,"context_line":"                                                 metadef_resource_type,"},{"line_number":908,"context_line":"                                                 metadef_namespace,"},{"line_number":909,"context_line":"                                                 ignore_missing\u003dTrue):"},{"line_number":910,"context_line":"        \"\"\"Removes a resource type association in a namespace."},{"line_number":911,"context_line":""},{"line_number":912,"context_line":"        :param metadef_resource_type: The value can be either the name of"},{"line_number":913,"context_line":"            a metadef resource type association or an"},{"line_number":914,"context_line":"            :class:`~openstack.image.v2.metadef_resource_type.MetadefResourceTypeAssociation`"},{"line_number":915,"context_line":"            instance."},{"line_number":916,"context_line":"        :param metadef_namespace: The value can be either the name of metadef"},{"line_number":917,"context_line":"            namespace or an"},{"line_number":918,"context_line":"            :class:`~openstack.image.v2.metadef_namespace.MetadefNamespace`"},{"line_number":919,"context_line":"            instance"},{"line_number":920,"context_line":"        :param bool ignore_missing: When set to ``False``,"},{"line_number":921,"context_line":"            :class:`~openstack.exceptions.ResourceNotFound` will be raised when"},{"line_number":922,"context_line":"            the metadef resource type association does not exist."},{"line_number":923,"context_line":"        :returns: ``None``"},{"line_number":924,"context_line":"        \"\"\""},{"line_number":925,"context_line":"        namespace_name \u003d resource.Resource._get_id(metadef_namespace)"},{"line_number":926,"context_line":"        self._delete("},{"line_number":927,"context_line":"            _metadef_resource_type.MetadefResourceTypeAssociation,"},{"line_number":928,"context_line":"            metadef_resource_type,"},{"line_number":929,"context_line":"            namespace_name\u003dnamespace_name,"},{"line_number":930,"context_line":"            ignore_missing\u003dignore_missing,"},{"line_number":931,"context_line":"        )"},{"line_number":932,"context_line":""},{"line_number":933,"context_line":"    def metadef_resource_type_associations(self, metadef_namespace, **query):"},{"line_number":934,"context_line":"        \"\"\"Return a generator of metadef resource type associations"},{"line_number":935,"context_line":""},{"line_number":936,"context_line":"        :param metadef_namespace: The value can be either the name of metadef"},{"line_number":937,"context_line":"            namespace or an"},{"line_number":938,"context_line":"            :class:`~openstack.image.v2.metadef_namespace.MetadefNamespace`"},{"line_number":939,"context_line":"            instance"},{"line_number":940,"context_line":"        :return: A generator object of metadef resource type associations"},{"line_number":941,"context_line":"        :rtype:"},{"line_number":942,"context_line":"            :class:`~openstack.image.v2.metadef_resource_type.MetadefResourceTypeAssociation`"},{"line_number":943,"context_line":"        :raises: :class:`~openstack.exceptions.ResourceNotFound`"},{"line_number":944,"context_line":"                when no resource can be found."},{"line_number":945,"context_line":"        \"\"\""},{"line_number":946,"context_line":"        namespace_name \u003d resource.Resource._get_id(metadef_namespace)"},{"line_number":947,"context_line":"        return self._list("},{"line_number":948,"context_line":"            _metadef_resource_type.MetadefResourceTypeAssociation,"},{"line_number":949,"context_line":"            namespace_name\u003dnamespace_name,"},{"line_number":950,"context_line":"            **query)"},{"line_number":951,"context_line":""},{"line_number":952,"context_line":"    # \u003d\u003d\u003d\u003d\u003d\u003d SCHEMAS \u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":953,"context_line":"    def get_images_schema(self):"}],"source_content_type":"text/x-python","patch_set":33,"id":"a66e6ab9_e9c5c66a","line":950,"range":{"start_line":884,"start_character":0,"end_line":950,"end_character":20},"in_reply_to":"60c7c285_04db0ce7","updated":"2023-07-27 09:34:38.000000000","message":"Ack","commit_id":"0c2da4a11500233aabd4a5c34f5a1bcf578b40f1"}],"openstack/image/v2/metadef_object.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"91ab18be4ca791a649b9a60927bb27385b17fda3","unresolved":true,"context_lines":[{"line_number":35,"context_line":"        \"updated_at\""},{"line_number":36,"context_line":"    )"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    namespace_name \u003d resource.URI(\u0027namespace_name\u0027)"},{"line_number":39,"context_line":"    created_at \u003d resource.Body(\u0027created_at\u0027)"},{"line_number":40,"context_line":"    name \u003d resource.Body(\u0027name\u0027)"},{"line_number":41,"context_line":"    description \u003d resource.Body(\u0027description\u0027)"}],"source_content_type":"text/x-python","patch_set":13,"id":"b692bcbf_e5a39d88","line":38,"updated":"2022-09-26 11:32:46.000000000","message":"Please make this alphabetical.","commit_id":"83b24d12f89b8588de19062f8d2b883c2490a9b7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e508ec220a58fa2a98404b856e0572d5f7b9bbf9","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        \"updated_at\""},{"line_number":36,"context_line":"    )"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    namespace_name \u003d resource.URI(\u0027namespace_name\u0027)"},{"line_number":39,"context_line":"    created_at \u003d resource.Body(\u0027created_at\u0027)"},{"line_number":40,"context_line":"    name \u003d resource.Body(\u0027name\u0027)"},{"line_number":41,"context_line":"    description \u003d resource.Body(\u0027description\u0027)"}],"source_content_type":"text/x-python","patch_set":13,"id":"3a63f34a_939d112d","line":38,"in_reply_to":"b692bcbf_e5a39d88","updated":"2022-11-21 16:34:21.000000000","message":"Done","commit_id":"83b24d12f89b8588de19062f8d2b883c2490a9b7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"91ab18be4ca791a649b9a60927bb27385b17fda3","unresolved":true,"context_lines":[{"line_number":42,"context_line":"    properties \u003d resource.Body(\u0027properties\u0027)"},{"line_number":43,"context_line":"    required \u003d resource.Body(\u0027required\u0027)"},{"line_number":44,"context_line":"    updated_at \u003d resource.Body(\u0027updated_at\u0027)"},{"line_number":45,"context_line":"    schema \u003d resource.Body(\u0027schema\u0027)"}],"source_content_type":"text/x-python","patch_set":13,"id":"092772b7_eed40eed","line":45,"updated":"2022-09-26 11:32:46.000000000","message":"We don\u0027t tend to expose this field","commit_id":"83b24d12f89b8588de19062f8d2b883c2490a9b7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e508ec220a58fa2a98404b856e0572d5f7b9bbf9","unresolved":false,"context_lines":[{"line_number":42,"context_line":"    properties \u003d resource.Body(\u0027properties\u0027)"},{"line_number":43,"context_line":"    required \u003d resource.Body(\u0027required\u0027)"},{"line_number":44,"context_line":"    updated_at \u003d resource.Body(\u0027updated_at\u0027)"},{"line_number":45,"context_line":"    schema \u003d resource.Body(\u0027schema\u0027)"}],"source_content_type":"text/x-python","patch_set":13,"id":"bc586b51_fb3cd60d","line":45,"in_reply_to":"092772b7_eed40eed","updated":"2022-11-21 16:34:21.000000000","message":"Done","commit_id":"83b24d12f89b8588de19062f8d2b883c2490a9b7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8a082e62b4928b961ff248322a6c4b8798b7dabd","unresolved":true,"context_lines":[{"line_number":34,"context_line":"    created_at \u003d resource.Body(\u0027created_at\u0027)"},{"line_number":35,"context_line":"    description \u003d resource.Body(\u0027description\u0027)"},{"line_number":36,"context_line":"    name \u003d resource.Body(\u0027name\u0027)"},{"line_number":37,"context_line":"    object_name \u003d resource.Body(\u0027name\u0027, alternate_id\u003dTrue)"},{"line_number":38,"context_line":"    namespace_name \u003d resource.URI(\u0027namespace_name\u0027)"},{"line_number":39,"context_line":"    properties \u003d resource.Body(\u0027properties\u0027)"},{"line_number":40,"context_line":"    required \u003d resource.Body(\u0027required\u0027)"}],"source_content_type":"text/x-python","patch_set":33,"id":"a50044a6_cf075ec2","line":37,"range":{"start_line":37,"start_character":33,"end_line":37,"end_character":37},"updated":"2023-07-18 14:37:11.000000000","message":"shouldn\u0027t this be `object_name`?","commit_id":"0c2da4a11500233aabd4a5c34f5a1bcf578b40f1"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"761011753213d53fd2ffa445a89db2db40850b5e","unresolved":true,"context_lines":[{"line_number":34,"context_line":"    created_at \u003d resource.Body(\u0027created_at\u0027)"},{"line_number":35,"context_line":"    description \u003d resource.Body(\u0027description\u0027)"},{"line_number":36,"context_line":"    name \u003d resource.Body(\u0027name\u0027)"},{"line_number":37,"context_line":"    object_name \u003d resource.Body(\u0027name\u0027, alternate_id\u003dTrue)"},{"line_number":38,"context_line":"    namespace_name \u003d resource.URI(\u0027namespace_name\u0027)"},{"line_number":39,"context_line":"    properties \u003d resource.Body(\u0027properties\u0027)"},{"line_number":40,"context_line":"    required \u003d resource.Body(\u0027required\u0027)"}],"source_content_type":"text/x-python","patch_set":33,"id":"221439c1_b9650b91","line":37,"range":{"start_line":37,"start_character":33,"end_line":37,"end_character":37},"in_reply_to":"98184c48_a5800ca4","updated":"2023-08-09 17:15:59.000000000","message":"Why do we have an `object_name` field so? Isn\u0027t this covered by `name`?","commit_id":"0c2da4a11500233aabd4a5c34f5a1bcf578b40f1"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"ea7b99c48e4b724ac59cc42dea5020f628b0205c","unresolved":true,"context_lines":[{"line_number":34,"context_line":"    created_at \u003d resource.Body(\u0027created_at\u0027)"},{"line_number":35,"context_line":"    description \u003d resource.Body(\u0027description\u0027)"},{"line_number":36,"context_line":"    name \u003d resource.Body(\u0027name\u0027)"},{"line_number":37,"context_line":"    object_name \u003d resource.Body(\u0027name\u0027, alternate_id\u003dTrue)"},{"line_number":38,"context_line":"    namespace_name \u003d resource.URI(\u0027namespace_name\u0027)"},{"line_number":39,"context_line":"    properties \u003d resource.Body(\u0027properties\u0027)"},{"line_number":40,"context_line":"    required \u003d resource.Body(\u0027required\u0027)"}],"source_content_type":"text/x-python","patch_set":33,"id":"98184c48_a5800ca4","line":37,"range":{"start_line":37,"start_character":33,"end_line":37,"end_character":37},"in_reply_to":"a50044a6_cf075ec2","updated":"2023-07-27 09:34:38.000000000","message":"We don\u0027t have object_name parameter in the body","commit_id":"0c2da4a11500233aabd4a5c34f5a1bcf578b40f1"}],"openstack/tests/functional/image/v2/test_metadef_object.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8a082e62b4928b961ff248322a6c4b8798b7dabd","unresolved":true,"context_lines":[{"line_number":37,"context_line":"        )"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"        self.assertIsInstance("},{"line_number":40,"context_line":"            self.metadef_object, _metadef_object.MetadefObject"},{"line_number":41,"context_line":"        )"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"        self.assertEqual(object, self.metadef_object.object_name)"}],"source_content_type":"text/x-python","patch_set":33,"id":"884ef0ef_e0c7d2ba","line":40,"updated":"2023-07-18 14:37:11.000000000","message":"nit: can you add a trailing comma?","commit_id":"0c2da4a11500233aabd4a5c34f5a1bcf578b40f1"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"ea7b99c48e4b724ac59cc42dea5020f628b0205c","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        )"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"        self.assertIsInstance("},{"line_number":40,"context_line":"            self.metadef_object, _metadef_object.MetadefObject"},{"line_number":41,"context_line":"        )"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"        self.assertEqual(object, self.metadef_object.object_name)"}],"source_content_type":"text/x-python","patch_set":33,"id":"002e1556_76a5e919","line":40,"in_reply_to":"884ef0ef_e0c7d2ba","updated":"2023-07-27 09:34:38.000000000","message":"Done","commit_id":"0c2da4a11500233aabd4a5c34f5a1bcf578b40f1"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8a082e62b4928b961ff248322a6c4b8798b7dabd","unresolved":true,"context_lines":[{"line_number":39,"context_line":"        self.assertIsInstance("},{"line_number":40,"context_line":"            self.metadef_object, _metadef_object.MetadefObject"},{"line_number":41,"context_line":"        )"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"        self.assertEqual(object, self.metadef_object.object_name)"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    def tearDown(self):"}],"source_content_type":"text/x-python","patch_set":33,"id":"fd91e29a_b69bed70","line":42,"updated":"2023-07-18 14:37:11.000000000","message":"nit: can you drop this line?","commit_id":"0c2da4a11500233aabd4a5c34f5a1bcf578b40f1"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"ea7b99c48e4b724ac59cc42dea5020f628b0205c","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        self.assertIsInstance("},{"line_number":40,"context_line":"            self.metadef_object, _metadef_object.MetadefObject"},{"line_number":41,"context_line":"        )"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"        self.assertEqual(object, self.metadef_object.object_name)"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    def tearDown(self):"}],"source_content_type":"text/x-python","patch_set":33,"id":"f75cd39f_84e5bdad","line":42,"in_reply_to":"fd91e29a_b69bed70","updated":"2023-07-27 09:34:38.000000000","message":"Done","commit_id":"0c2da4a11500233aabd4a5c34f5a1bcf578b40f1"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8a082e62b4928b961ff248322a6c4b8798b7dabd","unresolved":true,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    def tearDown(self):"},{"line_number":46,"context_line":"        self.conn.image.delete_metadef_object("},{"line_number":47,"context_line":"            self.metadef_object, self.metadef_object.namespace_name"},{"line_number":48,"context_line":"        )"},{"line_number":49,"context_line":"        self.conn.image.wait_for_delete(self.metadef_object)"},{"line_number":50,"context_line":""}],"source_content_type":"text/x-python","patch_set":33,"id":"15bee518_793136ed","line":47,"updated":"2023-07-18 14:37:11.000000000","message":"nit: can you add a trailing comma?","commit_id":"0c2da4a11500233aabd4a5c34f5a1bcf578b40f1"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"ea7b99c48e4b724ac59cc42dea5020f628b0205c","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    def tearDown(self):"},{"line_number":46,"context_line":"        self.conn.image.delete_metadef_object("},{"line_number":47,"context_line":"            self.metadef_object, self.metadef_object.namespace_name"},{"line_number":48,"context_line":"        )"},{"line_number":49,"context_line":"        self.conn.image.wait_for_delete(self.metadef_object)"},{"line_number":50,"context_line":""}],"source_content_type":"text/x-python","patch_set":33,"id":"b1224204_f2050aa3","line":47,"in_reply_to":"15bee518_793136ed","updated":"2023-07-27 09:34:38.000000000","message":"Done","commit_id":"0c2da4a11500233aabd4a5c34f5a1bcf578b40f1"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8a082e62b4928b961ff248322a6c4b8798b7dabd","unresolved":true,"context_lines":[{"line_number":56,"context_line":"    def test_metadef_objects(self):"},{"line_number":57,"context_line":"        # get"},{"line_number":58,"context_line":"        metadef_object \u003d self.conn.image.get_metadef_object("},{"line_number":59,"context_line":"            self.metadef_object.object_name, self.metadef_object.namespace_name"},{"line_number":60,"context_line":"        )"},{"line_number":61,"context_line":"        self.assertEqual("},{"line_number":62,"context_line":"            self.metadef_object.namespace_name,"}],"source_content_type":"text/x-python","patch_set":33,"id":"b432723e_e8ce1922","line":59,"updated":"2023-07-18 14:37:11.000000000","message":"nit: can you add a trailing comma?","commit_id":"0c2da4a11500233aabd4a5c34f5a1bcf578b40f1"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"ea7b99c48e4b724ac59cc42dea5020f628b0205c","unresolved":false,"context_lines":[{"line_number":56,"context_line":"    def test_metadef_objects(self):"},{"line_number":57,"context_line":"        # get"},{"line_number":58,"context_line":"        metadef_object \u003d self.conn.image.get_metadef_object("},{"line_number":59,"context_line":"            self.metadef_object.object_name, self.metadef_object.namespace_name"},{"line_number":60,"context_line":"        )"},{"line_number":61,"context_line":"        self.assertEqual("},{"line_number":62,"context_line":"            self.metadef_object.namespace_name,"}],"source_content_type":"text/x-python","patch_set":33,"id":"34cba63c_d198892e","line":59,"in_reply_to":"b432723e_e8ce1922","updated":"2023-07-27 09:34:38.000000000","message":"Done","commit_id":"0c2da4a11500233aabd4a5c34f5a1bcf578b40f1"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8a082e62b4928b961ff248322a6c4b8798b7dabd","unresolved":true,"context_lines":[{"line_number":71,"context_line":"        metadef_objects \u003d list("},{"line_number":72,"context_line":"            self.conn.image.metadef_objects(self.metadef_object.namespace_name)"},{"line_number":73,"context_line":"        )"},{"line_number":74,"context_line":"        # there are a load of default metadef namespaces so we don\u0027t assert"},{"line_number":75,"context_line":"        # that this is the *only* metadef namespace present"},{"line_number":76,"context_line":"        self.assertIn("},{"line_number":77,"context_line":"            self.metadef_object.object_name,"}],"source_content_type":"text/x-python","patch_set":33,"id":"4881e630_56069fda","line":74,"range":{"start_line":74,"start_character":46,"end_line":74,"end_character":56},"updated":"2023-07-18 14:37:11.000000000","message":"objects ?","commit_id":"0c2da4a11500233aabd4a5c34f5a1bcf578b40f1"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"ea7b99c48e4b724ac59cc42dea5020f628b0205c","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        metadef_objects \u003d list("},{"line_number":72,"context_line":"            self.conn.image.metadef_objects(self.metadef_object.namespace_name)"},{"line_number":73,"context_line":"        )"},{"line_number":74,"context_line":"        # there are a load of default metadef namespaces so we don\u0027t assert"},{"line_number":75,"context_line":"        # that this is the *only* metadef namespace present"},{"line_number":76,"context_line":"        self.assertIn("},{"line_number":77,"context_line":"            self.metadef_object.object_name,"}],"source_content_type":"text/x-python","patch_set":33,"id":"0dcb4d9d_5723a255","line":74,"range":{"start_line":74,"start_character":46,"end_line":74,"end_character":56},"in_reply_to":"4881e630_56069fda","updated":"2023-07-27 09:34:38.000000000","message":"Done","commit_id":"0c2da4a11500233aabd4a5c34f5a1bcf578b40f1"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8a082e62b4928b961ff248322a6c4b8798b7dabd","unresolved":true,"context_lines":[{"line_number":72,"context_line":"            self.conn.image.metadef_objects(self.metadef_object.namespace_name)"},{"line_number":73,"context_line":"        )"},{"line_number":74,"context_line":"        # there are a load of default metadef namespaces so we don\u0027t assert"},{"line_number":75,"context_line":"        # that this is the *only* metadef namespace present"},{"line_number":76,"context_line":"        self.assertIn("},{"line_number":77,"context_line":"            self.metadef_object.object_name,"},{"line_number":78,"context_line":"            {o.object_name for o in metadef_objects},"}],"source_content_type":"text/x-python","patch_set":33,"id":"04c2c0d4_6c2610c3","line":75,"range":{"start_line":75,"start_character":42,"end_line":75,"end_character":51},"updated":"2023-07-18 14:37:11.000000000","message":"objects ?","commit_id":"0c2da4a11500233aabd4a5c34f5a1bcf578b40f1"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"ea7b99c48e4b724ac59cc42dea5020f628b0205c","unresolved":false,"context_lines":[{"line_number":72,"context_line":"            self.conn.image.metadef_objects(self.metadef_object.namespace_name)"},{"line_number":73,"context_line":"        )"},{"line_number":74,"context_line":"        # there are a load of default metadef namespaces so we don\u0027t assert"},{"line_number":75,"context_line":"        # that this is the *only* metadef namespace present"},{"line_number":76,"context_line":"        self.assertIn("},{"line_number":77,"context_line":"            self.metadef_object.object_name,"},{"line_number":78,"context_line":"            {o.object_name for o in metadef_objects},"}],"source_content_type":"text/x-python","patch_set":33,"id":"966ad8f1_ad7960de","line":75,"range":{"start_line":75,"start_character":42,"end_line":75,"end_character":51},"in_reply_to":"04c2c0d4_6c2610c3","updated":"2023-07-27 09:34:38.000000000","message":"Done","commit_id":"0c2da4a11500233aabd4a5c34f5a1bcf578b40f1"}],"openstack/tests/unit/image/v2/test_proxy.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"91ab18be4ca791a649b9a60927bb27385b17fda3","unresolved":true,"context_lines":[{"line_number":565,"context_line":"            expected_kwargs\u003d{\u0027require_id\u0027: False})"},{"line_number":566,"context_line":""},{"line_number":567,"context_line":""},{"line_number":568,"context_line":"class TestObject(TestImageProxy):"},{"line_number":569,"context_line":"    def test_metadef_object(self):"},{"line_number":570,"context_line":"        self.verify_create("},{"line_number":571,"context_line":"            self.proxy.create_metadata_object,"}],"source_content_type":"text/x-python","patch_set":13,"id":"fb661459_ef86d253","line":568,"updated":"2022-09-26 11:32:46.000000000","message":"TestMetadefObject","commit_id":"83b24d12f89b8588de19062f8d2b883c2490a9b7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e508ec220a58fa2a98404b856e0572d5f7b9bbf9","unresolved":false,"context_lines":[{"line_number":565,"context_line":"            expected_kwargs\u003d{\u0027require_id\u0027: False})"},{"line_number":566,"context_line":""},{"line_number":567,"context_line":""},{"line_number":568,"context_line":"class TestObject(TestImageProxy):"},{"line_number":569,"context_line":"    def test_metadef_object(self):"},{"line_number":570,"context_line":"        self.verify_create("},{"line_number":571,"context_line":"            self.proxy.create_metadata_object,"}],"source_content_type":"text/x-python","patch_set":13,"id":"b71f6c91_2a3970f4","line":568,"in_reply_to":"fb661459_ef86d253","updated":"2022-11-21 16:34:21.000000000","message":"Done","commit_id":"83b24d12f89b8588de19062f8d2b883c2490a9b7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"49fa89bd70cad13f68e420dba74506a6c46aa482","unresolved":true,"context_lines":[{"line_number":535,"context_line":""},{"line_number":536,"context_line":""},{"line_number":537,"context_line":"class TestMetadefObject(TestImageProxy):"},{"line_number":538,"context_line":"    def test_metadef_object(self):"},{"line_number":539,"context_line":"        self.verify_create("},{"line_number":540,"context_line":"            self.proxy.create_metadef_object,"},{"line_number":541,"context_line":"            _metadef_object.MetadefObject,"}],"source_content_type":"text/x-python","patch_set":29,"id":"caf420c8_836b883a","line":538,"updated":"2022-11-21 16:41:10.000000000","message":"We need unit tests for the other proxy methods you added. Could you add these tests?\n\nWould it be possible to add a simple functional tests for this? It\u0027s a difference service but the functional tests I added for cinder\u0027s group type specs [1] might be helpful?\n\n[1] https://review.opendev.org/c/openstack/openstacksdk/+/847579","commit_id":"4e7a9371e60cd616bee7df1a44c6e566aae39a8b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8a082e62b4928b961ff248322a6c4b8798b7dabd","unresolved":false,"context_lines":[{"line_number":535,"context_line":""},{"line_number":536,"context_line":""},{"line_number":537,"context_line":"class TestMetadefObject(TestImageProxy):"},{"line_number":538,"context_line":"    def test_metadef_object(self):"},{"line_number":539,"context_line":"        self.verify_create("},{"line_number":540,"context_line":"            self.proxy.create_metadef_object,"},{"line_number":541,"context_line":"            _metadef_object.MetadefObject,"}],"source_content_type":"text/x-python","patch_set":29,"id":"8ccebbf4_5f8311c0","line":538,"in_reply_to":"caf420c8_836b883a","updated":"2023-07-18 14:37:11.000000000","message":"Done","commit_id":"4e7a9371e60cd616bee7df1a44c6e566aae39a8b"}]}
