ec2 inventory route53 tagging:

* make filtering more comprehensive
* add checks against missing route53 zone exclusion option
pull/4213/head
Herby Gillot 11 years ago
parent 91785ba045
commit 6ddebb3fad

@ -36,11 +36,11 @@ vpc_destination_variable = ip_address
# To tag instances on EC2 with the resource records that point to them from
# Route53, uncomment and set 'route53' to True.
#
# Optionally, you can specify the list of zones to exclude looking up in
# 'route53_excluded_zones' as a comma-seperated list.
route53 = False
route53_excluded_zones =
# Additionally, you can specify the list of zones to exclude looking up in
# 'route53_excluded_zones' as a comma-seperated list.
# route53_excluded_zones = samplezone1.com, samplezone2.com
# API calls to EC2 are slow. For this reason, we cache the results of an API
# call. Set this to the path you want cache files to be written to. Two files

@ -207,7 +207,10 @@ class Ec2Inventory(object):
# Route53
self.route53_enabled = config.getboolean('ec2', 'route53')
self.route53_excluded_zones = config.get('ec2', 'route53_excluded_zones', '').split(',')
self.route53_excluded_zones = []
if config.has_option('ec2', 'route53_excluded_zones'):
self.route53_excluded_zones.extend(
config.get('ec2', 'route53_excluded_zones', '').split(','))
# Cache related
cache_path = config.get('ec2', 'cache_path')
@ -422,9 +425,8 @@ class Ec2Inventory(object):
r53_conn = route53.Route53Connection()
all_zones = r53_conn.get_zones()
is_valid_zone = lambda zone: not zone.name in self.route53_excluded_zones
route53_zones = filter(is_valid_zone, all_zones)
route53_zones = [ zone for zone in all_zones if zone.name[:-1]
not in self.route53_excluded_zones ]
self.route53_records = {}

Loading…
Cancel
Save