<div dir='auto'><div>What version of the SDK are you using?<br><div class="gmail_extra"><br><div class="gmail_quote">On 20 Apr. 2018 19:28, Chris Friesen <chris.friesen@windriver.com> wrote:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">On 04/19/2018 09:19 PM, Adrian Turjak wrote:<br>
> On 20/04/18 01:46, Chris Friesen wrote:<br>
>> On 04/19/2018 07:01 AM, Jeremy Stanley wrote:</p>
<p dir="ltr">>>> Or, for that matter, leverage OpenStackSDK's ability to pass<br>
>>> arbitrary calls to individual service APIs when you need something<br>
>>> not exposed by the porcelain layer.<br>
>><br>
>> Is that documented somewhere?  I spent some time looking at<br>
>> https://docs.openstack.org/openstacksdk/latest/ and didn't see<br>
>> anything that looked like that.<br>
>><br>
> Not that I believe, but basically it amounts to that on any service<br>
> proxy object you can call .get .post etc. So if the SDK doesn't yet<br>
> support a given feature, you can still use the feature yourself, but you<br>
> need to do some raw requests work, which honestly isn't that bad.<br>
><br>
> servers = list(conn.compute.servers())<br>
> vs<br>
> servers_resp = conn.compute.get("/servers")</p>
<p dir="ltr">I think the second statement above is not quite right.</p>
<p dir="ltr"> >>> from openstack import connection<br>
 >>> conn = connection.Connection(auth_url=....)<br>
 >>> [flavor.name for flavor in conn.compute.flavors()]<br>
[u'small', u'medium']<br>
 >>> conn.compute.get("/servers")<br>
Traceback (most recent call last):<br>
   File "<stdin>", line 1, in <module><br>
AttributeError: 'Proxy' object has no attribute 'get'</p>
<p dir="ltr">Chris</p>
<p dir="ltr">_______________________________________________<br>
Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack<br>
Post to     : openstack@lists.openstack.org<br>
Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack<br>
</p>
</blockquote></div><br></div></div></div>