)]}'
{"doc/source/cli/command-objects/access-rules.rst":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"893e3620264c8104c20bccb834b00d1dc3f82f27","unresolved":false,"context_lines":[{"line_number":10,"context_line":"be viewed and deleted independently."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"access rule delete"},{"line_number":14,"context_line":"------------------"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Delete access rule(s)"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3fa7e38b_c87c0f73","line":13,"updated":"2019-12-05 14:40:30.000000000","message":"If these are specific to application credentials, maybe namespace them there? Since \"access rule\" is a pretty generic term and that might get used there, too? Or maybe even access rules concerning users and projects within keystone?","commit_id":"26c53215674eaffecbc6f1c2556950f5484fe476"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"4d67730bb232102c21a2bd8a75b24fbeac8914ba","unresolved":false,"context_lines":[{"line_number":10,"context_line":"be viewed and deleted independently."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"access rule delete"},{"line_number":14,"context_line":"------------------"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Delete access rule(s)"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3fa7e38b_c625c90b","line":13,"in_reply_to":"3fa7e38b_9525bc0c","updated":"2019-12-06 18:49:21.000000000","message":"I guess before I go changing it everywhere I\u0027d like to solicit more opinions on it. \"access rule\" doesn\u0027t currently collide with anything and I don\u0027t foresee it colliding with anything. Adding \"user\" would make it inconsistent with other resources owned by users like key pairs, credentials, and application credentials, and adding \"application credential\" makes it a pain to type out.","commit_id":"26c53215674eaffecbc6f1c2556950f5484fe476"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"6a10475084c3904850f8c2be629c733847ccfd20","unresolved":false,"context_lines":[{"line_number":10,"context_line":"be viewed and deleted independently."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"access rule delete"},{"line_number":14,"context_line":"------------------"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Delete access rule(s)"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3fa7e38b_9525bc0c","line":13,"in_reply_to":"3fa7e38b_a9a435b9","updated":"2019-12-06 12:46:34.000000000","message":"I think the latter would seem good enough, I\u0027d just want to avoid filling up the top level namespace too much.","commit_id":"26c53215674eaffecbc6f1c2556950f5484fe476"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"9e4f2bdf2dd193445ee6fb07fbb0ad6c438a0a0e","unresolved":false,"context_lines":[{"line_number":10,"context_line":"be viewed and deleted independently."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"access rule delete"},{"line_number":14,"context_line":"------------------"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Delete access rule(s)"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3fa7e38b_f8ae247e","line":13,"in_reply_to":"3fa7e38b_c625c90b","updated":"2020-01-08 20:01:18.000000000","message":"I think this is a fundamental enough construct that it\u0027s ok to do top level.","commit_id":"26c53215674eaffecbc6f1c2556950f5484fe476"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"9d9e0c9413101429210bfdf4427f75c86ec9aa10","unresolved":false,"context_lines":[{"line_number":10,"context_line":"be viewed and deleted independently."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"access rule delete"},{"line_number":14,"context_line":"------------------"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Delete access rule(s)"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3fa7e38b_a9a435b9","line":13,"in_reply_to":"3fa7e38b_c87c0f73","updated":"2019-12-05 17:12:05.000000000","message":"You want \"openstack application credential access rule delete\" ?\n\nThe access rule API that this interfaces with is /v3/users/{user_id}/access_rules, it\u0027s not namespaced under app creds. As far as I know this is the only thing in OpenStack so far called \"access rules\", we tried to pick a name that didn\u0027t conflict with other resources.\n\nAccess rules are owned by users so we could may be do \"openstack user access rule delete\"?","commit_id":"26c53215674eaffecbc6f1c2556950f5484fe476"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"8bb8acda3849faed363779fa16d183b962f4cba7","unresolved":false,"context_lines":[{"line_number":10,"context_line":"be viewed and deleted independently."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"access rule delete"},{"line_number":14,"context_line":"------------------"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Delete access rule(s)"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3fa7e38b_ab2058f9","line":13,"in_reply_to":"3fa7e38b_f8ae247e","updated":"2020-01-08 21:15:57.000000000","message":"I agree this seems like a basic enough thing to be top level.","commit_id":"26c53215674eaffecbc6f1c2556950f5484fe476"}],"doc/source/cli/command-objects/application-credentials.rst":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"893e3620264c8104c20bccb834b00d1dc3f82f27","unresolved":false,"context_lines":[{"line_number":22,"context_line":"        [--expiration \u003cexpiration\u003e]"},{"line_number":23,"context_line":"        [--description \u003cdescription\u003e]"},{"line_number":24,"context_line":"        [--restricted|--unrestricted]"},{"line_number":25,"context_line":"        [--access-rules]"},{"line_number":26,"context_line":"        \u003cname\u003e"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":".. option:: --secret \u003csecret\u003e"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3fa7e38b_e8346bae","line":25,"updated":"2019-12-05 14:40:30.000000000","message":"This would need to show that there are parameters.","commit_id":"26c53215674eaffecbc6f1c2556950f5484fe476"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"ee6c9928c81d29aa765db0ea8179f4b5902816f1","unresolved":false,"context_lines":[{"line_number":22,"context_line":"        [--expiration \u003cexpiration\u003e]"},{"line_number":23,"context_line":"        [--description \u003cdescription\u003e]"},{"line_number":24,"context_line":"        [--restricted|--unrestricted]"},{"line_number":25,"context_line":"        [--access-rules]"},{"line_number":26,"context_line":"        \u003cname\u003e"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":".. option:: --secret \u003csecret\u003e"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3fa7e38b_a9c94051","line":25,"in_reply_to":"3fa7e38b_ab4e18bf","updated":"2020-01-08 23:44:53.000000000","message":"Thanks, I forgot to address this.","commit_id":"26c53215674eaffecbc6f1c2556950f5484fe476"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"8bb8acda3849faed363779fa16d183b962f4cba7","unresolved":false,"context_lines":[{"line_number":22,"context_line":"        [--expiration \u003cexpiration\u003e]"},{"line_number":23,"context_line":"        [--description \u003cdescription\u003e]"},{"line_number":24,"context_line":"        [--restricted|--unrestricted]"},{"line_number":25,"context_line":"        [--access-rules]"},{"line_number":26,"context_line":"        \u003cname\u003e"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":".. option:: --secret \u003csecret\u003e"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3fa7e38b_ab4e18bf","line":25,"in_reply_to":"3fa7e38b_e8346bae","updated":"2020-01-08 21:15:57.000000000","message":"Agree, this makes it appear that it is a flag and not something that takes an additional argument.","commit_id":"26c53215674eaffecbc6f1c2556950f5484fe476"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"893e3620264c8104c20bccb834b00d1dc3f82f27","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":".. option:: --access-rules"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"   Either a string or file path containing a JSON-formatted list of access"},{"line_number":59,"context_line":"   rules, each containing a request method, path, and service, for example"},{"line_number":60,"context_line":"   \u0027[{\"method\": \"GET\", \"path\": \"/v2.1/servers\", \"service\": \"compute\"}]\u0027"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":".. describe:: \u003cname\u003e"},{"line_number":63,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"3fa7e38b_e8e6ab4a","line":60,"range":{"start_line":58,"start_character":3,"end_line":60,"end_character":71},"updated":"2019-12-05 14:40:30.000000000","message":"Why would you not first create the rules via a newly added command and then just reference them here?\n\nThis seems quite inconsistent with pretty much every other UI that we have. In particular I\u0027m comparing this to how security groups and -rules work.","commit_id":"26c53215674eaffecbc6f1c2556950f5484fe476"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"9d9e0c9413101429210bfdf4427f75c86ec9aa10","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":".. option:: --access-rules"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"   Either a string or file path containing a JSON-formatted list of access"},{"line_number":59,"context_line":"   rules, each containing a request method, path, and service, for example"},{"line_number":60,"context_line":"   \u0027[{\"method\": \"GET\", \"path\": \"/v2.1/servers\", \"service\": \"compute\"}]\u0027"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":".. describe:: \u003cname\u003e"},{"line_number":63,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"3fa7e38b_a992f548","line":60,"range":{"start_line":58,"start_character":3,"end_line":60,"end_character":71},"in_reply_to":"3fa7e38b_e8e6ab4a","updated":"2019-12-05 17:12:05.000000000","message":"We don\u0027t expose an API to create access rules directly. In the majority of cases we expect users to create their app creds and access rules with a single request. Allowing them to re-use old access rules was a secondary consideration.","commit_id":"26c53215674eaffecbc6f1c2556950f5484fe476"}],"openstackclient/identity/v3/application_credential.py":[{"author":{"_account_id":27621,"name":"Vishakha Agarwal","email":"agarwalvishakha18@gmail.com","username":"Vishakha"},"change_message_id":"3372c5e5c02c2c503189ee05e4b9977aabb64899","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        )"},{"line_number":84,"context_line":"        parser.add_argument("},{"line_number":85,"context_line":"            \u0027--access-rules\u0027,"},{"line_number":86,"context_line":"            metavar\u003d\u0027\u003caccess_rules\u0027,"},{"line_number":87,"context_line":"            help\u003d_(\"Either a string or file path containing a JSON-formatted \""},{"line_number":88,"context_line":"                   \"list of access rules, each containing a request method, \""},{"line_number":89,"context_line":"                   \"path, and service, for example \""}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_13b4bad0","line":86,"range":{"start_line":86,"start_character":20,"end_line":86,"end_character":36},"updated":"2019-10-24 07:10:42.000000000","message":"Missed the closing bracket.","commit_id":"c6643b773dd9b19861316fd1301d1d155cd083c1"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"8bb8acda3849faed363779fa16d183b962f4cba7","unresolved":false,"context_lines":[{"line_number":88,"context_line":"                   \"list of access rules, each containing a request method, \""},{"line_number":89,"context_line":"                   \"path, and service, for example \""},{"line_number":90,"context_line":"                   \"\u0027[{\\\"method\\\": \\\"GET\\\", \""},{"line_number":91,"context_line":"                   \"\\\"path\\\": \\\"/v2.1/servers\\\", \""},{"line_number":92,"context_line":"                   \"\\\"service\\\": \\\"compute\\\"}]\u0027\"),"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":7,"id":"3fa7e38b_eb7f30db","line":91,"range":{"start_line":91,"start_character":19,"end_line":91,"end_character":22},"updated":"2020-01-08 21:15:57.000000000","message":"Could just make outer quotes single quotes and avoid the need to escape all of these double quotes inside the string.","commit_id":"26c53215674eaffecbc6f1c2556950f5484fe476"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"ee6c9928c81d29aa765db0ea8179f4b5902816f1","unresolved":false,"context_lines":[{"line_number":88,"context_line":"                   \"list of access rules, each containing a request method, \""},{"line_number":89,"context_line":"                   \"path, and service, for example \""},{"line_number":90,"context_line":"                   \"\u0027[{\\\"method\\\": \\\"GET\\\", \""},{"line_number":91,"context_line":"                   \"\\\"path\\\": \\\"/v2.1/servers\\\", \""},{"line_number":92,"context_line":"                   \"\\\"service\\\": \\\"compute\\\"}]\u0027\"),"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":7,"id":"3fa7e38b_e9e3b8d5","line":91,"range":{"start_line":91,"start_character":19,"end_line":91,"end_character":22},"in_reply_to":"3fa7e38b_eb7f30db","updated":"2020-01-08 23:44:53.000000000","message":"Done, but now the inner single quotes also need to be escaped","commit_id":"26c53215674eaffecbc6f1c2556950f5484fe476"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"8f41aee9026c338151fe6d6062cdf36718676134","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        )"},{"line_number":84,"context_line":"        parser.add_argument("},{"line_number":85,"context_line":"            \u0027--access-rules\u0027,"},{"line_number":86,"context_line":"            metavar\u003d\u0027\u003caccess_rules\u003e\u0027,"},{"line_number":87,"context_line":"            help\u003d_(\u0027Either a string or file path containing a JSON-formatted \u0027"},{"line_number":88,"context_line":"                   \u0027list of access rules, each containing a request method, \u0027"},{"line_number":89,"context_line":"                   \u0027path, and service, for example \u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"3fa7e38b_3a158ce6","line":86,"range":{"start_line":86,"start_character":22,"end_line":86,"end_character":34},"updated":"2020-01-09 06:58:51.000000000","message":"nit: we usually use a hyphen in metavar: \u003caccess-rules\u003e","commit_id":"66fb4ec5be206bcf1bfb6d9337ff96abdee74a32"}],"releasenotes/notes/bp-whitelist-extension-for-app-creds-9afd5009b374190b.yaml":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"8bb8acda3849faed363779fa16d183b962f4cba7","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    [`blueprint whitelist-extension-for-app-creds \u003chttps://blueprints.launchpad.net/keystone/+spec/whitelist-extension-for-app-creds\u003e`_]"},{"line_number":5,"context_line":"    Adds support for creating access rules as an attribute of application"},{"line_number":6,"context_line":"    credentials as well as for listing, showing, and deleting access rules."}],"source_content_type":"text/x-yaml","patch_set":7,"id":"3fa7e38b_0b608c34","line":5,"range":{"start_line":5,"start_character":4,"end_line":5,"end_character":8},"updated":"2020-01-08 21:15:57.000000000","message":"Trivial nit, but I\u0027ve always taken the stance that these release notes are generated as a record after something has been releases, so since it is a document of what has been done (past tense), it should really started with \"Added\" instead of \"Adds\".\n\nNot a big deal, just pointing it out as a consistency thing.","commit_id":"26c53215674eaffecbc6f1c2556950f5484fe476"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"ee6c9928c81d29aa765db0ea8179f4b5902816f1","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    [`blueprint whitelist-extension-for-app-creds \u003chttps://blueprints.launchpad.net/keystone/+spec/whitelist-extension-for-app-creds\u003e`_]"},{"line_number":5,"context_line":"    Adds support for creating access rules as an attribute of application"},{"line_number":6,"context_line":"    credentials as well as for listing, showing, and deleting access rules."}],"source_content_type":"text/x-yaml","patch_set":7,"id":"3fa7e38b_89cec458","line":5,"range":{"start_line":5,"start_character":4,"end_line":5,"end_character":8},"in_reply_to":"3fa7e38b_0b608c34","updated":"2020-01-08 23:44:53.000000000","message":"Done","commit_id":"26c53215674eaffecbc6f1c2556950f5484fe476"}]}
