<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br><div><div>On 14 Feb 2014, at 15:02, Dmitri Zimine <<a href="mailto:dz@stackstorm.com">dz@stackstorm.com</a>> wrote:</div><div><br></div><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Current DSL snippet: </div><div><div>actions:</div><div>   my-action</div><div>      parameters:</div><div>          foo: bar</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><br><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><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>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><br><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>2) Whichever name we use for this output transformer, shall it be under parameters?</div></div></blockquote><div><br></div><div>No, what we have in this section is like a return value type for a regular method. Parameters define action input.</div><br><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><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>Could you please clarify your questions here? Not sure I’m following...</div><br><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><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>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><div><br></div><div>Renat</div><br></body></html>