Dmitry, I think you are right here. I think for simple case we should be able 
to use in-place action definition without having to define the action 
separately. Like you said it’s only valuable if we need to reuse it.

The only difference I see between std:send-email and something like REST_API is 
that a set of parameters for the latter is dynamic (versus std:send-email where 
it’s always “recipients”, “subject”, “body”). Even though it’s still the same 
protocol (HTTP) but a particular request representation may be different (i.e. 
query string, headers, the structure of body in case POST etc.). But I think 
that doesn’t cancel the idea of being able to define the action along with the 
task itself.

So good point. As for the syntax itself, we need to think it over. In the 
snippet you provided “action: std:REST_API”, so we need to make sure not to 
have ambiguities in the ways how we can refer actions. A convention could be 
“if we don’t use a namespace we assume that there’s a separate action 
definition included into the same workbook, otherwise it should be considered 
in-place action definition and task property “action” refers to an action type 
rather than the action itself”. Does that make sense?

Renat Akhmerov
@ Mirantis Inc.

On 11 Feb 2014, at 16:23, Dmitri Zimine <[email protected]> wrote:

> Do we have (or think about) a shorthand to calling REST_API action, without 
> defining a service? 
> 
> FULL  DSL:
> 
> Services:
>  TimeService:
>       type: REST_API
>       parameters:
>         baseUrl:http://api.timezonedb.com
>         key:<my_api_key>
>       actions:
>         get-time:
>           task-parameters:
>             zone:
> Workflow:
>   tasks:
>      timeInToronto:
>         action: TimeService:get-time
>         parameters:
>           zone: "America/Toronto"
> 
> SHORTCUT - may look something like this: 
> 
> Workflow:
>   tasks:
>       timeInToronto:
>           action:std:REST_API
>           parameters:
>             baseUrl: "http://api.timezonedb.com";
>             method: "GET"
>             parameters: "zone=/America/Toronto&key=<my_api_key>"
>             
> Why asking:  
> 
> 1) analogy with std:send-email action. I wonder do we have to make user 
> define Service for std:send-email? and I think that for standard tasks we 
> shouldn't have to. If there is any thinking on REST_API, it may apply here. 
> 
> 2) For a one-off web service calls the complete syntax is may be overkill 
> (but yes, it comes handy for reuse). See examples below. 
> 
> 
> 
> 
> _______________________________________________
> OpenStack-dev mailing list
> [email protected]
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


_______________________________________________
OpenStack-dev mailing list
[email protected]
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to