ec2 inventory route53 tagging:
* make filtering more comprehensive * add checks against missing route53 zone exclusion option
This commit is contained in:
parent
91785ba045
commit
6ddebb3fad
2 changed files with 10 additions and 8 deletions
|
@ -36,11 +36,11 @@ vpc_destination_variable = ip_address
|
||||||
|
|
||||||
# To tag instances on EC2 with the resource records that point to them from
|
# To tag instances on EC2 with the resource records that point to them from
|
||||||
# Route53, uncomment and set 'route53' to True.
|
# 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 = 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
|
# 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
|
# call. Set this to the path you want cache files to be written to. Two files
|
||||||
|
|
|
@ -207,7 +207,10 @@ class Ec2Inventory(object):
|
||||||
|
|
||||||
# Route53
|
# Route53
|
||||||
self.route53_enabled = config.getboolean('ec2', '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 related
|
||||||
cache_path = config.get('ec2', 'cache_path')
|
cache_path = config.get('ec2', 'cache_path')
|
||||||
|
@ -422,9 +425,8 @@ class Ec2Inventory(object):
|
||||||
r53_conn = route53.Route53Connection()
|
r53_conn = route53.Route53Connection()
|
||||||
all_zones = r53_conn.get_zones()
|
all_zones = r53_conn.get_zones()
|
||||||
|
|
||||||
is_valid_zone = lambda zone: not zone.name in self.route53_excluded_zones
|
route53_zones = [ zone for zone in all_zones if zone.name[:-1]
|
||||||
|
not in self.route53_excluded_zones ]
|
||||||
route53_zones = filter(is_valid_zone, all_zones)
|
|
||||||
|
|
||||||
self.route53_records = {}
|
self.route53_records = {}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue