)]}'
{"specs/pike/approved/secure-sensitive-data.rst":[{"author":{"_account_id":9712,"name":"Dougal Matthews","email":"dougal.matthews@canonical.com","username":"dougal"},"change_message_id":"6c649f095511ef5663ca85aafb09970778f43833","unresolved":false,"context_lines":[{"line_number":70,"context_line":"      input:"},{"line_number":71,"context_line":"        arg1: \u003c% $.keyA %\u003e"},{"line_number":72,"context_line":"        ^^^^^^^^^^^^^^^^^^ how do we know that arg1 should now be secret?"},{"line_number":73,"context_line":"                           is that an issue??"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"rom mistral_lib.secret import protect"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ffe62b97_9f016809","line":73,"updated":"2017-03-28 16:31:29.000000000","message":"Good question. Perhaps the input to my_action2 would be encoded and they need to explicitly decode it to use it and thus that would make it clear?\n\n(I am not quite sure how that would work.)","commit_id":"776a31918b44d9e89c3412de1377555f4ae87c8e"},{"author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"change_message_id":"c9337a150c1febba568e9c25c8b5988dfc08a6c2","unresolved":false,"context_lines":[{"line_number":70,"context_line":"      input:"},{"line_number":71,"context_line":"        arg1: \u003c% $.keyA %\u003e"},{"line_number":72,"context_line":"        ^^^^^^^^^^^^^^^^^^ how do we know that arg1 should now be secret?"},{"line_number":73,"context_line":"                           is that an issue??"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"rom mistral_lib.secret import protect"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ffe62b97_80fc47b5","line":73,"in_reply_to":"ffe62b97_74f7cd5a","updated":"2017-03-29 09:05:33.000000000","message":"Good suggestion, however, that\u0027s ok if we just support the simple case as a start (try to make the implementation simple), and improve later if we have explicit requirement.","commit_id":"776a31918b44d9e89c3412de1377555f4ae87c8e"},{"author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"change_message_id":"ef5c764c4f80da7a8fe7ce0987eaa9fb8ae7bd44","unresolved":false,"context_lines":[{"line_number":70,"context_line":"      input:"},{"line_number":71,"context_line":"        arg1: \u003c% $.keyA %\u003e"},{"line_number":72,"context_line":"        ^^^^^^^^^^^^^^^^^^ how do we know that arg1 should now be secret?"},{"line_number":73,"context_line":"                           is that an issue??"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"rom mistral_lib.secret import protect"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ffe62b97_cadefb3c","line":73,"in_reply_to":"ffe62b97_9f016809","updated":"2017-03-29 00:29:22.000000000","message":"I think by default, arg1 is the plain string, if you want to encrypt it, just include \u0027arg1\u0027 in the secret section.","commit_id":"776a31918b44d9e89c3412de1377555f4ae87c8e"},{"author":{"_account_id":9712,"name":"Dougal Matthews","email":"dougal.matthews@canonical.com","username":"dougal"},"change_message_id":"df4ca728fb1c4cfffcc2f50e58033308fbfe5217","unresolved":false,"context_lines":[{"line_number":70,"context_line":"      input:"},{"line_number":71,"context_line":"        arg1: \u003c% $.keyA %\u003e"},{"line_number":72,"context_line":"        ^^^^^^^^^^^^^^^^^^ how do we know that arg1 should now be secret?"},{"line_number":73,"context_line":"                           is that an issue??"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"rom mistral_lib.secret import protect"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ffe62b97_74f7cd5a","line":73,"in_reply_to":"ffe62b97_b96f9329","updated":"2017-03-29 07:38:12.000000000","message":"\u003e I think by default, arg1 is the plain string, if you want to encrypt it, just include \u0027arg1\u0027 in the secret section.\n\nThat seems reasonable but I am worried that users will get confused by this.\n\nPerhaps we can also allow secret to include glob patterns? For example, then as a workflow author it would allow me to follow a simple pattern like this:\n\n    secret:\n     - secret_*\n     - *password*\n\nThen every input that starts with secret or includes password would be hidden. That might make it easier for users.","commit_id":"776a31918b44d9e89c3412de1377555f4ae87c8e"},{"author":{"_account_id":7065,"name":"Brad P. Crochet","email":"brad@redhat.com","username":"bcrochet"},"change_message_id":"ec6ce671bd01b1e1a1dccf09acfd88fe41adbe94","unresolved":false,"context_lines":[{"line_number":70,"context_line":"      input:"},{"line_number":71,"context_line":"        arg1: \u003c% $.keyA %\u003e"},{"line_number":72,"context_line":"        ^^^^^^^^^^^^^^^^^^ how do we know that arg1 should now be secret?"},{"line_number":73,"context_line":"                           is that an issue??"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"rom mistral_lib.secret import protect"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ffe62b97_bb0d3de9","line":73,"in_reply_to":"ffe62b97_cadefb3c","updated":"2017-03-29 10:22:06.000000000","message":"Marking something as secret does not mean that it is being encrypted. At least, not here. If it gets persisted to db, it will be masked, not encrypted. If it goes to a log, it will be masked. \n\nSo, should the spec include an automatic chaining of secret? So, in this case, we just automatically add arg1 to the secret list?","commit_id":"776a31918b44d9e89c3412de1377555f4ae87c8e"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"b9e72bbb152d8eee420a662cd8c163f4951a6272","unresolved":false,"context_lines":[{"line_number":70,"context_line":"      input:"},{"line_number":71,"context_line":"        arg1: \u003c% $.keyA %\u003e"},{"line_number":72,"context_line":"        ^^^^^^^^^^^^^^^^^^ how do we know that arg1 should now be secret?"},{"line_number":73,"context_line":"                           is that an issue??"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"rom mistral_lib.secret import protect"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ffe62b97_b96f9329","line":73,"in_reply_to":"ffe62b97_cadefb3c","updated":"2017-03-29 04:42:49.000000000","message":"Yes, I agree with Lingxian. In addition to that I believe it has to be a different \"secret\" section, not the one defined at workflow level. Look at line 90 of this spec. It\u0027s basically it. I just believe we should call it the same way everywhere. Another option: try to guess if we use something secret when evaluating an expression in order to inherit the property of secrecy for the action parameter. However, I think it\u0027s not practically feasible because we have to know the structure of expression etc. So seems like it\u0027d be more clear just to have this section at both workflow level and task level and make it a responsibility of a workflow developer to control the scope of secret info.","commit_id":"776a31918b44d9e89c3412de1377555f4ae87c8e"},{"author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"change_message_id":"ef5c764c4f80da7a8fe7ce0987eaa9fb8ae7bd44","unresolved":false,"context_lines":[{"line_number":73,"context_line":"                           is that an issue??"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"rom mistral_lib.secret import protect"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"@protect([\u0027password\u0027])"},{"line_number":79,"context_line":"class MyAction(Action):"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ffe62b97_aae977e6","line":76,"range":{"start_line":76,"start_character":0,"end_line":76,"end_character":3},"updated":"2017-03-29 00:29:22.000000000","message":"from","commit_id":"776a31918b44d9e89c3412de1377555f4ae87c8e"},{"author":{"_account_id":7065,"name":"Brad P. Crochet","email":"brad@redhat.com","username":"bcrochet"},"change_message_id":"ec6ce671bd01b1e1a1dccf09acfd88fe41adbe94","unresolved":false,"context_lines":[{"line_number":73,"context_line":"                           is that an issue??"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"rom mistral_lib.secret import protect"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"@protect([\u0027password\u0027])"},{"line_number":79,"context_line":"class MyAction(Action):"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ffe62b97_9b103902","line":76,"in_reply_to":"ffe62b97_aae977e6","updated":"2017-03-29 10:22:06.000000000","message":"Done","commit_id":"776a31918b44d9e89c3412de1377555f4ae87c8e"},{"author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"change_message_id":"ef5c764c4f80da7a8fe7ce0987eaa9fb8ae7bd44","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"@protect([\u0027password\u0027])"},{"line_number":79,"context_line":"class MyAction(Action):"},{"line_number":80,"context_line":"    "},{"line_number":81,"context_line":"    def init(self, password):"},{"line_number":82,"context_line":"        # do something"},{"line_number":83,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"ffe62b97_8ae4730e","line":80,"range":{"start_line":80,"start_character":0,"end_line":80,"end_character":4},"updated":"2017-03-29 00:29:22.000000000","message":"please remove this","commit_id":"776a31918b44d9e89c3412de1377555f4ae87c8e"},{"author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"change_message_id":"c9337a150c1febba568e9c25c8b5988dfc08a6c2","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"@protect([\u0027password\u0027])"},{"line_number":79,"context_line":"class MyAction(Action):"},{"line_number":80,"context_line":"    "},{"line_number":81,"context_line":"    def init(self, password):"},{"line_number":82,"context_line":"        # do something"},{"line_number":83,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"ffe62b97_c01fef05","line":80,"in_reply_to":"ffe62b97_7470ed08","updated":"2017-03-29 09:05:33.000000000","message":"hah, I saw there are whitespaces when I was reviewing, it\u0027s gone now.","commit_id":"776a31918b44d9e89c3412de1377555f4ae87c8e"},{"author":{"_account_id":7065,"name":"Brad P. Crochet","email":"brad@redhat.com","username":"bcrochet"},"change_message_id":"ec6ce671bd01b1e1a1dccf09acfd88fe41adbe94","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"@protect([\u0027password\u0027])"},{"line_number":79,"context_line":"class MyAction(Action):"},{"line_number":80,"context_line":"    "},{"line_number":81,"context_line":"    def init(self, password):"},{"line_number":82,"context_line":"        # do something"},{"line_number":83,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"ffe62b97_bb265d67","line":80,"in_reply_to":"ffe62b97_8ae4730e","updated":"2017-03-29 10:22:06.000000000","message":"Why? It probably needs an explanation, but it is part of the spec.","commit_id":"776a31918b44d9e89c3412de1377555f4ae87c8e"},{"author":{"_account_id":9712,"name":"Dougal Matthews","email":"dougal.matthews@canonical.com","username":"dougal"},"change_message_id":"df4ca728fb1c4cfffcc2f50e58033308fbfe5217","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"@protect([\u0027password\u0027])"},{"line_number":79,"context_line":"class MyAction(Action):"},{"line_number":80,"context_line":"    "},{"line_number":81,"context_line":"    def init(self, password):"},{"line_number":82,"context_line":"        # do something"},{"line_number":83,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"ffe62b97_7470ed08","line":80,"in_reply_to":"ffe62b97_8ae4730e","updated":"2017-03-29 07:38:12.000000000","message":"remove what? the blank line?","commit_id":"776a31918b44d9e89c3412de1377555f4ae87c8e"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"b9e72bbb152d8eee420a662cd8c163f4951a6272","unresolved":false,"context_lines":[{"line_number":87,"context_line":"tasks:"},{"line_number":88,"context_line":"    taskA:"},{"line_number":89,"context_line":"        action: my_action"},{"line_number":90,"context_line":"        protected:"},{"line_number":91,"context_line":"            - password"},{"line_number":92,"context_line":"        input:"},{"line_number":93,"context_line":"            password: \u003c%...%\u003e"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ffe62b97_d901376c","line":90,"range":{"start_line":90,"start_character":8,"end_line":90,"end_character":17},"updated":"2017-03-29 04:42:49.000000000","message":"I guess it\u0027s \"protected\" here because the decorator is also called \"protected\". Just a suggestion: let\u0027s use the same word everywhere, in DSL and in the code. To me \"secret\" seems to be expressing the meaning more precisely. Because \"protect\" doesn\u0027t necessarily mean \"hide\" or \"do not disclose\".","commit_id":"776a31918b44d9e89c3412de1377555f4ae87c8e"},{"author":{"_account_id":9712,"name":"Dougal Matthews","email":"dougal.matthews@canonical.com","username":"dougal"},"change_message_id":"df4ca728fb1c4cfffcc2f50e58033308fbfe5217","unresolved":false,"context_lines":[{"line_number":87,"context_line":"tasks:"},{"line_number":88,"context_line":"    taskA:"},{"line_number":89,"context_line":"        action: my_action"},{"line_number":90,"context_line":"        protected:"},{"line_number":91,"context_line":"            - password"},{"line_number":92,"context_line":"        input:"},{"line_number":93,"context_line":"            password: \u003c%...%\u003e"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ffe62b97_d48b39c0","line":90,"in_reply_to":"ffe62b97_d901376c","updated":"2017-03-29 07:38:12.000000000","message":"Agreed, we should use the same word everywhere.\n\nFWIW, Heat users \"hidden\" for their very similar feature which I also think describes it well. There would be some value in trying to be consistent","commit_id":"776a31918b44d9e89c3412de1377555f4ae87c8e"},{"author":{"_account_id":9712,"name":"Dougal Matthews","email":"dougal.matthews@canonical.com","username":"dougal"},"change_message_id":"81676cdede58e879d724182988ec592cdd0b204c","unresolved":false,"context_lines":[{"line_number":51,"context_line":"from DB."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":".. code-block: yaml"},{"line_number":55,"context_line":"  ---"},{"line_number":56,"context_line":"  version: \"2.0\""},{"line_number":57,"context_line":"  wf:"}],"source_content_type":"text/x-rst","patch_set":3,"id":"dfeb2761_9c905d45","line":54,"updated":"2017-04-05 08:34:05.000000000","message":"Good spot. This needs an extra colon and a blank line after it.\n\n.. code-block:: yaml\n\n  YAML-FROM-HERE","commit_id":"f30a3951487a0b70cb4ea740e447d9ac60e1146d"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"968a7e4eb3c797389f004287f38613a502ab7ce4","unresolved":false,"context_lines":[{"line_number":51,"context_line":"from DB."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":".. code-block: yaml"},{"line_number":55,"context_line":"  ---"},{"line_number":56,"context_line":"  version: \"2.0\""},{"line_number":57,"context_line":"  wf:"}],"source_content_type":"text/x-rst","patch_set":3,"id":"dfeb2761_324becb0","line":54,"range":{"start_line":54,"start_character":0,"end_line":54,"end_character":19},"updated":"2017-04-04 07:02:49.000000000","message":"This code block is not displayed in the rendered version for some reason. Take a look at http://docs-draft.openstack.org/53/450853/3/check/gate-mistral-specs-docs-ubuntu-xenial/343071b//doc/build/html/specs/pike/approved/secure-sensitive-data.html\n\nUse previously used just \" ::\" as a marker of a code block. It always worked well for YAML.","commit_id":"f30a3951487a0b70cb4ea740e447d9ac60e1146d"},{"author":{"_account_id":7065,"name":"Brad P. Crochet","email":"brad@redhat.com","username":"bcrochet"},"change_message_id":"392bd0207f55996cfb3c20968b35147e55d894f4","unresolved":false,"context_lines":[{"line_number":51,"context_line":"from DB."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":".. code-block: yaml"},{"line_number":55,"context_line":"  ---"},{"line_number":56,"context_line":"  version: \"2.0\""},{"line_number":57,"context_line":"  wf:"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bff0334d_82ff48a9","line":54,"in_reply_to":"dfeb2761_5ce775ad","updated":"2017-04-06 13:22:24.000000000","message":"Done","commit_id":"f30a3951487a0b70cb4ea740e447d9ac60e1146d"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"81cdaa62197e1c69c35fd2c831ef500e5314cf93","unresolved":false,"context_lines":[{"line_number":51,"context_line":"from DB."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":".. code-block: yaml"},{"line_number":55,"context_line":"  ---"},{"line_number":56,"context_line":"  version: \"2.0\""},{"line_number":57,"context_line":"  wf:"}],"source_content_type":"text/x-rst","patch_set":3,"id":"dfeb2761_5ce775ad","line":54,"in_reply_to":"dfeb2761_9c905d45","updated":"2017-04-05 08:35:25.000000000","message":"Yep, good catch.","commit_id":"f30a3951487a0b70cb4ea740e447d9ac60e1146d"},{"author":{"_account_id":9029,"name":"Moshe Elisha","email":"moshe.elisha@nokia.com","username":"MosheElisha"},"change_message_id":"97154614069a72f2ad8ea8d44f759cb2a1abafd1","unresolved":false,"context_lines":[{"line_number":57,"context_line":"  wf:"},{"line_number":58,"context_line":"    input:"},{"line_number":59,"context_line":"      - username"},{"line_number":60,"context_line":"    hidden:"},{"line_number":61,"context_line":"      - keyA"},{"line_number":62,"context_line":"      - secret_*"},{"line_number":63,"context_line":"    tasks:"}],"source_content_type":"text/x-rst","patch_set":3,"id":"dfeb2761_d1d5d544","line":60,"updated":"2017-04-04 11:25:19.000000000","message":"I am in favor of this feature but looking forward maybe we should change the structure of \"input\" section.\n\nFor example:\n\n\ninput:\n  username:\n    type: ...\n    default: ...\n    sensitive: false\n    constraints: ...\n\n\n\n\nThis can be a backward compatible change - if the \"input\" is a list it should be parsed as before.\nIf it is a map - it should be parsed in the new format.","commit_id":"f30a3951487a0b70cb4ea740e447d9ac60e1146d"},{"author":{"_account_id":7065,"name":"Brad P. Crochet","email":"brad@redhat.com","username":"bcrochet"},"change_message_id":"392bd0207f55996cfb3c20968b35147e55d894f4","unresolved":false,"context_lines":[{"line_number":57,"context_line":"  wf:"},{"line_number":58,"context_line":"    input:"},{"line_number":59,"context_line":"      - username"},{"line_number":60,"context_line":"    hidden:"},{"line_number":61,"context_line":"      - keyA"},{"line_number":62,"context_line":"      - secret_*"},{"line_number":63,"context_line":"    tasks:"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bff0334d_22b63cfc","line":60,"in_reply_to":"dfeb2761_d1d5d544","updated":"2017-04-06 13:22:24.000000000","message":"While this sounds good, it seems this would require an entirely new spec for this format.","commit_id":"f30a3951487a0b70cb4ea740e447d9ac60e1146d"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"968a7e4eb3c797389f004287f38613a502ab7ce4","unresolved":false,"context_lines":[{"line_number":59,"context_line":"      - username"},{"line_number":60,"context_line":"    hidden:"},{"line_number":61,"context_line":"      - keyA"},{"line_number":62,"context_line":"      - secret_*"},{"line_number":63,"context_line":"    tasks:"},{"line_number":64,"context_line":"      taskA:"},{"line_number":65,"context_line":"        action: my_action"}],"source_content_type":"text/x-rst","patch_set":3,"id":"dfeb2761_12646821","line":62,"range":{"start_line":62,"start_character":8,"end_line":62,"end_character":15},"updated":"2017-04-04 07:02:49.000000000","message":"I\u0027m not sure I understand this \"secret_*\". You never mention in the spec what it is. Is it like a pattern to mark a set of variables starting with \"secret_\" as hidden?","commit_id":"f30a3951487a0b70cb4ea740e447d9ac60e1146d"},{"author":{"_account_id":7065,"name":"Brad P. Crochet","email":"brad@redhat.com","username":"bcrochet"},"change_message_id":"392bd0207f55996cfb3c20968b35147e55d894f4","unresolved":false,"context_lines":[{"line_number":59,"context_line":"      - username"},{"line_number":60,"context_line":"    hidden:"},{"line_number":61,"context_line":"      - keyA"},{"line_number":62,"context_line":"      - secret_*"},{"line_number":63,"context_line":"    tasks:"},{"line_number":64,"context_line":"      taskA:"},{"line_number":65,"context_line":"        action: my_action"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bff0334d_a21b6c19","line":62,"in_reply_to":"dfeb2761_12646821","updated":"2017-04-06 13:22:24.000000000","message":"Yes. Dougal had mentioned that it would be a good feature, but you\u0027re right. It\u0027s never mentioned. I will do so.","commit_id":"f30a3951487a0b70cb4ea740e447d9ac60e1146d"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"968a7e4eb3c797389f004287f38613a502ab7ce4","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"An example for actions:"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":".. code-block: python"},{"line_number":82,"context_line":"  from mistral_lib.secret import protect"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"  @hidden([\u0027password\u0027])"}],"source_content_type":"text/x-rst","patch_set":3,"id":"dfeb2761_124d8899","line":81,"range":{"start_line":81,"start_character":0,"end_line":81,"end_character":21},"updated":"2017-04-04 07:02:49.000000000","message":"This is not rendered properly too.","commit_id":"f30a3951487a0b70cb4ea740e447d9ac60e1146d"},{"author":{"_account_id":7065,"name":"Brad P. Crochet","email":"brad@redhat.com","username":"bcrochet"},"change_message_id":"392bd0207f55996cfb3c20968b35147e55d894f4","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"An example for actions:"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":".. code-block: python"},{"line_number":82,"context_line":"  from mistral_lib.secret import protect"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"  @hidden([\u0027password\u0027])"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bff0334d_02bb38e2","line":81,"in_reply_to":"dfeb2761_124d8899","updated":"2017-04-06 13:22:24.000000000","message":"Done","commit_id":"f30a3951487a0b70cb4ea740e447d9ac60e1146d"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"968a7e4eb3c797389f004287f38613a502ab7ce4","unresolved":false,"context_lines":[{"line_number":90,"context_line":"Alternatives"},{"line_number":91,"context_line":"------------"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":".. code-block: yaml"},{"line_number":94,"context_line":"  tasks:"},{"line_number":95,"context_line":"    taskA:"},{"line_number":96,"context_line":"      action: my_action"}],"source_content_type":"text/x-rst","patch_set":3,"id":"dfeb2761_525af04e","line":93,"range":{"start_line":93,"start_character":3,"end_line":93,"end_character":19},"updated":"2017-04-04 07:02:49.000000000","message":"Neither these two.","commit_id":"f30a3951487a0b70cb4ea740e447d9ac60e1146d"},{"author":{"_account_id":7065,"name":"Brad P. Crochet","email":"brad@redhat.com","username":"bcrochet"},"change_message_id":"392bd0207f55996cfb3c20968b35147e55d894f4","unresolved":false,"context_lines":[{"line_number":90,"context_line":"Alternatives"},{"line_number":91,"context_line":"------------"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":".. code-block: yaml"},{"line_number":94,"context_line":"  tasks:"},{"line_number":95,"context_line":"    taskA:"},{"line_number":96,"context_line":"      action: my_action"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bff0334d_e2cf347d","line":93,"in_reply_to":"dfeb2761_525af04e","updated":"2017-04-06 13:22:24.000000000","message":"Done","commit_id":"f30a3951487a0b70cb4ea740e447d9ac60e1146d"},{"author":{"_account_id":8731,"name":"Renat Akhmerov","email":"renat.akhmerov@gmail.com","username":"rakhmerov"},"change_message_id":"968a7e4eb3c797389f004287f38613a502ab7ce4","unresolved":false,"context_lines":[{"line_number":91,"context_line":"------------"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":".. code-block: yaml"},{"line_number":94,"context_line":"  tasks:"},{"line_number":95,"context_line":"    taskA:"},{"line_number":96,"context_line":"      action: my_action"},{"line_number":97,"context_line":"      protected:"},{"line_number":98,"context_line":"        - password"},{"line_number":99,"context_line":"      input:"},{"line_number":100,"context_line":"        password: \u003c%...%\u003e"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":""},{"line_number":103,"context_line":".. code-block: yaml"},{"line_number":104,"context_line":"  tasks:"},{"line_number":105,"context_line":"    taskA:"},{"line_number":106,"context_line":"      action: my_action"},{"line_number":107,"context_line":"      input:"},{"line_number":108,"context_line":"        username: \u003c% ... %\u003e"},{"line_number":109,"context_line":"        password: $.secret(\u003c% ... %\u003e)"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":""},{"line_number":112,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"dfeb2761_322acc8f","line":109,"range":{"start_line":94,"start_character":1,"end_line":109,"end_character":37},"updated":"2017-04-04 07:02:49.000000000","message":"On these examples, could you please also provide some explanations? Specifically, for \"protected\" and \"$.secret()\".","commit_id":"f30a3951487a0b70cb4ea740e447d9ac60e1146d"},{"author":{"_account_id":7065,"name":"Brad P. Crochet","email":"brad@redhat.com","username":"bcrochet"},"change_message_id":"392bd0207f55996cfb3c20968b35147e55d894f4","unresolved":false,"context_lines":[{"line_number":106,"context_line":"      action: my_action"},{"line_number":107,"context_line":"      input:"},{"line_number":108,"context_line":"        username: \u003c% ... %\u003e"},{"line_number":109,"context_line":"        password: $.secret(\u003c% ... %\u003e)"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":""},{"line_number":112,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"bff0334d_42a6e0c3","line":109,"in_reply_to":"dfeb2761_322acc8f","updated":"2017-04-06 13:22:24.000000000","message":"Done","commit_id":"f30a3951487a0b70cb4ea740e447d9ac60e1146d"},{"author":{"_account_id":9712,"name":"Dougal Matthews","email":"dougal.matthews@canonical.com","username":"dougal"},"change_message_id":"2353c0aa4475f9421013b33f1733d038e070e544","unresolved":false,"context_lines":[{"line_number":153,"context_line":"Assignee(s)"},{"line_number":154,"context_line":"-----------"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"Brad P. Crochet \u003cbrad@redhat.com\u003e, IRC: thrash"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"Work Items"},{"line_number":159,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"dfeb2761_b0a6f852","line":156,"updated":"2017-04-03 10:47:51.000000000","message":"If you need/want a second, feel free to add me.","commit_id":"f30a3951487a0b70cb4ea740e447d9ac60e1146d"},{"author":{"_account_id":7065,"name":"Brad P. Crochet","email":"brad@redhat.com","username":"bcrochet"},"change_message_id":"392bd0207f55996cfb3c20968b35147e55d894f4","unresolved":false,"context_lines":[{"line_number":153,"context_line":"Assignee(s)"},{"line_number":154,"context_line":"-----------"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"Brad P. Crochet \u003cbrad@redhat.com\u003e, IRC: thrash"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"Work Items"},{"line_number":159,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bff0334d_22abdc89","line":156,"in_reply_to":"dfeb2761_b0a6f852","updated":"2017-04-06 13:22:24.000000000","message":"Done","commit_id":"f30a3951487a0b70cb4ea740e447d9ac60e1146d"},{"author":{"_account_id":7065,"name":"Brad P. Crochet","email":"brad@redhat.com","username":"bcrochet"},"change_message_id":"21b4bcc008d19ae2487e11c5f0d7f5d99fca1ced","unresolved":false,"context_lines":[{"line_number":120,"context_line":"        username: \u003c% ... %\u003e"},{"line_number":121,"context_line":"        password: $.secret(\u003c% ... %\u003e)"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"Another option would be to extend the syntax of the workflow input section:"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":".. code-block:: yaml"},{"line_number":126,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"bff0334d_1dccb9ba","line":123,"updated":"2017-04-06 13:38:48.000000000","message":"I think part of the problem with this is \"simple\" inputs become rather awkward.","commit_id":"4650ce4007fc39b23ec9dbfef003772fbd6e2007"},{"author":{"_account_id":9712,"name":"Dougal Matthews","email":"dougal.matthews@canonical.com","username":"dougal"},"change_message_id":"e6c21de1a170743eb6aabb292928f6560dd48184","unresolved":false,"context_lines":[{"line_number":120,"context_line":"        username: \u003c% ... %\u003e"},{"line_number":121,"context_line":"        password: $.secret(\u003c% ... %\u003e)"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"Another option would be to extend the syntax of the workflow input section:"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":".. code-block:: yaml"},{"line_number":126,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"bff0334d_837d0ab3","line":123,"in_reply_to":"bff0334d_1dccb9ba","updated":"2017-04-06 14:40:23.000000000","message":"Yeah, this is quite tricky. The example below is a pain if you don\u0027t want username to have a default. One option would be to combine lists and dicts - but it starts to get more complex.\n\ninput:\n    - username\n    - something: \"default\"\n    - password:\n        hidden: true\n\nI\u0027m not sure it is worth the overhead. I think this is probably something we can figure out in the implementation and shouldn\u0027t hold up the spec.","commit_id":"4650ce4007fc39b23ec9dbfef003772fbd6e2007"},{"author":{"_account_id":9712,"name":"Dougal Matthews","email":"dougal.matthews@canonical.com","username":"dougal"},"change_message_id":"e6c21de1a170743eb6aabb292928f6560dd48184","unresolved":false,"context_lines":[{"line_number":181,"context_line":"Secondary"},{"line_number":182,"context_line":"^^^^^^^^^"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"Dougal Matthews \u003cdmatthews@redhat.com\u003e, IRC: d0ugal"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"Work Items"},{"line_number":187,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"bff0334d_e34a9625","line":184,"updated":"2017-04-06 14:40:23.000000000","message":"I prefer dougal@ - but that alias works too.","commit_id":"4650ce4007fc39b23ec9dbfef003772fbd6e2007"},{"author":{"_account_id":7065,"name":"Brad P. Crochet","email":"brad@redhat.com","username":"bcrochet"},"change_message_id":"2d89858c36a635b6b010d26320c8e485d94cdb05","unresolved":false,"context_lines":[{"line_number":181,"context_line":"Secondary"},{"line_number":182,"context_line":"^^^^^^^^^"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"Dougal Matthews \u003cdmatthews@redhat.com\u003e, IRC: d0ugal"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"Work Items"},{"line_number":187,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"bff0334d_972bbd2e","line":184,"in_reply_to":"bff0334d_e34a9625","updated":"2017-04-08 11:27:13.000000000","message":"Didn\u0027t know you had that alias. :)","commit_id":"4650ce4007fc39b23ec9dbfef003772fbd6e2007"},{"author":{"_account_id":20863,"name":"Sharat Sharma","email":"sharat.sharma@in.ibm.com","username":"sharat.sharma"},"change_message_id":"3d4cd6d6d4556e2a3b79a9957ab67eb98b7297cc","unresolved":false,"context_lines":[{"line_number":88,"context_line":""},{"line_number":89,"context_line":"  @hidden([\u0027password\u0027])"},{"line_number":90,"context_line":"  class MyAction(Action):"},{"line_number":91,"context_line":"      "},{"line_number":92,"context_line":"      def init(self, password):"},{"line_number":93,"context_line":"          # do something"},{"line_number":94,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"bff0334d_078cea7c","line":91,"range":{"start_line":91,"start_character":0,"end_line":91,"end_character":6},"updated":"2017-04-11 05:36:50.000000000","message":"These are unnecessary blanks","commit_id":"67ca3a3db525be029a2a859983fd1943fcc3b9ff"},{"author":{"_account_id":7065,"name":"Brad P. Crochet","email":"brad@redhat.com","username":"bcrochet"},"change_message_id":"a6a8fed63028643693555dd6aae1100bf6b2a789","unresolved":false,"context_lines":[{"line_number":88,"context_line":""},{"line_number":89,"context_line":"  @hidden([\u0027password\u0027])"},{"line_number":90,"context_line":"  class MyAction(Action):"},{"line_number":91,"context_line":"      "},{"line_number":92,"context_line":"      def init(self, password):"},{"line_number":93,"context_line":"          # do something"},{"line_number":94,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"9ff52f3f_2463fc1c","line":91,"in_reply_to":"bff0334d_078cea7c","updated":"2017-04-13 19:13:15.000000000","message":"If I do another revision, I\u0027ll fix. Don\u0027t want to lose multiple +2\u0027s. :)","commit_id":"67ca3a3db525be029a2a859983fd1943fcc3b9ff"}]}
