<div dir="ltr">On Thu, Nov 14, 2013 at 1:28 AM, Adrian Otto <span dir="ltr"><<a href="mailto:adrian.otto@rackspace.com" target="_blank">adrian.otto@rackspace.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<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">



<div style="word-wrap:break-word"><div><div>Are you referring to "openstack solum …" in your suggestion of what not to do? If there is no project name in there, how would it work? Would we have a flat global namespace for all verbs?</div>
</div></div></blockquote><div><br></div><div>Yes. See <a href="https://wiki.openstack.org/wiki/OpenStackClient/Commands">https://wiki.openstack.org/wiki/OpenStackClient/Commands</a> for the current OSC commands.  The verbs turn out to be fairly easy, the object names occasionally need some disambiguation when there is overlap.</div>
<div><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"><div style="word-wrap:break-word"><div>
<div>What about using combined noun+verb combinations, so you would end up with commands like:<br></div>
<div><br>
</div>
<div>deploy_app</div>
<div><br>
</div>
<div>…etc. That might be more specific and require less processing logic.</div></div></div></blockquote><div><br></div><div>The processing is already done by cliff and works quite well.</div><div><br></div><div>I would suggest working out your command set in one place before going too far.  OSC is all about consistency so if you are planning to plug in to it you will want to use the same verb and option names and make sure your object names do not overlap.</div>
<div><br></div><div>Oh, keep in mind too that the API calls are not necessarily mapped directly 1:1 to the commands.  I've handled some by making them simply be options on existing commands (see 'server resize' and 'server set' as examples).  This is one place the existing extension mechanism falls over in that it can not currently handle adding options to an existing command from a plugin.</div>
<div><br></div><div>dt</div></div><div><br></div>-- <br><br>Dean Troyer<br><a href="mailto:dtroyer@gmail.com">dtroyer@gmail.com</a><br>
</div></div>