<div dir="ltr">Hi, Renat!<div class="gmail_extra">
</div><div><br></div><div><div style="font-family:arial,sans-serif;font-size:13px"><pre style="white-space:pre-wrap;margin-top:0px;margin-bottom:0px;padding:5px 0px"><br></pre></div><div style="font-family:arial,sans-serif;font-size:13px">
<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><b>Suggestions</b><b><br></b><b>1</b>. Define “input” and “output” at task level like this:<br>
<font face="Menlo">     createVM:<br></font><font face="Menlo">       input:<br></font><font face="Menlo">         image_id: $.image_id<br></font><font face="Menlo">       output:</font><span style="font-family:Menlo;font-size:small"> vm_id</span><font face="Menlo"><br>
</font>Where “output: vm_id” is basically a replacement for “store-as: vm_id” at action level, i.e. it’s a hint to Mistral to store the output of this task under “vm_id” key in execution context. Again, the idea is to define task and action responsibilities more strictly:<ul>
<li style="margin-left:15px"><b>Task is a high-level workflow building block which defines workflow logical step and how it modifies workflow data. Task doesn’t contain technical details on how it’s implemented.</b></li></ul>
<ul><li style="margin-left:15px"><b>Action is an implementor of the workflow logical step defined by a task. Action defines specific algorithm of how task is implemented.</b></li></ul><br><b>2</b>. User “parameters” only for actions to specify their additional properties influencing their nature (like method for HTTP actions).</blockquote>
</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">Just clarify your thoughts:<br> - All static keys and parameters should be in actions</div>
<div style="font-family:arial,sans-serif;font-size:13px"> - All dynamic keys and parameters should be in tasks block</div><div style="font-family:arial,sans-serif;font-size:13px"> - We may use our context to define some parameters in action or task</div>
<div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">And, yes, I think it is a good idea to differentiate this. It is become easier</div></div>