|
|
|
|
@ -68,9 +68,9 @@ class MyHcloudAPI:
|
|
|
|
|
while page > 0:
|
|
|
|
|
api_url = ""
|
|
|
|
|
if not self.label_selector:
|
|
|
|
|
api_url = "{}/{}?label_selector=!manual&per_page={}&page={}".format(self.BASE, api_path, str(page_size), str(page))
|
|
|
|
|
api_url = "{}/{}?per_page={}&page={}".format(self.BASE, api_path, str(page_size), str(page))
|
|
|
|
|
else:
|
|
|
|
|
api_url = "{}/{}?label_selector={},!manual&per_page={}&page={}".format(self.BASE, api_path, self.label_selector, str(page_size), str(page))
|
|
|
|
|
api_url = "{}/{}?label_selector={}&per_page={}&page={}".format(self.BASE, api_path, self.label_selector, str(page_size), str(page))
|
|
|
|
|
|
|
|
|
|
display.display(api_url)
|
|
|
|
|
|
|
|
|
|
@ -179,10 +179,10 @@ class InventoryModule(BaseInventoryPlugin, Constructable, Cacheable):
|
|
|
|
|
loadbalancerPrivateIp = "-"
|
|
|
|
|
|
|
|
|
|
# filter all loadbalancers by naming convention -> {{ stage }}-ingress
|
|
|
|
|
ingressLoadbalancers = [lb for lb in loadbalancers if lb["name"] == self.get_option("stage") + "-ingress"]
|
|
|
|
|
loadbalancers = [x for x in loadbalancers if x["name"] == self.get_option("stage") + "-ingress"]
|
|
|
|
|
loadbalancers.sort(key=lambda x: x.get('name'))
|
|
|
|
|
|
|
|
|
|
ingressLoadbalancers.sort(key=lambda x: x.get('name'))
|
|
|
|
|
for loadbalancer in ingressLoadbalancers:
|
|
|
|
|
for loadbalancer in loadbalancers:
|
|
|
|
|
loadbalancerId = loadbalancer["id"]
|
|
|
|
|
loadbalancerName = loadbalancer["name"]
|
|
|
|
|
loadbalancerLabels = loadbalancer["labels"]
|
|
|
|
|
@ -191,7 +191,10 @@ class InventoryModule(BaseInventoryPlugin, Constructable, Cacheable):
|
|
|
|
|
|
|
|
|
|
display.display("loadbalancer:<" + loadbalancerName + ">, publicIp=<" + loadbalancerPublicIp + ">, privateIp=<" + loadbalancerPrivateIp + ">")
|
|
|
|
|
|
|
|
|
|
# due to a hetzner api bug for label selector: only last given selector is used - label_selector=stage=XXX,!manual not working correctly
|
|
|
|
|
servers = [x for x in servers if 'manual' not in x["labels"]]
|
|
|
|
|
servers.sort(key=lambda x: x.get('name'))
|
|
|
|
|
|
|
|
|
|
for server in servers:
|
|
|
|
|
serverId = server["id"]
|
|
|
|
|
serverName = server["name"]
|
|
|
|
|
|