diff --git a/inventory_plugins/netgo-hcloud.py b/inventory_plugins/netgo-hcloud.py index d7ffb32..b958b61 100644 --- a/inventory_plugins/netgo-hcloud.py +++ b/inventory_plugins/netgo-hcloud.py @@ -68,9 +68,9 @@ class MyHcloudAPI: while page > 0: api_url = "" if not self.label_selector: - api_url = "{}/{}?per_page={}&page={}".format(self.BASE, api_path, str(page_size), str(page)) + api_url = "{}/{}?label_selector=!manual&per_page={}&page={}".format(self.BASE, api_path, str(page_size), str(page)) else: - api_url = "{}/{}?label_selector={}&per_page={}&page={}".format(self.BASE, api_path, self.label_selector, str(page_size), str(page)) + api_url = "{}/{}?label_selector={},!manual&per_page={}&page={}".format(self.BASE, api_path, self.label_selector, str(page_size), str(page)) display.display(api_url) @@ -84,6 +84,7 @@ class MyHcloudAPI: if json_response["meta"]["pagination"]["page"] == json_response["meta"]["pagination"]["last_page"]: break page += 1 + return response_values except ValueError: raise AnsibleError("Incorrect JSON payload") @@ -180,6 +181,7 @@ class InventoryModule(BaseInventoryPlugin, Constructable, Cacheable): # filter all loadbalancers by naming convention -> {{ stage }}-ingress ingressLoadbalancers = [lb for lb in loadbalancers if lb["name"] == self.get_option("stage") + "-ingress"] + ingressLoadbalancers.sort(key=lambda x: x.get('name')) for loadbalancer in ingressLoadbalancers: loadbalancerId = loadbalancer["id"] loadbalancerName = loadbalancer["name"] @@ -189,6 +191,7 @@ class InventoryModule(BaseInventoryPlugin, Constructable, Cacheable): display.display("loadbalancer:<" + loadbalancerName + ">, publicIp=<" + loadbalancerPublicIp + ">, privateIp=<" + loadbalancerPrivateIp + ">") + servers.sort(key=lambda x: x.get('name')) for server in servers: serverId = server["id"] serverName = server["name"]