Ich versuche, die Python SoftLayer-API verwenden, um eine Liste der virtuellen Server, die nicht sind eine aktive Transaktion in "RECLAIM_WAIT" Status (das ist der Zustand, den Sie beim Löschen haben ein virtueller Server in Softlayer). Ich erwarte, dass ich alle virtuellen Server, die keine activeTransaction haben, zurückbekomme, und auch solche, die eine activeTransaction haben, aber einen anderen Status als "RECLAIM_WAIT" haben.Verwenden von Softlayer-Objektfilter für activeTransaction
Ich nenne den vs-Manager mit einem Filter, das ich denke, funktionieren sollte:
f={'virtualGuests': {'activeTransaction': {'transactionStatus': {'name': {'operation': '!= RECLAIM_WAIT'}}}}}
instance = vs.list_instances(hostname="node5-0",filter=f)
aber es gibt nur Instanzen, die eine activeTransaction (einschließlich denen, die einen RECLAIM_WAIT Status haben). Hier
ist ein Beispiel für eine zurück Instanz von diesem Aufruf:
[{ 'status': { 'keyName': 'DISCONNECTED', 'Name': 'Disconnected'}, 'Rechenzentrum': {'statusId': 2, 'id': 265592, 'Name': 'xxxx', 'longName': 'xxx'}, 'Domäne': 'xxxx', 'powerState': {'Schlüsselname': 'HALTED' , 'Name': 'Halted'}, 'maxCpu': 2, 'maxMemory': 8192, 'Hostname': 'node5-0', 'primaryIpAddress': 'xxxx', 'activeTransaction': {'modifyDate': ' 2017-01-16T05: 20: 01-06: 00 ',' statusChangeDate ':' 2017-01-16T05: 20: 01-06: 00 ',' elapsedSeconds ': 22261,' createDate ':' 2017-01- 16T05: 19: 05-06: 00 ',' hardwareId ':' ',' guestId ': 27490599,' id ': 46204349,' transactionStatus ': {' friendlyName ':' Dies ist eine Pufferzeit, in der der Kunde darf storniere den Aufschlag r‘, 'Name': 'RECLAIM_WAIT'}}, 'globalIdentifier': 'xx', 'primaryBackendIpAddress': 'XXX', 'ID': xxx, 'VollqualifizierterDomänenname': 'xxx'}]
Was mache ich falsch mit dem Filter?