<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>If it was raised early please point me, because this issue is really painful, when you try to implement </div><div>common approach for all projects.</div><br clear="all"><div><div class="gmail_signature"><div dir="ltr">Regards,<div>Sergey.</div></div></div></div>
</div>