<div dir="ltr"><div><br></div>I would think the python-openstackclient would smooth out a lot of the rough edges particularly the find by name or id situation.  It already does that for many services neutron being the biggest gap.  The python-openstacksdk will eventually (soon) be able to address a lot of those issues.<div><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jul 9, 2015 at 9:26 AM, Sergey Kraynev <span dir="ltr"><<a href="mailto:skraynev@mirantis.com" target="_blank">skraynev@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 dir="ltr"><div>Hi community.</div><div><br></div><div>I want to raise couple questions about openstack clients.</div><div>In Heat we use other python-*clients for manipulating service's resources,</div><div>but some stuff placed in shell.py modules and we are forced to duplicate some existing code.</div><div><br></div><div>There are couple examples which I met last time:</div><div> - getting resource by name or id</div><div><br></div><div>All clients implement this logic in the shell.py module and it's not possible to re-use it from client</div><div>directly as single call of some function "resolve_by_name_or_id" (unfortunately same is for Heat too ). As result all external developers (and we too as orchestration tool) should copy logic in our repos and implement similar resolve methods for all services/resources.</div><div><br></div><div>- show command for clients</div><div><br></div><div>some of clients use base Resource class and they have "._info" attribute, but it's private and use it is not right too. But I did not see another solution, because clients have not some *_show public method for it too (except neutron :) ). Also there is additional issue, when clients use their own classes, without this attribute, e.g. glance v2.</div><div><br></div><div>So my question: can we create mentioned above public methods for such stuff and make it as standard for all clients or may be discuss list of common public "interfaces" for all clients?</div><div><br></div></div></blockquote></div><br></div></div></div>