)]}'
{"api-ref/source/v3/index.rst":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"3eeaf6483cdc76ec4066c0b17e5e54067f00da4e","unresolved":false,"context_lines":[{"line_number":27,"context_line":"in the OpenStack Cloud Administrator Guide."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":30,"context_line":"What\u0027s New in Version 3.9"},{"line_number":31,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"- Addition of ``tags`` attribute to project."}],"source_content_type":"text/x-rst","patch_set":24,"id":"3f4b6375_64b57131","line":30,"range":{"start_line":30,"start_character":22,"end_line":30,"end_character":25},"updated":"2017-10-19 21:02:23.000000000","message":"Did this get bumped in the implementation? If not, we\u0027ll just have to remember to bump it before queens goes out the door.","commit_id":"0579dec0b985ee42183d66b8b9265ae645f4c47d"}],"api-ref/source/v3/parameters.yaml":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"363411d3f52565403445130af032950fcbeb4570","unresolved":false,"context_lines":[{"line_number":373,"context_line":"  min_version: 3.4"},{"line_number":374,"context_line":"tag:"},{"line_number":375,"context_line":"  description: |"},{"line_number":376,"context_line":"    A simple string assigned to a project. Can be used for assigning values"},{"line_number":377,"context_line":"    to projects and filtering based on those values."},{"line_number":378,"context_line":"  in: query"},{"line_number":379,"context_line":"  required: false"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"ff346bd7_37451a44","line":376,"updated":"2017-07-26 16:15:23.000000000","message":"nit: s/assigned/associated/ ?","commit_id":"656ab4a300b07a713f414d60661740c9f103ccd2"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"363411d3f52565403445130af032950fcbeb4570","unresolved":false,"context_lines":[{"line_number":1449,"context_line":"  type: string"},{"line_number":1450,"context_line":"tags:"},{"line_number":1451,"context_line":"  description: |"},{"line_number":1452,"context_line":"    A list of simple strings assinged to a project."},{"line_number":1453,"context_line":"  in: body"},{"line_number":1454,"context_line":"  required: true"},{"line_number":1455,"context_line":"  type: array"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"ff346bd7_776842b8","line":1452,"updated":"2017-07-26 16:15:23.000000000","message":"assigned* or associated?","commit_id":"656ab4a300b07a713f414d60661740c9f103ccd2"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"ab04b5ce970e5206daf1dba406a256d8e26cd1bf","unresolved":false,"context_lines":[{"line_number":1262,"context_line":"  required: true"},{"line_number":1263,"context_line":"  type: string"},{"line_number":1264,"context_line":"  min_version: 3.4"},{"line_number":1265,"context_line":"project_tags_response_body:"},{"line_number":1266,"context_line":"  description: |"},{"line_number":1267,"context_line":"    A list of simple strings assigned to a project."},{"line_number":1268,"context_line":"  in: body"}],"source_content_type":"text/x-yaml","patch_set":19,"id":"7f515b1d_6c6701eb","line":1265,"range":{"start_line":1265,"start_character":0,"end_line":1265,"end_character":26},"updated":"2017-09-29 16:44:03.000000000","message":"We should follow the conventions we covered in the PTG sessions: \n\nhttps://etherpad.openstack.org/p/queens-ptg-keystone-doc-cleanup\n\n  response_project_tags_body_required\n\nor we could do:\n\n  response_body_project_tags_required\n\nif that reads easier?","commit_id":"c473abb71f87f4d04f55acbea1cf4db9beddb76e"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"6594bc438f55b6e9edd747e0abb232337e0988c3","unresolved":false,"context_lines":[{"line_number":1262,"context_line":"  required: true"},{"line_number":1263,"context_line":"  type: string"},{"line_number":1264,"context_line":"  min_version: 3.4"},{"line_number":1265,"context_line":"project_tags_response_body:"},{"line_number":1266,"context_line":"  description: |"},{"line_number":1267,"context_line":"    A list of simple strings assigned to a project."},{"line_number":1268,"context_line":"  in: body"}],"source_content_type":"text/x-yaml","patch_set":19,"id":"7f515b1d_55aba873","line":1265,"range":{"start_line":1265,"start_character":0,"end_line":1265,"end_character":26},"in_reply_to":"7f515b1d_6c6701eb","updated":"2017-09-29 19:29:46.000000000","message":"Done","commit_id":"c473abb71f87f4d04f55acbea1cf4db9beddb76e"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"ab04b5ce970e5206daf1dba406a256d8e26cd1bf","unresolved":false,"context_lines":[{"line_number":1453,"context_line":"  in: body"},{"line_number":1454,"context_line":"  required: true"},{"line_number":1455,"context_line":"  type: string"},{"line_number":1456,"context_line":"tags:"},{"line_number":1457,"context_line":"  description: |"},{"line_number":1458,"context_line":"    A list of simple strings associated with a project."},{"line_number":1459,"context_line":"  in: body"}],"source_content_type":"text/x-yaml","patch_set":19,"id":"7f515b1d_2c5d8914","line":1456,"range":{"start_line":1456,"start_character":0,"end_line":1456,"end_character":4},"updated":"2017-09-29 16:44:03.000000000","message":"same comment here.","commit_id":"c473abb71f87f4d04f55acbea1cf4db9beddb76e"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"6594bc438f55b6e9edd747e0abb232337e0988c3","unresolved":false,"context_lines":[{"line_number":1453,"context_line":"  in: body"},{"line_number":1454,"context_line":"  required: true"},{"line_number":1455,"context_line":"  type: string"},{"line_number":1456,"context_line":"tags:"},{"line_number":1457,"context_line":"  description: |"},{"line_number":1458,"context_line":"    A list of simple strings associated with a project."},{"line_number":1459,"context_line":"  in: body"}],"source_content_type":"text/x-yaml","patch_set":19,"id":"7f515b1d_15bbf0c4","line":1456,"range":{"start_line":1456,"start_character":0,"end_line":1456,"end_character":4},"in_reply_to":"7f515b1d_2c5d8914","updated":"2017-09-29 19:29:46.000000000","message":"Done","commit_id":"c473abb71f87f4d04f55acbea1cf4db9beddb76e"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"7709f9b6007bd85c0e5d57dc2e2bb17180454ce2","unresolved":false,"context_lines":[{"line_number":371,"context_line":"  required: false"},{"line_number":372,"context_line":"  type: key-only, no value expected"},{"line_number":373,"context_line":"  min_version: 3.4"},{"line_number":374,"context_line":"tag:"},{"line_number":375,"context_line":"  description: |"},{"line_number":376,"context_line":"    A simple string associated with a project. Can be used for assigning"},{"line_number":377,"context_line":"    values to projects and filtering based on those values."}],"source_content_type":"text/x-yaml","patch_set":21,"id":"7f515b1d_83a0f8f5","line":374,"range":{"start_line":374,"start_character":0,"end_line":374,"end_character":3},"updated":"2017-10-09 15:20:06.000000000","message":"This can follow the same naming convention as below, can\u0027t it?","commit_id":"b09f0da86b96ef3127dcb0da5d34ac23fa8db4eb"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"6b0f6c5d2d5fa0ab5835b9edfa248d4e236db083","unresolved":false,"context_lines":[{"line_number":371,"context_line":"  required: false"},{"line_number":372,"context_line":"  type: key-only, no value expected"},{"line_number":373,"context_line":"  min_version: 3.4"},{"line_number":374,"context_line":"tag:"},{"line_number":375,"context_line":"  description: |"},{"line_number":376,"context_line":"    A simple string associated with a project. Can be used for assigning"},{"line_number":377,"context_line":"    values to projects and filtering based on those values."}],"source_content_type":"text/x-yaml","patch_set":21,"id":"5f4e5783_63bfbafb","line":374,"range":{"start_line":374,"start_character":0,"end_line":374,"end_character":3},"in_reply_to":"7f515b1d_83a0f8f5","updated":"2017-10-10 23:03:21.000000000","message":"Done","commit_id":"b09f0da86b96ef3127dcb0da5d34ac23fa8db4eb"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"7709f9b6007bd85c0e5d57dc2e2bb17180454ce2","unresolved":false,"context_lines":[{"line_number":1453,"context_line":"  in: body"},{"line_number":1454,"context_line":"  required: true"},{"line_number":1455,"context_line":"  type: string"},{"line_number":1456,"context_line":"tags_body:"},{"line_number":1457,"context_line":"  description: |"},{"line_number":1458,"context_line":"    A list of simple strings associated with a project."},{"line_number":1459,"context_line":"  in: body"}],"source_content_type":"text/x-yaml","patch_set":21,"id":"7f515b1d_e35fac0c","line":1456,"range":{"start_line":1456,"start_character":0,"end_line":1456,"end_character":9},"updated":"2017-10-09 15:20:06.000000000","message":"This can follow the same naming convention as above, right?","commit_id":"b09f0da86b96ef3127dcb0da5d34ac23fa8db4eb"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"3eeaf6483cdc76ec4066c0b17e5e54067f00da4e","unresolved":false,"context_lines":[{"line_number":300,"context_line":"  in: query"},{"line_number":301,"context_line":"  required: false"},{"line_number":302,"context_line":"  type: string"},{"line_number":303,"context_line":"project_tag_query:"},{"line_number":304,"context_line":"  description: |"},{"line_number":305,"context_line":"    A simple string associated with a project. Can be used for assigning"},{"line_number":306,"context_line":"    values to projects and filtering based on those values."}],"source_content_type":"text/x-yaml","patch_set":24,"id":"3f4b6375_e40de137","line":303,"range":{"start_line":303,"start_character":0,"end_line":303,"end_character":17},"updated":"2017-10-19 21:02:23.000000000","message":"Does this one need to follow the convention we established at the PTG?","commit_id":"0579dec0b985ee42183d66b8b9265ae645f4c47d"}],"api-ref/source/v3/project-tags.inc":[{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"e6110f59e46a297124bbfad487165873d7bda8e9","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Project Tags"},{"line_number":5,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Projects within keystone can be taged with one to many simple strings."},{"line_number":8,"context_line":"Tags for projects follow the guidelines for resource tags set by the"},{"line_number":9,"context_line":"API Working Group [1]_."},{"line_number":10,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":6,"id":"7f231b9d_ea928f9f","line":7,"range":{"start_line":7,"start_character":32,"end_line":7,"end_character":37},"updated":"2017-06-19 20:06:35.000000000","message":"tagged*","commit_id":"6342fb7a5c8e0daf224c0bd4f4b215284b155177"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"dde9e942fed09d323681ee9333db9d5e0cc84f36","unresolved":false,"context_lines":[{"line_number":91,"context_line":"Request Parameters"},{"line_number":92,"context_line":"------------------"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"   - project_id: project_id"},{"line_number":95,"context_line":"   - tag: tag"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"Add single tag to a project"}],"source_content_type":"text/x-c++src","patch_set":6,"id":"7f231b9d_aa16d7f0","line":95,"range":{"start_line":94,"start_character":0,"end_line":95,"end_character":13},"updated":"2017-06-19 20:16:40.000000000","message":"missing .. rest_parameters:: directive, see rendering at [0]\n\n[0] http://docs-draft.openstack.org/96/472396/6/check/gate-keystone-api-ref/8594451//api-ref/build/html/v3/index.html?expanded\u003dlist-tags-for-a-project-detail,check-if-project-contains-tag-detail,remove-all-tags-from-a-project-detail,delete-single-tag-from-project-detail,modify-tag-list-for-a-project-detail,add-single-tag-to-a-project-detail#check-if-project-contains-tag","commit_id":"6342fb7a5c8e0daf224c0bd4f4b215284b155177"},{"author":{"_account_id":23659,"name":"Jaewoo Park","email":"jaewoopark91@gmail.com","username":"aselius"},"change_message_id":"20e80f4aa58421b2611fa3b12e5eecaf227b8588","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":".. Note::"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"    * Tags are case sensitive"},{"line_number":16,"context_line":"    * ‘/’ is not allowed to be in a tag name"},{"line_number":17,"context_line":"    * Commas are not allowed to be in a tag name in order to simplify"},{"line_number":18,"context_line":"      requests that specify lists of tags"}],"source_content_type":"text/x-c++src","patch_set":7,"id":"7f231b9d_c5eea4ec","line":15,"range":{"start_line":15,"start_character":4,"end_line":15,"end_character":6},"updated":"2017-06-19 21:02:26.000000000","message":"i think we should just use a half tab to be consistent with projects.inc for notes.","commit_id":"6b57d86a7b7ccb1b8268cfa68554106884a2abee"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"d6bd64eaf65787321b94d2df1bd745f55cf410f9","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":".. Note::"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"    * Tags are case sensitive"},{"line_number":16,"context_line":"    * ‘/’ is not allowed to be in a tag name"},{"line_number":17,"context_line":"    * Commas are not allowed to be in a tag name in order to simplify"},{"line_number":18,"context_line":"      requests that specify lists of tags"}],"source_content_type":"text/x-c++src","patch_set":7,"id":"5f201791_5b1efb70","line":15,"range":{"start_line":15,"start_character":4,"end_line":15,"end_character":6},"in_reply_to":"7f231b9d_c5eea4ec","updated":"2017-06-20 14:23:28.000000000","message":"Done","commit_id":"6b57d86a7b7ccb1b8268cfa68554106884a2abee"},{"author":{"_account_id":23659,"name":"Jaewoo Park","email":"jaewoopark91@gmail.com","username":"aselius"},"change_message_id":"20e80f4aa58421b2611fa3b12e5eecaf227b8588","unresolved":false,"context_lines":[{"line_number":139,"context_line":"Response Example"},{"line_number":140,"context_line":"----------------"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":".. literalinclude:: ./samples/admin/project-tags-list-response.json"},{"line_number":143,"context_line":"   :language: javascript"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":7,"id":"7f231b9d_25879812","line":142,"range":{"start_line":142,"start_character":49,"end_line":142,"end_character":53},"updated":"2017-06-19 21:02:26.000000000","message":"nit: it seems like list and create share the same sample json","commit_id":"6b57d86a7b7ccb1b8268cfa68554106884a2abee"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"d6bd64eaf65787321b94d2df1bd745f55cf410f9","unresolved":false,"context_lines":[{"line_number":139,"context_line":"Response Example"},{"line_number":140,"context_line":"----------------"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":".. literalinclude:: ./samples/admin/project-tags-list-response.json"},{"line_number":143,"context_line":"   :language: javascript"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":7,"id":"5f201791_9b2a538e","line":142,"range":{"start_line":142,"start_character":49,"end_line":142,"end_character":53},"in_reply_to":"7f231b9d_25879812","updated":"2017-06-20 14:23:28.000000000","message":"Done","commit_id":"6b57d86a7b7ccb1b8268cfa68554106884a2abee"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"8f849764d8021e6724488c64ac5a8c900ba8190c","unresolved":false,"context_lines":[{"line_number":16,"context_line":"   - ‘/’ is not allowed to be in a tag name"},{"line_number":17,"context_line":"   - Commas are not allowed to be in a tag name in order to simplify"},{"line_number":18,"context_line":"     requests that specify lists of tags"},{"line_number":19,"context_line":"   - Each project can have a maximum of 50 tags"},{"line_number":20,"context_line":"   - Each tag can be a maximum of 60 characters in length"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"List tags for a project"}],"source_content_type":"text/x-c++src","patch_set":17,"id":"7f287b81_e476dad8","line":20,"range":{"start_line":19,"start_character":0,"end_line":20,"end_character":57},"updated":"2017-09-05 22:45:46.000000000","message":"This needs to be updated to match the current limits","commit_id":"f05ec8cb2e92ea77602848de3afcca73f055f3c5"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"97a431830e5336d71331eaea902d3b37ac3f4c79","unresolved":false,"context_lines":[{"line_number":23,"context_line":"List tags for a project"},{"line_number":24,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":".. rest_method:: GET /v3/projects/{project_id}/tags"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Relationship: ``https://docs.openstack.org/api/openstack-identity/3/rel/projects``"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":18,"id":"7f515b1d_43b30799","line":26,"range":{"start_line":26,"start_character":17,"end_line":26,"end_character":20},"updated":"2017-09-28 20:17:30.000000000","message":"We should document HEAD here as well since it\u0027s implemented and all v3 GET APIs should also support HEAD.","commit_id":"645be37ede0ba03e30db6397afacb49d54c9abce"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"97a431830e5336d71331eaea902d3b37ac3f4c79","unresolved":false,"context_lines":[{"line_number":67,"context_line":"Check if project contains tag"},{"line_number":68,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":".. rest_method:: GET /v3/projects/{project_id}/tags/{tag}"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"Checks if a project contains the specified tag."},{"line_number":73,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":18,"id":"7f515b1d_03a98f22","line":70,"range":{"start_line":70,"start_character":17,"end_line":70,"end_character":20},"updated":"2017-09-28 20:17:30.000000000","message":"Same comment here as above.","commit_id":"645be37ede0ba03e30db6397afacb49d54c9abce"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"ab04b5ce970e5206daf1dba406a256d8e26cd1bf","unresolved":false,"context_lines":[{"line_number":13,"context_line":".. Note::"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"   - Tags are case sensitive"},{"line_number":16,"context_line":"   - ‘/’ is not allowed to be in a tag name"},{"line_number":17,"context_line":"   - Commas are not allowed to be in a tag name in order to simplify"},{"line_number":18,"context_line":"     requests that specify lists of tags"},{"line_number":19,"context_line":"   - Each project can have a maximum of 80 tags"}],"source_content_type":"text/x-c++src","patch_set":19,"id":"7f515b1d_2cb2294a","line":16,"range":{"start_line":16,"start_character":5,"end_line":16,"end_character":8},"updated":"2017-09-29 16:44:03.000000000","message":"nit: Forward slash*","commit_id":"c473abb71f87f4d04f55acbea1cf4db9beddb76e"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"abc2274d84ab116f52f0d04e5589febd6c74d12a","unresolved":false,"context_lines":[{"line_number":13,"context_line":".. Note::"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"   - Tags are case sensitive"},{"line_number":16,"context_line":"   - ‘/’ is not allowed to be in a tag name"},{"line_number":17,"context_line":"   - Commas are not allowed to be in a tag name in order to simplify"},{"line_number":18,"context_line":"     requests that specify lists of tags"},{"line_number":19,"context_line":"   - Each project can have a maximum of 80 tags"}],"source_content_type":"text/x-c++src","patch_set":19,"id":"7f515b1d_9524805f","line":16,"range":{"start_line":16,"start_character":5,"end_line":16,"end_character":8},"in_reply_to":"7f515b1d_2cb2294a","updated":"2017-09-29 19:22:07.000000000","message":"Done","commit_id":"c473abb71f87f4d04f55acbea1cf4db9beddb76e"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"ab04b5ce970e5206daf1dba406a256d8e26cd1bf","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"   - Tags are case sensitive"},{"line_number":16,"context_line":"   - ‘/’ is not allowed to be in a tag name"},{"line_number":17,"context_line":"   - Commas are not allowed to be in a tag name in order to simplify"},{"line_number":18,"context_line":"     requests that specify lists of tags"},{"line_number":19,"context_line":"   - Each project can have a maximum of 80 tags"},{"line_number":20,"context_line":"   - Each tag can be a maximum of 255 characters in length"}],"source_content_type":"text/x-c++src","patch_set":19,"id":"7f515b1d_4cb7a53b","line":17,"range":{"start_line":17,"start_character":5,"end_line":17,"end_character":11},"updated":"2017-09-29 16:44:03.000000000","message":"nit: add \u0027,\u0027 to be consistent with the above wording.","commit_id":"c473abb71f87f4d04f55acbea1cf4db9beddb76e"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"abc2274d84ab116f52f0d04e5589febd6c74d12a","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"   - Tags are case sensitive"},{"line_number":16,"context_line":"   - ‘/’ is not allowed to be in a tag name"},{"line_number":17,"context_line":"   - Commas are not allowed to be in a tag name in order to simplify"},{"line_number":18,"context_line":"     requests that specify lists of tags"},{"line_number":19,"context_line":"   - Each project can have a maximum of 80 tags"},{"line_number":20,"context_line":"   - Each tag can be a maximum of 255 characters in length"}],"source_content_type":"text/x-c++src","patch_set":19,"id":"7f515b1d_751fc407","line":17,"range":{"start_line":17,"start_character":5,"end_line":17,"end_character":11},"in_reply_to":"7f515b1d_4cb7a53b","updated":"2017-09-29 19:22:07.000000000","message":"Done","commit_id":"c473abb71f87f4d04f55acbea1cf4db9beddb76e"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"ab04b5ce970e5206daf1dba406a256d8e26cd1bf","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Response"},{"line_number":43,"context_line":"--------"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Parameters"},{"line_number":46,"context_line":"~~~~~~~~~~"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":19,"id":"7f515b1d_6cda6178","line":44,"updated":"2017-09-29 16:44:03.000000000","message":"nit: Missing an example here based on the conventions from the documentation session at the PTG?\n\nhttps://etherpad.openstack.org/p/queens-ptg-keystone-doc-cleanup","commit_id":"c473abb71f87f4d04f55acbea1cf4db9beddb76e"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"abc2274d84ab116f52f0d04e5589febd6c74d12a","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Response"},{"line_number":43,"context_line":"--------"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Parameters"},{"line_number":46,"context_line":"~~~~~~~~~~"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":19,"id":"7f515b1d_3515cce5","line":44,"in_reply_to":"7f515b1d_6cda6178","updated":"2017-09-29 19:22:07.000000000","message":"Done","commit_id":"c473abb71f87f4d04f55acbea1cf4db9beddb76e"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"ab04b5ce970e5206daf1dba406a256d8e26cd1bf","unresolved":false,"context_lines":[{"line_number":145,"context_line":"   - 404"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"Check if project contains a specific tag"},{"line_number":149,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":".. rest_method:: HEAD /v3/projects/{project_id}/tags/{tag}"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"Checks if a project contains the specified tag."},{"line_number":154,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":19,"id":"7f515b1d_8cc8fda5","line":151,"range":{"start_line":148,"start_character":0,"end_line":151,"end_character":58},"updated":"2017-09-29 16:44:03.000000000","message":"Since there isn\u0027t any difference between this section and the GET section above it (besides the title), I wonder if we can collapse them somehow?","commit_id":"c473abb71f87f4d04f55acbea1cf4db9beddb76e"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"abc2274d84ab116f52f0d04e5589febd6c74d12a","unresolved":false,"context_lines":[{"line_number":145,"context_line":"   - 404"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"Check if project contains a specific tag"},{"line_number":149,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":".. rest_method:: HEAD /v3/projects/{project_id}/tags/{tag}"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"Checks if a project contains the specified tag."},{"line_number":154,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":19,"id":"7f515b1d_15d65029","line":151,"range":{"start_line":148,"start_character":0,"end_line":151,"end_character":58},"in_reply_to":"7f515b1d_8cc8fda5","updated":"2017-09-29 19:22:07.000000000","message":"Done","commit_id":"c473abb71f87f4d04f55acbea1cf4db9beddb76e"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"ab04b5ce970e5206daf1dba406a256d8e26cd1bf","unresolved":false,"context_lines":[{"line_number":371,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":372,"context_line":""},{"line_number":373,"context_line":"Projects can be searched or filtered by tags. The following table and examples"},{"line_number":374,"context_line":"define how to search/filter by tags. Filters can also be combined for more"},{"line_number":375,"context_line":"complex searching."},{"line_number":376,"context_line":""},{"line_number":377,"context_line":".. list-table::"}],"source_content_type":"text/x-c++src","patch_set":19,"id":"7f515b1d_6c48212c","line":374,"range":{"start_line":374,"start_character":14,"end_line":374,"end_character":35},"updated":"2017-09-29 16:44:03.000000000","message":"nit: filter projects by tags.","commit_id":"c473abb71f87f4d04f55acbea1cf4db9beddb76e"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"ab04b5ce970e5206daf1dba406a256d8e26cd1bf","unresolved":false,"context_lines":[{"line_number":390,"context_line":"     - Projects that do not contain any one of the specified tags"},{"line_number":391,"context_line":""},{"line_number":392,"context_line":""},{"line_number":393,"context_line":"To request the list of projects that have a single tag, `tags` argument"},{"line_number":394,"context_line":"should be set to the desired tag name. Example will return all projects"},{"line_number":395,"context_line":"with the \"foo\" tag:"},{"line_number":396,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":19,"id":"7f515b1d_cc5835fb","line":393,"updated":"2017-09-29 16:44:03.000000000","message":"nit: the `tags` query parameter*","commit_id":"c473abb71f87f4d04f55acbea1cf4db9beddb76e"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"ab04b5ce970e5206daf1dba406a256d8e26cd1bf","unresolved":false,"context_lines":[{"line_number":421,"context_line":"To request the list of projects that do not have a list of tags, the"},{"line_number":422,"context_line":"``not-tags`` argument should be set to the list of tags, separated by commas."},{"line_number":423,"context_line":"In this situation, the tags given must all be absent for a project to be"},{"line_number":424,"context_line":"included in the query result. Example that returns the projects that"},{"line_number":425,"context_line":"do not have the “foo” nor the “bar” tag:"},{"line_number":426,"context_line":""},{"line_number":427,"context_line":".. code-block:: bash"}],"source_content_type":"text/x-c++src","patch_set":19,"id":"7f515b1d_4c01e5ae","line":424,"range":{"start_line":424,"start_character":30,"end_line":424,"end_character":50},"updated":"2017-09-29 16:44:03.000000000","message":"nit: The following example returns projects that ...\n\nThis can apply to other instances in this document, too.","commit_id":"c473abb71f87f4d04f55acbea1cf4db9beddb76e"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"7709f9b6007bd85c0e5d57dc2e2bb17180454ce2","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Projects within keystone can be tagged with one to many simple strings."},{"line_number":8,"context_line":"Tags for projects follow the guidelines for resource tags set by the"},{"line_number":9,"context_line":"API Working Group [1]_."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Tags for projects have the following restrictions:"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":21,"id":"7f515b1d_e3e20c30","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":22},"updated":"2017-10-09 15:20:06.000000000","message":"We could just make this a link, instead of a link to another sectino of the document that has the link to the API WG page.","commit_id":"b09f0da86b96ef3127dcb0da5d34ac23fa8db4eb"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"6b0f6c5d2d5fa0ab5835b9edfa248d4e236db083","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Projects within keystone can be tagged with one to many simple strings."},{"line_number":8,"context_line":"Tags for projects follow the guidelines for resource tags set by the"},{"line_number":9,"context_line":"API Working Group [1]_."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Tags for projects have the following restrictions:"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":21,"id":"5f4e5783_43bcbe04","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":22},"in_reply_to":"7f515b1d_e3e20c30","updated":"2017-10-10 23:03:21.000000000","message":"Done","commit_id":"b09f0da86b96ef3127dcb0da5d34ac23fa8db4eb"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"7709f9b6007bd85c0e5d57dc2e2bb17180454ce2","unresolved":false,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":".. rest_status_code:: success status.yaml"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"   - 204"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":".. rest_status_code:: error status.yaml"},{"line_number":91,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":21,"id":"7f515b1d_a36094a6","line":88,"updated":"2017-10-09 15:20:06.000000000","message":"Shouldn\u0027t GET and HEAD return the same status code? In this case, I\u0027m sure 204 is more correct, but we do return 200 with GET on the same path.","commit_id":"b09f0da86b96ef3127dcb0da5d34ac23fa8db4eb"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"6b0f6c5d2d5fa0ab5835b9edfa248d4e236db083","unresolved":false,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":".. rest_status_code:: success status.yaml"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"   - 204"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":".. rest_status_code:: error status.yaml"},{"line_number":91,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":21,"id":"5f4e5783_033c8691","line":88,"in_reply_to":"7f515b1d_a36094a6","updated":"2017-10-10 23:03:21.000000000","message":"Done","commit_id":"b09f0da86b96ef3127dcb0da5d34ac23fa8db4eb"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"7709f9b6007bd85c0e5d57dc2e2bb17180454ce2","unresolved":false,"context_lines":[{"line_number":102,"context_line":""},{"line_number":103,"context_line":"Checks if a project contains the specified tag."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":".. note::"},{"line_number":106,"context_line":"    HEAD can be used here as well"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"Relationship: ``https://docs.openstack.org/api/openstack-identity/3/rel/projects``"},{"line_number":109,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":21,"id":"7f515b1d_2374a467","line":106,"range":{"start_line":105,"start_character":0,"end_line":106,"end_character":33},"updated":"2017-10-09 15:20:06.000000000","message":"Above we actually pull this out into its own example, but here it\u0027s a note. Any specific reason for the difference?","commit_id":"b09f0da86b96ef3127dcb0da5d34ac23fa8db4eb"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"6b0f6c5d2d5fa0ab5835b9edfa248d4e236db083","unresolved":false,"context_lines":[{"line_number":102,"context_line":""},{"line_number":103,"context_line":"Checks if a project contains the specified tag."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":".. note::"},{"line_number":106,"context_line":"    HEAD can be used here as well"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"Relationship: ``https://docs.openstack.org/api/openstack-identity/3/rel/projects``"},{"line_number":109,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":21,"id":"5f4e5783_a34a5224","line":106,"range":{"start_line":105,"start_character":0,"end_line":106,"end_character":33},"in_reply_to":"7f515b1d_2374a467","updated":"2017-10-10 23:03:21.000000000","message":"Think I added this as an afterthought instead of an entire section and forgot to change the other one.","commit_id":"b09f0da86b96ef3127dcb0da5d34ac23fa8db4eb"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"7709f9b6007bd85c0e5d57dc2e2bb17180454ce2","unresolved":false,"context_lines":[{"line_number":145,"context_line":".. rest_parameters:: parameters.yaml"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"   - project_id: project_id"},{"line_number":148,"context_line":"   - tag: tag"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"Response Parameters"},{"line_number":151,"context_line":"-------------------"}],"source_content_type":"text/x-c++src","patch_set":21,"id":"7f515b1d_4310c000","line":148,"range":{"start_line":148,"start_character":10,"end_line":148,"end_character":13},"updated":"2017-10-09 15:20:06.000000000","message":"This is rendered as an option parameter provided in the query when it\u0027s actually in the path. This should be a required parameter of the path (we might need another tag parameter here with a better name).","commit_id":"b09f0da86b96ef3127dcb0da5d34ac23fa8db4eb"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"6b0f6c5d2d5fa0ab5835b9edfa248d4e236db083","unresolved":false,"context_lines":[{"line_number":145,"context_line":".. rest_parameters:: parameters.yaml"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"   - project_id: project_id"},{"line_number":148,"context_line":"   - tag: tag"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"Response Parameters"},{"line_number":151,"context_line":"-------------------"}],"source_content_type":"text/x-c++src","patch_set":21,"id":"5f4e5783_8347561e","line":148,"range":{"start_line":148,"start_character":10,"end_line":148,"end_character":13},"in_reply_to":"7f515b1d_4310c000","updated":"2017-10-10 23:03:21.000000000","message":"Done","commit_id":"b09f0da86b96ef3127dcb0da5d34ac23fa8db4eb"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"7709f9b6007bd85c0e5d57dc2e2bb17180454ce2","unresolved":false,"context_lines":[{"line_number":242,"context_line":".. rest_parameters:: parameters.yaml"},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"   - project_id: project_id"},{"line_number":245,"context_line":"   - tag: tag"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"Status Codes"},{"line_number":248,"context_line":"~~~~~~~~~~~~"}],"source_content_type":"text/x-c++src","patch_set":21,"id":"7f515b1d_c314b0eb","line":245,"range":{"start_line":245,"start_character":10,"end_line":245,"end_character":13},"updated":"2017-10-09 15:20:06.000000000","message":"Same comment here as above. This is being rendered as an optional query parameter, instead of a required in-path parameter.","commit_id":"b09f0da86b96ef3127dcb0da5d34ac23fa8db4eb"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"6b0f6c5d2d5fa0ab5835b9edfa248d4e236db083","unresolved":false,"context_lines":[{"line_number":242,"context_line":".. rest_parameters:: parameters.yaml"},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"   - project_id: project_id"},{"line_number":245,"context_line":"   - tag: tag"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"Status Codes"},{"line_number":248,"context_line":"~~~~~~~~~~~~"}],"source_content_type":"text/x-c++src","patch_set":21,"id":"5f4e5783_63545acb","line":245,"range":{"start_line":245,"start_character":10,"end_line":245,"end_character":13},"in_reply_to":"7f515b1d_c314b0eb","updated":"2017-10-10 23:03:21.000000000","message":"Done","commit_id":"b09f0da86b96ef3127dcb0da5d34ac23fa8db4eb"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"7709f9b6007bd85c0e5d57dc2e2bb17180454ce2","unresolved":false,"context_lines":[{"line_number":264,"context_line":""},{"line_number":265,"context_line":".. rest_method:: DELETE /v3/projects/{project_id}/tags"},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"Remove all tags from the list of a given project."},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"Relationship: ``https://docs.openstack.org/api/openstack-identity/3/rel/projects``"},{"line_number":270,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":21,"id":"7f515b1d_a3bc14dc","line":267,"range":{"start_line":267,"start_character":21,"end_line":267,"end_character":32},"updated":"2017-10-09 15:20:06.000000000","message":"s/the list of//","commit_id":"b09f0da86b96ef3127dcb0da5d34ac23fa8db4eb"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"6b0f6c5d2d5fa0ab5835b9edfa248d4e236db083","unresolved":false,"context_lines":[{"line_number":264,"context_line":""},{"line_number":265,"context_line":".. rest_method:: DELETE /v3/projects/{project_id}/tags"},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"Remove all tags from the list of a given project."},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"Relationship: ``https://docs.openstack.org/api/openstack-identity/3/rel/projects``"},{"line_number":270,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":21,"id":"5f4e5783_43515ed8","line":267,"range":{"start_line":267,"start_character":21,"end_line":267,"end_character":32},"in_reply_to":"7f515b1d_a3bc14dc","updated":"2017-10-10 23:03:21.000000000","message":"Done","commit_id":"b09f0da86b96ef3127dcb0da5d34ac23fa8db4eb"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"7709f9b6007bd85c0e5d57dc2e2bb17180454ce2","unresolved":false,"context_lines":[{"line_number":314,"context_line":"     - Projects that do not contain any one of the specified tags"},{"line_number":315,"context_line":""},{"line_number":316,"context_line":""},{"line_number":317,"context_line":"To request the list of projects that have a single tag, the `tags` query"},{"line_number":318,"context_line":"parameter should be set to the desired tag name. The following example returns"},{"line_number":319,"context_line":"projects with the \"foo\" tag:"},{"line_number":320,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":21,"id":"7f515b1d_43ac409e","line":317,"range":{"start_line":317,"start_character":61,"end_line":317,"end_character":65},"updated":"2017-10-09 15:20:06.000000000","message":"This should be wrapped in `` to be consistent with line 336.","commit_id":"b09f0da86b96ef3127dcb0da5d34ac23fa8db4eb"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"6b0f6c5d2d5fa0ab5835b9edfa248d4e236db083","unresolved":false,"context_lines":[{"line_number":314,"context_line":"     - Projects that do not contain any one of the specified tags"},{"line_number":315,"context_line":""},{"line_number":316,"context_line":""},{"line_number":317,"context_line":"To request the list of projects that have a single tag, the `tags` query"},{"line_number":318,"context_line":"parameter should be set to the desired tag name. The following example returns"},{"line_number":319,"context_line":"projects with the \"foo\" tag:"},{"line_number":320,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":21,"id":"5f4e5783_2360a2a5","line":317,"range":{"start_line":317,"start_character":61,"end_line":317,"end_character":65},"in_reply_to":"7f515b1d_43ac409e","updated":"2017-10-10 23:03:21.000000000","message":"Done","commit_id":"b09f0da86b96ef3127dcb0da5d34ac23fa8db4eb"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"7709f9b6007bd85c0e5d57dc2e2bb17180454ce2","unresolved":false,"context_lines":[{"line_number":322,"context_line":""},{"line_number":323,"context_line":"   GET /v3/projects?tags\u003dfoo"},{"line_number":324,"context_line":""},{"line_number":325,"context_line":"To request the list of projects that have two or more tags, the `tags`"},{"line_number":326,"context_line":"argument should be set to the list of tags, separated by commas. In this"},{"line_number":327,"context_line":"situation, the tags given must all be present for a project to be included"},{"line_number":328,"context_line":"in the query result. The following example returns projects that have the"}],"source_content_type":"text/x-c++src","patch_set":21,"id":"7f515b1d_c3971045","line":325,"range":{"start_line":325,"start_character":65,"end_line":325,"end_character":69},"updated":"2017-10-09 15:20:06.000000000","message":"Same comment here, I think the literal representation would be appropriate (otherwise these are just rendered in italics).","commit_id":"b09f0da86b96ef3127dcb0da5d34ac23fa8db4eb"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"6b0f6c5d2d5fa0ab5835b9edfa248d4e236db083","unresolved":false,"context_lines":[{"line_number":322,"context_line":""},{"line_number":323,"context_line":"   GET /v3/projects?tags\u003dfoo"},{"line_number":324,"context_line":""},{"line_number":325,"context_line":"To request the list of projects that have two or more tags, the `tags`"},{"line_number":326,"context_line":"argument should be set to the list of tags, separated by commas. In this"},{"line_number":327,"context_line":"situation, the tags given must all be present for a project to be included"},{"line_number":328,"context_line":"in the query result. The following example returns projects that have the"}],"source_content_type":"text/x-c++src","patch_set":21,"id":"5f4e5783_0365a6b5","line":325,"range":{"start_line":325,"start_character":65,"end_line":325,"end_character":69},"in_reply_to":"7f515b1d_c3971045","updated":"2017-10-10 23:03:21.000000000","message":"Done","commit_id":"b09f0da86b96ef3127dcb0da5d34ac23fa8db4eb"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"7709f9b6007bd85c0e5d57dc2e2bb17180454ce2","unresolved":false,"context_lines":[{"line_number":356,"context_line":"tags, the ``not-tags-any`` argument should be set to the list of tags,"},{"line_number":357,"context_line":"separated by commas. In this situation, as long as one of the given tags"},{"line_number":358,"context_line":"is absent, the project will be included in the query result. Example"},{"line_number":359,"context_line":"The following example returns projects that returns the projects that do"},{"line_number":360,"context_line":"not have the “foo” tag, or do not have the “bar” tag:"},{"line_number":361,"context_line":""},{"line_number":362,"context_line":".. code-block:: bash"}],"source_content_type":"text/x-c++src","patch_set":21,"id":"7f515b1d_03a0888f","line":359,"range":{"start_line":359,"start_character":22,"end_line":359,"end_character":44},"updated":"2017-10-09 15:20:06.000000000","message":"Remove this bit.","commit_id":"b09f0da86b96ef3127dcb0da5d34ac23fa8db4eb"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"6b0f6c5d2d5fa0ab5835b9edfa248d4e236db083","unresolved":false,"context_lines":[{"line_number":356,"context_line":"tags, the ``not-tags-any`` argument should be set to the list of tags,"},{"line_number":357,"context_line":"separated by commas. In this situation, as long as one of the given tags"},{"line_number":358,"context_line":"is absent, the project will be included in the query result. Example"},{"line_number":359,"context_line":"The following example returns projects that returns the projects that do"},{"line_number":360,"context_line":"not have the “foo” tag, or do not have the “bar” tag:"},{"line_number":361,"context_line":""},{"line_number":362,"context_line":".. code-block:: bash"}],"source_content_type":"text/x-c++src","patch_set":21,"id":"5f4e5783_e3596afe","line":359,"range":{"start_line":359,"start_character":22,"end_line":359,"end_character":44},"in_reply_to":"7f515b1d_03a0888f","updated":"2017-10-10 23:03:21.000000000","message":"Done","commit_id":"b09f0da86b96ef3127dcb0da5d34ac23fa8db4eb"}],"api-ref/source/v3/samples/admin/projects-list-response.json":[{"author":{"_account_id":23659,"name":"Jaewoo Park","email":"jaewoopark91@gmail.com","username":"aselius"},"change_message_id":"20e80f4aa58421b2611fa3b12e5eecaf227b8588","unresolved":false,"context_lines":[{"line_number":67,"context_line":"                \"self\": \"http://example.com/identity/v3/projects/43ebde53fc314b1c9ea2b8c5dc744927\""},{"line_number":68,"context_line":"            },"},{"line_number":69,"context_line":"            \"name\": \"swifttenanttest1\","},{"line_number":70,"context_line":"            \"parent_id\": null"},{"line_number":71,"context_line":"        },"},{"line_number":72,"context_line":"        {"},{"line_number":73,"context_line":"            \"is_domain\": false,"}],"source_content_type":"application/json","patch_set":7,"id":"7f231b9d_2512f80a","line":70,"range":{"start_line":70,"start_character":12,"end_line":70,"end_character":29},"updated":"2017-06-19 21:02:26.000000000","message":"tags are missing from this tenant sample","commit_id":"6b57d86a7b7ccb1b8268cfa68554106884a2abee"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"89f6d3d4e40bc538c3950ab0601fd43aaae109f3","unresolved":false,"context_lines":[{"line_number":67,"context_line":"                \"self\": \"http://example.com/identity/v3/projects/43ebde53fc314b1c9ea2b8c5dc744927\""},{"line_number":68,"context_line":"            },"},{"line_number":69,"context_line":"            \"name\": \"swifttenanttest1\","},{"line_number":70,"context_line":"            \"parent_id\": null"},{"line_number":71,"context_line":"        },"},{"line_number":72,"context_line":"        {"},{"line_number":73,"context_line":"            \"is_domain\": false,"}],"source_content_type":"application/json","patch_set":7,"id":"5f201791_fe3ff5b2","line":70,"range":{"start_line":70,"start_character":12,"end_line":70,"end_character":29},"in_reply_to":"7f231b9d_2512f80a","updated":"2017-06-20 14:25:21.000000000","message":"Done","commit_id":"6b57d86a7b7ccb1b8268cfa68554106884a2abee"}],"releasenotes/notes/project-tags-1e72a6779d9d02c5.yaml":[{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"12fd6b89b32386beda4b4414051c6d1f5b5e1e12","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    Projects have a new property called tags. These tags"},{"line_number":6,"context_line":"    are simple strings that can be used to allow projects"},{"line_number":7,"context_line":"    to be filtered/searched. Project tags will have the"},{"line_number":8,"context_line":"    following restrictions:"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"        * Tags are case sensitive"},{"line_number":11,"context_line":"        * ‘/’ is not allowed to be in a tag name"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"ff346bd7_c2e1992c","line":8,"range":{"start_line":8,"start_character":14,"end_line":8,"end_character":26},"updated":"2017-07-25 14:44:23.000000000","message":"properties","commit_id":"41fabeb2d5eb5646c9a82aeb3e988f470ef9329c"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"1c5210ab55e9340603054f3ad5ad6cd53f66b7ab","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    Projects have a new property called tags. These tags"},{"line_number":6,"context_line":"    are simple strings that can be used to allow projects"},{"line_number":7,"context_line":"    to be filtered/searched. Project tags will have the"},{"line_number":8,"context_line":"    following restrictions:"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"        * Tags are case sensitive"},{"line_number":11,"context_line":"        * ‘/’ is not allowed to be in a tag name"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"ff346bd7_6e9e56b9","line":8,"range":{"start_line":8,"start_character":14,"end_line":8,"end_character":26},"in_reply_to":"ff346bd7_c2e1992c","updated":"2017-07-25 16:07:57.000000000","message":"Done","commit_id":"41fabeb2d5eb5646c9a82aeb3e988f470ef9329c"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"12fd6b89b32386beda4b4414051c6d1f5b5e1e12","unresolved":false,"context_lines":[{"line_number":8,"context_line":"    following restrictions:"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"        * Tags are case sensitive"},{"line_number":11,"context_line":"        * ‘/’ is not allowed to be in a tag name"},{"line_number":12,"context_line":"        * Commas are not allowed to be in a tag name in order to simplify"},{"line_number":13,"context_line":"          requests that specify lists of tags"},{"line_number":14,"context_line":"        * All other characters are allowed to be in a tag"},{"line_number":15,"context_line":"        * Each project can have up to 50 tags"},{"line_number":16,"context_line":"        * Each tag can be up to 60 characters"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"ff346bd7_42cfe9af","line":13,"range":{"start_line":11,"start_character":10,"end_line":13,"end_character":45},"updated":"2017-07-25 14:44:23.000000000","message":"may put in a single sentence. just tell it\u0027s not allowed, I dont think we need to explain too much why we dont allow them (in order to simplify          requests that specify lists of tags)","commit_id":"41fabeb2d5eb5646c9a82aeb3e988f470ef9329c"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"1c5210ab55e9340603054f3ad5ad6cd53f66b7ab","unresolved":false,"context_lines":[{"line_number":8,"context_line":"    following restrictions:"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"        * Tags are case sensitive"},{"line_number":11,"context_line":"        * ‘/’ is not allowed to be in a tag name"},{"line_number":12,"context_line":"        * Commas are not allowed to be in a tag name in order to simplify"},{"line_number":13,"context_line":"          requests that specify lists of tags"},{"line_number":14,"context_line":"        * All other characters are allowed to be in a tag"},{"line_number":15,"context_line":"        * Each project can have up to 50 tags"},{"line_number":16,"context_line":"        * Each tag can be up to 60 characters"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"ff346bd7_4ea5d203","line":13,"range":{"start_line":11,"start_character":10,"end_line":13,"end_character":45},"in_reply_to":"ff346bd7_42cfe9af","updated":"2017-07-25 16:07:57.000000000","message":"Done","commit_id":"41fabeb2d5eb5646c9a82aeb3e988f470ef9329c"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"12fd6b89b32386beda4b4414051c6d1f5b5e1e12","unresolved":false,"context_lines":[{"line_number":11,"context_line":"        * ‘/’ is not allowed to be in a tag name"},{"line_number":12,"context_line":"        * Commas are not allowed to be in a tag name in order to simplify"},{"line_number":13,"context_line":"          requests that specify lists of tags"},{"line_number":14,"context_line":"        * All other characters are allowed to be in a tag"},{"line_number":15,"context_line":"        * Each project can have up to 50 tags"},{"line_number":16,"context_line":"        * Each tag can be up to 60 characters"},{"line_number":17,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":13,"id":"ff346bd7_823a7195","line":14,"updated":"2017-07-25 14:44:23.000000000","message":"can be removed","commit_id":"41fabeb2d5eb5646c9a82aeb3e988f470ef9329c"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"1c5210ab55e9340603054f3ad5ad6cd53f66b7ab","unresolved":false,"context_lines":[{"line_number":11,"context_line":"        * ‘/’ is not allowed to be in a tag name"},{"line_number":12,"context_line":"        * Commas are not allowed to be in a tag name in order to simplify"},{"line_number":13,"context_line":"          requests that specify lists of tags"},{"line_number":14,"context_line":"        * All other characters are allowed to be in a tag"},{"line_number":15,"context_line":"        * Each project can have up to 50 tags"},{"line_number":16,"context_line":"        * Each tag can be up to 60 characters"},{"line_number":17,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":13,"id":"ff346bd7_2ea84ed9","line":14,"in_reply_to":"ff346bd7_823a7195","updated":"2017-07-25 16:07:57.000000000","message":"Done","commit_id":"41fabeb2d5eb5646c9a82aeb3e988f470ef9329c"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"3ecc25915ac72bd8a88b2436aca4a36d3837d4cf","unresolved":false,"context_lines":[{"line_number":13,"context_line":"          requests that specify lists of tags"},{"line_number":14,"context_line":"        * All other characters are allowed to be in a tag"},{"line_number":15,"context_line":"        * Each project can have up to 50 tags"},{"line_number":16,"context_line":"        * Each tag can be up to 60 characters"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"    Project tags are implemented following the guidelines"},{"line_number":19,"context_line":"    set by the API Working Group."}],"source_content_type":"text/x-yaml","patch_set":13,"id":"1f1a1f67_d67d9eb2","line":16,"updated":"2017-07-17 22:47:21.000000000","message":"Most of this is documented in the API ref or spec - which is already linked, but a link to the API ref would be good.","commit_id":"41fabeb2d5eb5646c9a82aeb3e988f470ef9329c"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"12fd6b89b32386beda4b4414051c6d1f5b5e1e12","unresolved":false,"context_lines":[{"line_number":13,"context_line":"          requests that specify lists of tags"},{"line_number":14,"context_line":"        * All other characters are allowed to be in a tag"},{"line_number":15,"context_line":"        * Each project can have up to 50 tags"},{"line_number":16,"context_line":"        * Each tag can be up to 60 characters"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"    Project tags are implemented following the guidelines"},{"line_number":19,"context_line":"    set by the API Working Group."}],"source_content_type":"text/x-yaml","patch_set":13,"id":"ff346bd7_02468122","line":16,"in_reply_to":"1f1a1f67_d67d9eb2","updated":"2017-07-25 14:44:23.000000000","message":"++","commit_id":"41fabeb2d5eb5646c9a82aeb3e988f470ef9329c"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"1c5210ab55e9340603054f3ad5ad6cd53f66b7ab","unresolved":false,"context_lines":[{"line_number":13,"context_line":"          requests that specify lists of tags"},{"line_number":14,"context_line":"        * All other characters are allowed to be in a tag"},{"line_number":15,"context_line":"        * Each project can have up to 50 tags"},{"line_number":16,"context_line":"        * Each tag can be up to 60 characters"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"    Project tags are implemented following the guidelines"},{"line_number":19,"context_line":"    set by the API Working Group."}],"source_content_type":"text/x-yaml","patch_set":13,"id":"ff346bd7_0eafcae3","line":16,"in_reply_to":"ff346bd7_02468122","updated":"2017-07-25 16:07:57.000000000","message":"Done","commit_id":"41fabeb2d5eb5646c9a82aeb3e988f470ef9329c"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"3ecc25915ac72bd8a88b2436aca4a36d3837d4cf","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"    Project tags are implemented following the guidelines"},{"line_number":19,"context_line":"    set by the API Working Group."},{"line_number":20,"context_line":"    https://specs.openstack.org/openstack/api-wg/guidelines/tags.html"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"1f1a1f67_d6a8fe20","line":20,"updated":"2017-07-17 22:47:21.000000000","message":"Could make this an rst link.","commit_id":"41fabeb2d5eb5646c9a82aeb3e988f470ef9329c"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"12fd6b89b32386beda4b4414051c6d1f5b5e1e12","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"    Project tags are implemented following the guidelines"},{"line_number":19,"context_line":"    set by the API Working Group."},{"line_number":20,"context_line":"    https://specs.openstack.org/openstack/api-wg/guidelines/tags.html"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"ff346bd7_224bc52b","line":20,"in_reply_to":"1f1a1f67_d6a8fe20","updated":"2017-07-25 14:44:23.000000000","message":"++","commit_id":"41fabeb2d5eb5646c9a82aeb3e988f470ef9329c"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"1c5210ab55e9340603054f3ad5ad6cd53f66b7ab","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"    Project tags are implemented following the guidelines"},{"line_number":19,"context_line":"    set by the API Working Group."},{"line_number":20,"context_line":"    https://specs.openstack.org/openstack/api-wg/guidelines/tags.html"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"ff346bd7_eea926dd","line":20,"in_reply_to":"ff346bd7_224bc52b","updated":"2017-07-25 16:07:57.000000000","message":"Done","commit_id":"41fabeb2d5eb5646c9a82aeb3e988f470ef9329c"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"363411d3f52565403445130af032950fcbeb4570","unresolved":false,"context_lines":[{"line_number":12,"context_line":"        * Each project can have up to 50 tags"},{"line_number":13,"context_line":"        * Each tag can be up to 60 characters"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"    See https://github.com/openstack/keystone/blob/master/api-ref/source/v3/project_tags.inc"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"    Project tags are implemented following the guidelines"},{"line_number":18,"context_line":"    set by the API Working Group."}],"source_content_type":"text/x-yaml","patch_set":14,"id":"ff346bd7_9c262dce","line":15,"updated":"2017-07-26 16:15:23.000000000","message":"This could be an rst link which will get rendered automatically in the release notes.","commit_id":"656ab4a300b07a713f414d60661740c9f103ccd2"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"363411d3f52565403445130af032950fcbeb4570","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"    Project tags are implemented following the guidelines"},{"line_number":18,"context_line":"    set by the API Working Group."},{"line_number":19,"context_line":"    https://github.com/openstack/api-wg/blob/master/guidelines/tags.rst"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"ff346bd7_5c2c45ab","line":19,"updated":"2017-07-26 16:15:23.000000000","message":"Same comment here.","commit_id":"656ab4a300b07a713f414d60661740c9f103ccd2"}]}
