<div dir="ltr"><div style="font-family:arial,sans-serif;font-size:13px">Current DSL snippet: </div><div style="font-family:arial,sans-serif;font-size:13px">actions:</div><div style="font-family:arial,sans-serif;font-size:13px">
   my-action</div><div style="font-family:arial,sans-serif;font-size:13px">      parameters:</div><div style="font-family:arial,sans-serif;font-size:13px">          foo: bar</div><div style="font-family:arial,sans-serif;font-size:13px">
          response: # just agreed to change to 'results' </div><div style="font-family:arial,sans-serif;font-size:13px">              select: '$.server_id'  </div><div style="font-family:arial,sans-serif;font-size:13px">
              store_as: v1</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">'result' sounds better than 'response' and, I think, more fit to action description.</div>
<div style="font-family:arial,sans-serif;font-size:13px">And I suggest for a new word - 'output'; actually, this block describe how the output will be taken and stored.</div><div style="font-family:arial,sans-serif;font-size:13px">
<br></div><div style="font-family:arial,sans-serif;font-size:13px">However, I agree that this block should be at action-property level:</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">
<div>actions:</div><div>   my-action</div><div>      result: </div><div>         select: '$.server_id'  </div><div>         store_as: vm_id</div><div>      parameters:</div><div>         foo: bar</div><div>          </div>
</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Feb 14, 2014 at 12:36 PM, Renat Akhmerov <span dir="ltr"><<a href="mailto:rakhmerov@mirantis.com" target="_blank">rakhmerov@mirantis.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><br><div><div class=""><div>On 14 Feb 2014, at 15:02, Dmitri Zimine <<a href="mailto:dz@stackstorm.com" target="_blank">dz@stackstorm.com</a>> wrote:</div>
<div><br></div></div><blockquote type="cite"><div style="word-wrap:break-word"><div>Current DSL snippet: </div><div><div class=""><div>actions:</div><div>   my-action</div><div>      parameters:</div><div>          foo: bar</div>
</div><div>          response: # just agreed to change to 'results’ </div></div></div></blockquote><div><br></div><div>Just a note: “response” indentation here is not correct, it’s not a parameter called “response” but rather a property of “my-action”.</div>
<div class=""><br><blockquote type="cite"><div style="word-wrap:break-word"><div><div>              select: '$.server_id'  </div><div>              store_as: v1</div></div><div><br></div><div>In the code, we refer to action.result_helper</div>
<div><br></div><div>1) Note that <b>response</b> is not exactly a parameter. It doesn't doesn't refer to data. It's  (query, variable) pairs, that are used to parse the results and post data to global context [1]. The terms response, or result, do not reflect what is actually happening here. Suggestions? Save? Publish? Result Handler? </div>
</div></blockquote><div><br></div></div><div>For explicitness we can use something like “result-handler” and initially I thought about this option. But I personally love conciseness and I think name “result” would be ok for this section meaning it defines the structure of the action result. “handler” is not 100% precise too because we don’t actually handle a result here, we define the rules how to get this result.</div>
<div><br></div><div>I would appreciate to see other suggestions though.</div><div class=""><br><blockquote type="cite"><div style="word-wrap:break-word"><div>2) Whichever name we use for this output transformer, shall it be under parameters?</div>
</div></blockquote><div><br></div></div><div>No, what we have in this section is like a return value type for a regular method. Parameters define action input.</div><div class=""><br><blockquote type="cite"><div style="word-wrap:break-word">
<div><div>3) how do we call action/task parameters? Think 'model' (which reflects in yaml,  code, docs, talk, etc.)</div><div>   input and output? (+1)</div><div>   in and out? (-1)  </div><div>   request and response? (-1) good for WebServices but not generic enough</div>
<div>   parameters and results? (ok)</div></div></div></blockquote><div><br></div></div><div>Could you please clarify your questions here? Not sure I’m following...</div><div class=""><br><blockquote type="cite"><div style="word-wrap:break-word">
<div>4) Syntax simplification: can we drop 'parameters' keyword? Anything under action is action parameters, unless it's a reserved keyword, which the implementation can parse out. </div><div><br></div><div><div>
actions:</div><div>   my-action</div><div>          foo: bar</div><div><div>          task-parameters: # not a keyword, specific to REST_API</div><div>              flavor_id:</div><div>              image_id:</div></div>
<div>          publish:  # keyword</div><div>              select: '$.server_id'  </div><div>              store_as: v1</div></div></div></blockquote><br></div></div><div>It will create problems like name ambiguity in case we need to have a parameter with the same names as keywords (“task-parameters” and “publish” in your example). My preference would be to leave it explicit.</div>
<span class="HOEnZb"><font color="#888888"><div><br></div><div>Renat</div><br></font></span></div><br>_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr"><div><font>Best Regards,</font></div><div><font>Nikolay</font></div></div>
</div>