X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=inventory%2Fasg-inventory.py;h=34c6e1c6f7ce8df1e44e85ca6416712fdd99ed6d;hb=61b2ef2ad67ef165855de4e15bb4e92ad965faa3;hp=74e21b0d1af3adf73de42499b64f18d2e2e40655;hpb=164fb4ac7aebf84ca89433aeee8d16771fb8b7da;p=awsible diff --git a/inventory/asg-inventory.py b/inventory/asg-inventory.py index 74e21b0..34c6e1c 100755 --- a/inventory/asg-inventory.py +++ b/inventory/asg-inventory.py @@ -9,13 +9,19 @@ import argparse import boto3 import json import sys +import os from multiprocessing.dummy import Pool as ThreadPool from functools import partial -DEFAULT_REGIONS = ['us-east-1', 'us-west-2'] +#DEFAULT_REGIONS = ['us-east-1', 'us-west-2'] +DEFAULT_REGIONS = ['us-east-2'] HOSTVARS = {} +try: + PUBLIC = len(os.environ['INVENTORY_PUBLIC']) > 0 +except: + PUBLIC = False def allASGInstances(asgc): 'Return a tuple of a dict of each ASG name listing the instance IDs within it, and a list of all instance IDs.' @@ -68,7 +74,7 @@ def regionInventory(sessionArgs, publicIPs=False): inventory = {iid:[AllInstanceIPs[iid]] for iid in AllInstanceIPs} # add ASG dict, replacing ASG Instance Id with instance IP - inventory.update({asg:[AllInstanceIPs[iid] for iid in ASGs[asg]] for asg in ASGs}) + inventory.update({asg:[AllInstanceIPs[iid] for iid in ASGs[asg] if iid in AllInstanceIPs] for asg in ASGs}) return inventory @@ -84,7 +90,7 @@ def mergeDictOfLists(a, b): parser = argparse.ArgumentParser(description='dynamic Ansible inventory from AWS Autoscaling Groups') -parser.add_argument('--public', action='store_true', help='inventory public IPs (default: private IPs)') +parser.add_argument('--public', action='store_true' if not PUBLIC else 'store_false', help='inventory public IPs (default: private IPs)') parser.add_argument('--profile', metavar='PROFILE', dest='profile_name', help='AWS Profile (default: current IAM Role)') parser.add_argument('--regions', metavar='REGION', nargs='+', default=DEFAULT_REGIONS, help='AWS Regions (default: %(default)s)') parser.add_argument('--list', action='store_true')