)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"62db9279845785fc948258b96bd2ea7c61222ee5","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add guidelines for naming policies"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Inconsistent polic names across OpenStack services has been a pain"},{"line_number":10,"context_line":"point for operators and users for a long time. This is an attempt at"},{"line_number":11,"context_line":"documenting a set of conventions for developers to work towards to"},{"line_number":12,"context_line":"provide a more uniform experience. These conventions first discussed"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3f79a3b5_f19e8db5","line":9,"range":{"start_line":9,"start_character":13,"end_line":9,"end_character":18},"updated":"2018-09-29 19:56:13.000000000","message":":)","commit_id":"65f13ec912bc3b6e48f7ab2c23d1d5a5c3dd3d78"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"4ffd9893dc45c60c02b409bf7ca3c08529e43dd0","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add guidelines for naming policies"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Inconsistent polic names across OpenStack services has been a pain"},{"line_number":10,"context_line":"point for operators and users for a long time. This is an attempt at"},{"line_number":11,"context_line":"documenting a set of conventions for developers to work towards to"},{"line_number":12,"context_line":"provide a more uniform experience. These conventions first discussed"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3f79a3b5_ca645e50","line":9,"range":{"start_line":9,"start_character":13,"end_line":9,"end_character":18},"in_reply_to":"3f79a3b5_f19e8db5","updated":"2018-10-08 13:44:02.000000000","message":"Done","commit_id":"65f13ec912bc3b6e48f7ab2c23d1d5a5c3dd3d78"}],"doc/source/user/usage.rst":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"62db9279845785fc948258b96bd2ea7c61222ee5","unresolved":false,"context_lines":[{"line_number":218,"context_line":"create, get, list, update, and delete. These action definitions are independent"},{"line_number":219,"context_line":"of the HTTP method used to implement their underlying API, which is"},{"line_number":220,"context_line":"intentional. This independence is important because two different services may"},{"line_number":221,"context_line":"implement the same action using two different HTTP methods. "},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"Subactions are optionally available for you to add clarity about resource"},{"line_number":224,"context_line":"actions. For example, `compute:server:resize:confirm` is an example of how you"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_71b27d4c","line":221,"updated":"2018-09-29 19:56:13.000000000","message":"Trailing space.","commit_id":"65f13ec912bc3b6e48f7ab2c23d1d5a5c3dd3d78"},{"author":{"_account_id":11589,"name":"Harry Rybacki","email":"hrybacki@redhat.com","username":"hrybacki"},"change_message_id":"bfdce4f5e64f68bd967a8b33100d9419e305f8ee","unresolved":false,"context_lines":[{"line_number":220,"context_line":"intentional. This independence is important because two different services may"},{"line_number":221,"context_line":"implement the same action using two different HTTP methods. "},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"Subactions are optionally available for you to add clarity about resource"},{"line_number":224,"context_line":"actions. For example, `compute:server:resize:confirm` is an example of how you"},{"line_number":225,"context_line":"can compound an action (resize) with a subaction (confirm) to explicitly name a"},{"line_number":226,"context_line":"policy."},{"line_number":227,"context_line":""},{"line_number":228,"context_line":"Putting it all together"},{"line_number":229,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_7e623aaf","line":226,"range":{"start_line":223,"start_character":0,"end_line":226,"end_character":7},"updated":"2018-10-01 14:06:22.000000000","message":"Do you think it is/could be the case where a service needs to indicate multiple sub-actions? If so, do we need to account for this or -- is understanding that \u003cservice\u003e:\u003cresource\u003e: \u003caction\u003e:... is always followed n sub-actions where n \u003e\u003d 0? \n\nIn other words, do we foresee any potential other groupings we\u0027ll want to account for in addition to service, resource, action/subactions?","commit_id":"65f13ec912bc3b6e48f7ab2c23d1d5a5c3dd3d78"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"4ffd9893dc45c60c02b409bf7ca3c08529e43dd0","unresolved":false,"context_lines":[{"line_number":220,"context_line":"intentional. This independence is important because two different services may"},{"line_number":221,"context_line":"implement the same action using two different HTTP methods. "},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"Subactions are optionally available for you to add clarity about resource"},{"line_number":224,"context_line":"actions. For example, `compute:server:resize:confirm` is an example of how you"},{"line_number":225,"context_line":"can compound an action (resize) with a subaction (confirm) to explicitly name a"},{"line_number":226,"context_line":"policy."},{"line_number":227,"context_line":""},{"line_number":228,"context_line":"Putting it all together"},{"line_number":229,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_6a1c2ac2","line":226,"range":{"start_line":223,"start_character":0,"end_line":226,"end_character":7},"in_reply_to":"3f79a3b5_7e623aaf","updated":"2018-10-08 13:44:02.000000000","message":"Good question. It was my intent to write this such that readers would get more detail as they read the policy name, drilling into more information after each delimiter. A counterexample to:\n\n  compute:server:resize:confirm\n\nwould be:\n\n  compute:server:resize:revert\n\nAnother reason why I like this is because it keeps each section simple by omitting - or _. I don\u0027t see any potential gaps in the syntax that wouldn\u0027t be flexible enough to handle the policies we have today, but I\u0027m willing to be corrected if someone has a case where the syntax is inadequate.","commit_id":"65f13ec912bc3b6e48f7ab2c23d1d5a5c3dd3d78"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"38c6d9e450038d975486f37749dc852d0dde740a","unresolved":false,"context_lines":[{"line_number":203,"context_line":"having readers maintain a mental mapping between service code name and service"},{"line_number":204,"context_line":"type."},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"Resources"},{"line_number":207,"context_line":"~~~~~~~~~"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"Users may interact with resources exposed by a service\u0027s API. You should"},{"line_number":210,"context_line":"include the name of a resource in the policy name, and it should be singular."}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f79a3b5_9a44221b","line":207,"range":{"start_line":206,"start_character":0,"end_line":207,"end_character":9},"updated":"2018-10-11 11:23:16.000000000","message":"you did not cover the subresource. there are few resource API have subresource (mostly for neutron APIs) but in nova also.\n\nNova subresource example- \n- \u0027/flavors/{flavor_id}/os-flavor-access\u0027 [1]\n- \u0027/flavors/{flavor_id}/os-extra_specs/\u0027 [2]\n- \u0027/servers/{server_id}/os-instance-actions/{request_id}\u0027\n\n[1] https://github.com/openstack/nova/blob/7a5d7db7fc6ccfbd97508a1e8cd353ec25cf8ca2/nova/policies/flavor_access.py#L58\n\n[2] https://github.com/openstack/nova/blob/7a5d7db7fc6ccfbd97508a1e8cd353ec25cf8ca2/nova/policies/flavor_extra_specs.py\n\nneutron examples (though they have very network specific policies like resource-subresource-attribute which we should not cover as standard but subresource should be covered i think)-  https://github.com/openstack/neutron/blob/20be9e74d6d0080b2a1a195bdc902016c43be738/etc/policy.json#L78","commit_id":"8eadfdda2e7a5038f5723aba18addbb34e2e9ac5"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"b180e4b8cfbb518e3acfd789ba5731f975de590d","unresolved":false,"context_lines":[{"line_number":203,"context_line":"having readers maintain a mental mapping between service code name and service"},{"line_number":204,"context_line":"type."},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"Resources"},{"line_number":207,"context_line":"~~~~~~~~~"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"Users may interact with resources exposed by a service\u0027s API. You should"},{"line_number":210,"context_line":"include the name of a resource in the policy name, and it should be singular."}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f79a3b5_5debda10","line":207,"range":{"start_line":206,"start_character":0,"end_line":207,"end_character":9},"in_reply_to":"3f79a3b5_9a44221b","updated":"2018-10-11 18:39:42.000000000","message":"Done","commit_id":"8eadfdda2e7a5038f5723aba18addbb34e2e9ac5"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"38c6d9e450038d975486f37749dc852d0dde740a","unresolved":false,"context_lines":[{"line_number":210,"context_line":"include the name of a resource in the policy name, and it should be singular."},{"line_number":211,"context_line":"For example, policies that protect the user API should use identity:user,"},{"line_number":212,"context_line":"instead of identity:users."},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"Actions and subactions"},{"line_number":215,"context_line":"~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":216,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f79a3b5_9f59745c","line":213,"range":{"start_line":213,"start_character":0,"end_line":213,"end_character":0},"updated":"2018-10-11 11:23:16.000000000","message":"we should explicitly say not to include the \"os-\" part if that is included in url like \u0027/os-agents\u0027. \n\nthough resource is \u0027agent\u0027 in above API which should be clear but in case people ignore \"os-\". Current policy for this API is \u0027os_compute_api:os-agents\u0027.","commit_id":"8eadfdda2e7a5038f5723aba18addbb34e2e9ac5"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"b180e4b8cfbb518e3acfd789ba5731f975de590d","unresolved":false,"context_lines":[{"line_number":210,"context_line":"include the name of a resource in the policy name, and it should be singular."},{"line_number":211,"context_line":"For example, policies that protect the user API should use identity:user,"},{"line_number":212,"context_line":"instead of identity:users."},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"Actions and subactions"},{"line_number":215,"context_line":"~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":216,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f79a3b5_fdebc60d","line":213,"range":{"start_line":213,"start_character":0,"end_line":213,"end_character":0},"in_reply_to":"3f79a3b5_9f59745c","updated":"2018-10-11 18:39:42.000000000","message":"Done","commit_id":"8eadfdda2e7a5038f5723aba18addbb34e2e9ac5"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"38c6d9e450038d975486f37749dc852d0dde740a","unresolved":false,"context_lines":[{"line_number":215,"context_line":"~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"Actions are specific things that users can do to resources. Typical actions are"},{"line_number":218,"context_line":"create, get, list, update, and delete. These action definitions are independent"},{"line_number":219,"context_line":"of the HTTP method used to implement their underlying API, which is"},{"line_number":220,"context_line":"intentional. This independence is important because two different services may"},{"line_number":221,"context_line":"implement the same action using two different HTTP methods."}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f79a3b5_7ac26688","line":218,"range":{"start_line":218,"start_character":13,"end_line":218,"end_character":17},"updated":"2018-10-11 11:23:16.000000000","message":"we do not differentiating between list and list_details, for example nova servers list and list details has 2 separate APIs\n -https://github.com/openstack/nova/blob/7a5d7db7fc6ccfbd97508a1e8cd353ec25cf8ca2/nova/policies/servers.py#L25-L42","commit_id":"8eadfdda2e7a5038f5723aba18addbb34e2e9ac5"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"614d24a085c371b0945ce6d89a21132c391ad456","unresolved":false,"context_lines":[{"line_number":215,"context_line":"~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"Actions are specific things that users can do to resources. Typical actions are"},{"line_number":218,"context_line":"create, get, list, update, and delete. These action definitions are independent"},{"line_number":219,"context_line":"of the HTTP method used to implement their underlying API, which is"},{"line_number":220,"context_line":"intentional. This independence is important because two different services may"},{"line_number":221,"context_line":"implement the same action using two different HTTP methods."}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f79a3b5_3ee4c2de","line":218,"range":{"start_line":218,"start_character":13,"end_line":218,"end_character":17},"in_reply_to":"3f79a3b5_576deac8","updated":"2018-10-12 14:13:10.000000000","message":"Done","commit_id":"8eadfdda2e7a5038f5723aba18addbb34e2e9ac5"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"b180e4b8cfbb518e3acfd789ba5731f975de590d","unresolved":false,"context_lines":[{"line_number":215,"context_line":"~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"Actions are specific things that users can do to resources. Typical actions are"},{"line_number":218,"context_line":"create, get, list, update, and delete. These action definitions are independent"},{"line_number":219,"context_line":"of the HTTP method used to implement their underlying API, which is"},{"line_number":220,"context_line":"intentional. This independence is important because two different services may"},{"line_number":221,"context_line":"implement the same action using two different HTTP methods."}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f79a3b5_ddbfeaf9","line":218,"range":{"start_line":218,"start_character":13,"end_line":218,"end_character":17},"in_reply_to":"3f79a3b5_7ac26688","updated":"2018-10-11 18:39:42.000000000","message":"Yeah - I think that is fine. It\u0027s an additive policy operation that can be kept separate from ``list``.","commit_id":"8eadfdda2e7a5038f5723aba18addbb34e2e9ac5"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"3a97bcdbe25e7cedec648d4c42d2fb97cd734013","unresolved":false,"context_lines":[{"line_number":215,"context_line":"~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"Actions are specific things that users can do to resources. Typical actions are"},{"line_number":218,"context_line":"create, get, list, update, and delete. These action definitions are independent"},{"line_number":219,"context_line":"of the HTTP method used to implement their underlying API, which is"},{"line_number":220,"context_line":"intentional. This independence is important because two different services may"},{"line_number":221,"context_line":"implement the same action using two different HTTP methods."}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f79a3b5_576deac8","line":218,"range":{"start_line":218,"start_character":13,"end_line":218,"end_character":17},"in_reply_to":"3f79a3b5_ddbfeaf9","updated":"2018-10-12 08:08:18.000000000","message":"ok. something \"....:list:details\"","commit_id":"8eadfdda2e7a5038f5723aba18addbb34e2e9ac5"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"38c6d9e450038d975486f37749dc852d0dde740a","unresolved":false,"context_lines":[{"line_number":224,"context_line":"actions. For example, `compute:server:resize:confirm` is an example of how you"},{"line_number":225,"context_line":"can compound an action (resize) with a subaction (confirm) to explicitly name a"},{"line_number":226,"context_line":"policy."},{"line_number":227,"context_line":""},{"line_number":228,"context_line":"Putting it all together"},{"line_number":229,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":230,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f79a3b5_5f88bcc1","line":227,"range":{"start_line":227,"start_character":0,"end_line":227,"end_character":0},"updated":"2018-10-11 11:23:16.000000000","message":"also can we add to have snake_case for action name ? for example: compute:server:resize_state for api \u0027/servers/{server_id}/action (os-resetState)\u0027","commit_id":"8eadfdda2e7a5038f5723aba18addbb34e2e9ac5"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"3a97bcdbe25e7cedec648d4c42d2fb97cd734013","unresolved":false,"context_lines":[{"line_number":224,"context_line":"actions. For example, `compute:server:resize:confirm` is an example of how you"},{"line_number":225,"context_line":"can compound an action (resize) with a subaction (confirm) to explicitly name a"},{"line_number":226,"context_line":"policy."},{"line_number":227,"context_line":""},{"line_number":228,"context_line":"Putting it all together"},{"line_number":229,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":230,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f79a3b5_31687eba","line":227,"range":{"start_line":227,"start_character":0,"end_line":227,"end_character":0},"in_reply_to":"3f79a3b5_5d975aec","updated":"2018-10-12 08:08:18.000000000","message":"+1, much better","commit_id":"8eadfdda2e7a5038f5723aba18addbb34e2e9ac5"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"b180e4b8cfbb518e3acfd789ba5731f975de590d","unresolved":false,"context_lines":[{"line_number":224,"context_line":"actions. For example, `compute:server:resize:confirm` is an example of how you"},{"line_number":225,"context_line":"can compound an action (resize) with a subaction (confirm) to explicitly name a"},{"line_number":226,"context_line":"policy."},{"line_number":227,"context_line":""},{"line_number":228,"context_line":"Putting it all together"},{"line_number":229,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":230,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f79a3b5_5d975aec","line":227,"range":{"start_line":227,"start_character":0,"end_line":227,"end_character":0},"in_reply_to":"3f79a3b5_5f88bcc1","updated":"2018-10-11 18:39:42.000000000","message":"+1 for documenting the separator. Although I\u0027m going to bikeshed and say that we should only have a single type of separator for open form compound words and I think it should be a hyphen, instead of an underscore.\n\nMy justification for thinking this way is because a hyphen is what\u0027s already use to separate open form words in the service types authority. We\u0027d end up with something like:\n\n  compute:server:resize-state","commit_id":"8eadfdda2e7a5038f5723aba18addbb34e2e9ac5"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"38c6d9e450038d975486f37749dc852d0dde740a","unresolved":false,"context_lines":[{"line_number":241,"context_line":"  identity:user:list"},{"line_number":242,"context_line":"  block-storage:volume:extend"},{"line_number":243,"context_line":"  compute:server:resize:confirm"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"Setting scope"},{"line_number":246,"context_line":"-------------"},{"line_number":247,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f79a3b5_3f6620be","line":244,"range":{"start_line":244,"start_character":0,"end_line":244,"end_character":0},"updated":"2018-10-11 11:23:16.000000000","message":"there are other cases also (may be specific to nova). We introduce or might have existing policy also based on resource attributes. For example this new policy proposal case - https://review.openstack.org/#/c/608474/3/nova/policies/flavors.py\n\n - flavor policy to access the public flavor. and public is attribute of flavor resource. so what should be name for that  may be  - \u003cservice-type\u003e:\u003cresource\u003e:\u003cattribute\u003e ?\n\nso in above case \"compute:flavors:public\" ?\n\nFew example of such existing policies are\n- https://github.com/openstack/nova/blob/7a5d7db7fc6ccfbd97508a1e8cd353ec25cf8ca2/nova/policies/servers.py#L116-L146","commit_id":"8eadfdda2e7a5038f5723aba18addbb34e2e9ac5"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"3a97bcdbe25e7cedec648d4c42d2fb97cd734013","unresolved":false,"context_lines":[{"line_number":241,"context_line":"  identity:user:list"},{"line_number":242,"context_line":"  block-storage:volume:extend"},{"line_number":243,"context_line":"  compute:server:resize:confirm"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"Setting scope"},{"line_number":246,"context_line":"-------------"},{"line_number":247,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f79a3b5_979ce2bf","line":244,"range":{"start_line":244,"start_character":0,"end_line":244,"end_character":0},"in_reply_to":"3f79a3b5_1d6b22f0","updated":"2018-10-12 08:08:18.000000000","message":"yeah, this looks much more readable. can we include this in standard name notation ? something like below (if there are more cases like that)\n\n\u003cservice-type\u003e:\u003cresource\u003e[:\u003csubresource\u003e]:[:\u003cattribute\u003e]:\u003caction\u003e[:\u003csubaction\u003e]","commit_id":"8eadfdda2e7a5038f5723aba18addbb34e2e9ac5"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"b180e4b8cfbb518e3acfd789ba5731f975de590d","unresolved":false,"context_lines":[{"line_number":241,"context_line":"  identity:user:list"},{"line_number":242,"context_line":"  block-storage:volume:extend"},{"line_number":243,"context_line":"  compute:server:resize:confirm"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"Setting scope"},{"line_number":246,"context_line":"-------------"},{"line_number":247,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f79a3b5_1d6b22f0","line":244,"range":{"start_line":244,"start_character":0,"end_line":244,"end_character":0},"in_reply_to":"3f79a3b5_3f6620be","updated":"2018-10-11 18:39:42.000000000","message":"Interesting... I\u0027m not sure I\u0027ve run into something like this with a policy name, yet. So - would that mean:\n\n  compute:flavor:private:list\n\n?","commit_id":"8eadfdda2e7a5038f5723aba18addbb34e2e9ac5"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"614d24a085c371b0945ce6d89a21132c391ad456","unresolved":false,"context_lines":[{"line_number":241,"context_line":"  identity:user:list"},{"line_number":242,"context_line":"  block-storage:volume:extend"},{"line_number":243,"context_line":"  compute:server:resize:confirm"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"Setting scope"},{"line_number":246,"context_line":"-------------"},{"line_number":247,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f79a3b5_1ee2269d","line":244,"range":{"start_line":244,"start_character":0,"end_line":244,"end_character":0},"in_reply_to":"3f79a3b5_979ce2bf","updated":"2018-10-12 14:13:10.000000000","message":"Done","commit_id":"8eadfdda2e7a5038f5723aba18addbb34e2e9ac5"}]}
