| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- #!/data/virtualenvs/linode/bin/python2
- import argparse
- import sys
- import utils
- import config
- parser = argparse.ArgumentParser()
- parser.add_argument('datacenter')
- args = parser.parse_args()
- api = utils.get_api(config.linode_api_key)
- dcs = utils.get_datacenter_dict(api)
- if not args.datacenter in dcs:
- raise RuntimeError('Invalid datacenter')
- dc = dcs[args.datacenter]
- private_ips = []
- linodes = api.linode_list()
- for linode in linodes:
- if linode['DATACENTERID'] != dc['DATACENTERID']:
- sys.stderr.write("INFO: Skipping %s from datacenter %s\n" % (linode['LABEL'], linode['DATACENTERID']))
- continue
- ips = api.linode_ip_list(LinodeID=linode['LINODEID'])
- found = False
- for ip in ips:
- if not ip['ISPUBLIC']:
- private_ips.append(ip['IPADDRESS'])
- found = True
- if not found:
- sys.stderr.write("WARNING: %s does not have a private IP address\n" % linode['LABEL'])
- print "# ********************"
- print "# DO NOT EDIT MANUALLY"
- print "# ********************"
- print "# Generated by: build_backend_private_ips_jinja.py"
- print ""
- print "{% set addresses = ["
- for ip in sorted(private_ips):
- print " '%s'," % ip
- print "] %}"
|