def index(): list = [] creds = config.get_ec2_conf() for region in config.region_list(): conn = connect_to_region( region, aws_access_key_id=creds['AWS_ACCESS_KEY_ID'], aws_secret_access_key=creds['AWS_SECRET_ACCESS_KEY']) zones = conn.get_all_zones() instances = conn.get_all_instances() instance_count = len(instances) ebs = conn.get_all_volumes() ebscount = len(ebs) unattached_ebs = 0 unattached_eli = 0 active_count = 0 for instance in instances: active = instances if active: active_count = active_count + 1 for vol in ebs: state = vol.attachment_state() if state == None: unattached_ebs = unattached_ebs + 1 elis = conn.get_all_addresses() eli_count = len(elis) for eli in elis: instance_id = eli.instance_id if not instance_id: unattached_eli = unattached_eli + 1 connelb = boto.ec2.elb.connect_to_region( region, aws_access_key_id=creds['AWS_ACCESS_KEY_ID'], aws_secret_access_key=creds['AWS_SECRET_ACCESS_KEY']) elb = connelb.get_all_load_balancers() elb_count = len(elb) list.append({ 'region': region, 'zones': zones, 'instance_count': instance_count, 'ebscount': ebscount, 'unattached_ebs': unattached_ebs, 'eli_count': eli_count, 'unattached_eli': unattached_eli, 'elb_count': elb_count, 'active_count': active_count }) return render_template('index.html', list=list)
def index(): list = [] for region in config.region_list(): zones = aws.get_zones(region) instances = aws.get_instances(region) ebs = aws.get_ebs(region) subnets = aws.get_subnets(region) vpcs = aws.get_vpcs(region) rds = aws.get_rds(region) unattached_ebs = 0 unattached_eli = 0 event_count = 0 improperelb = 0 ip_low_subnet = 0 for subnet in subnets: if subnet.available_ip_address_count < 15: ip_low_subnet = ip_low_subnet + 1 for instance in instances: events = instance.events if events and "Completed" not in instance.events[0].description: event_count = event_count + 1 for vol in ebs: state = vol.attachment_state() if state == None: try: vol.tags['Status'] if vol.tags['Status'] == "InUse": continue except KeyError: unattached_ebs = unattached_ebs + 1 elis = aws.get_addresses(region) for eli in elis: instance_id = eli.instance_id if not instance_id: unattached_eli = unattached_eli + 1 elbs = aws.get_loadbalancers(region) for elb in elbs: if len(elb.instances) < 1: improperelb = improperelb + 1 list.append({ 'region' : region, 'zones': zones, 'instance_count' : len(instances), 'ebscount' : len(ebs), 'unattached_ebs' : unattached_ebs, 'eli_count' : len(elis), 'unattached_eli' : unattached_eli, 'elb_count' : len(elbs), 'event_count' : event_count, 'improper_elb': improperelb, 'subnet_counter': len(subnets), 'ip_low_subnet': ip_low_subnet, 'vpc_count': len(vpcs), 'rds_counter': len(rds)}) return render_template('index.html', list=list)
def index(): list = [] creds = config.get_ec2_conf() for region in config.region_list(): conn = connect_to_region(region, aws_access_key_id=creds['AWS_ACCESS_KEY_ID'], aws_secret_access_key=creds['AWS_SECRET_ACCESS_KEY']) zones = conn.get_all_zones() instances = conn.get_all_instance_status(max_results=2000) instance_count = len(instances) ebs = conn.get_all_volumes() ebscount = len(ebs) unattached_ebs = 0 unattached_eli = 0 event_count = 0 for instance in instances: events = instance.events if events: event_count = event_count + 1 for vol in ebs: state = vol.attachment_state() if state == None: unattached_ebs = unattached_ebs + 1 elis = conn.get_all_addresses() eli_count = len(elis) for eli in elis: instance_id = eli.instance_id if not instance_id: unattached_eli = unattached_eli + 1 connelb = boto.ec2.elb.connect_to_region(region, aws_access_key_id=creds['AWS_ACCESS_KEY_ID'], aws_secret_access_key=creds['AWS_SECRET_ACCESS_KEY']) elb = connelb.get_all_load_balancers() elb_count = len(elb) list.append({ 'region' : region, 'zones': zones, 'instance_count' : instance_count, 'ebscount' : ebscount, 'unattached_ebs' : unattached_ebs, 'eli_count' : eli_count, 'unattached_eli' : unattached_eli, 'elb_count' : elb_count, 'event_count' : event_count}) return render_template('index.html',list=list)
def instance_events_all(region=None): Ntag = (lambda x: 'Name not Assigned' if x is None else x[0]['Value']) instance_event_list_all = [] for region in config.region_list(): ec2 = boto3.resource('ec2', region_name=region) instances = ec2.instances.filter() for i in instances: event_info_all = { 'instance_id': i.id, 'State': i.state['Name'], 'Region': i.placement['AvailabilityZone'], 'Public_DNS': i.public_ip_address, 'Private_DNS': i.private_ip_address, 'Type': i.instance_type, 'Name': Ntag(i.tags) } instance_event_list_all.append(event_info_all) instance_list_all = sorted(instance_event_list_all, key=lambda k: k['State']) # return render_template('instance_events_all.html', instance_event_list=instance_list_all) return render_template('instance_events.html', instance_event_list=instance_list_all)
def index(): if (len(session.keys()) > 0): list = [] creds = config.get_ec2_conf() for region in config.region_list(): ec2 = boto3.client('ec2', region) resp = ec2.describe_availability_zones() # zones=[d['ZoneName'] for d in resp['AvailabilityZones'] if d['ZoneName']] zones = [d for d in resp['AvailabilityZones'] if d['ZoneName']] ec2 = boto3.resource('ec2', region_name=region) instances = ec2.instances.filter() instances = [i.id for i in instances] ebs = [ volume for instance in ec2.instances.all() for volume in instance.volumes.all() ] ebscount = len(ebs) instance_count = len(instances) ## instance_count = len(instances) ## ebs = conn.get_all_volumes() ## ebscount = len(ebs) unattached_ebs = 0 unattached_eli = 0 ## event_count = 0 ## ## for instance in instances: ## events = instance.events ## if events: ## event_count = event_count + 1 ## ## for vol in ebs: ## state = vol.attachment_state() ## if state == None: ## unattached_ebs = unattached_ebs + 1 ## ## elis = conn.get_all_addresses() ## eli_count = len(elis) ## ## ## for eli in elis: ## instance_id = eli.instance_id ## if not instance_id: ## unattached_eli = unattached_eli + 1 ## ## connelb = boto.ec2.elb.connect_to_region(region, aws_access_key_id=creds['AWS_ACCESS_KEY_ID'], aws_secret_access_key=creds['AWS_SECRET_ACCESS_KEY']) ## elb = connelb.get_all_load_balancers() ## elb_count = len(elb) ## list.append({ 'region' : region, 'zones': zones, 'instance_count' : instance_count, 'ebscount' : ebscount, 'unattached_ebs' : unattached_ebs, 'eli_count' : eli_count, 'unattached_eli' : unattached_eli, 'elb_count' : elb_count, 'event_count' : event_count}) list.append({ 'region': region, 'zones': zones, 'instance_count': instance_count, 'unattached_ebs': unattached_ebs, 'unattached_eli': unattached_eli }) ## return render_template('index.html', list=list) else: return redirect(url_for('login'))
def list(): for region in config.region_list(): session = boto3.Session(profile_name=config.profile) ec2 = session.resource('ec2') resourceList = [] for vpc in ec2.vpcs.all(): vpcDetail = {} vpcDetail['id'] = vpc.id if vpc.tags is not None: for tags in vpc.tags: if tags['Key'] == 'Name': vpcDetail['vpc_name'] = tags['Value'] else: vpcDetail['vpc_name'] = "Default VPC" subnet_list = [] for subnet in vpc.subnets.all(): subnetDetail = {} subnetDetail['id'] = subnet.id if subnet.tags is not None: for tags in subnet.tags: if tags['Key'] == 'Name': subnetDetail['subnet_name'] = tags['Value'] else: subnetDetail['subnet_name'] = "Default Subnet" instances = subnet.instances.all() instances_list = [] ###Looping all running instances for instance in instances: instancesDetail = {} instancesDetail['id'] = instance.id for tags in instance.tags: if tags['Key'] == 'Name': instancesDetail['instance_name'] = tags['Value'] ##Looping running instances security groups for sg in instance.security_groups: ## get security group detail securityGroup = ec2.SecurityGroup(sg['GroupId']) instancesDetail[ 'sg_ingress'] = securityGroup.ip_permissions instancesDetail[ 'sg_egress'] = securityGroup.ip_permissions_egress instances_list.append(instancesDetail) subnetDetail['instances'] = instances_list subnet_list.append(subnetDetail) vpcDetail['subnets'] = subnet_list resourceList.append(vpcDetail) return render_template("ec2/list.html", resources=resourceList)
def index(): list = [] creds = config.get_ec2_conf() key = creds['AWS_ACCESS_KEY_ID'] secret = creds['AWS_SECRET_ACCESS_KEY'] for region in config.region_list(): conn = connect_to_region(region, aws_access_key_id=key, aws_secret_access_key=secret) vpcconn = boto.vpc.connect_to_region(region, aws_access_key_id=key, aws_secret_access_key=secret) zones = conn.get_all_zones() instances = conn.get_all_instance_status(max_results=2000) instance_count = len(instances) ebs = conn.get_all_volumes() ebscount = len(ebs) subnets = vpcconn.get_all_subnets() unattached_ebs = 0 unattached_eli = 0 event_count = 0 improperelb = 0 subnet_counter = 0 ip_low_subnet = 0 subnet_counter = len(subnets) for subnet in subnets: if subnet.available_ip_address_count < 15: ip_low_subnet = ip_low_subnet + 1 for instance in instances: events = instance.events if events and "Completed" not in instance.events[0].description: event_count = event_count + 1 for vol in ebs: state = vol.attachment_state() if state == None: try: vol.tags['Status'] if vol.tags['Status'] == "InUse": continue except KeyError: unattached_ebs = unattached_ebs + 1 elis = conn.get_all_addresses() eli_count = len(elis) for eli in elis: instance_id = eli.instance_id if not instance_id: unattached_eli = unattached_eli + 1 connelb = boto.ec2.elb.connect_to_region(region, aws_access_key_id=creds['AWS_ACCESS_KEY_ID'], aws_secret_access_key=creds['AWS_SECRET_ACCESS_KEY']) elbs = connelb.get_all_load_balancers() elb_count = len(elbs) for elb in elbs: if len(elb.instances) < 1: improperelb = improperelb + 1 list.append({ 'region' : region, 'zones': zones, 'instance_count' : instance_count, 'ebscount' : ebscount, 'unattached_ebs' : unattached_ebs, 'eli_count' : eli_count, 'unattached_eli' : unattached_eli, 'elb_count' : elb_count, 'event_count' : event_count, 'improper_elb': improperelb, 'subnet_counter': subnet_counter, 'ip_low_subnet': ip_low_subnet}) return render_template('index.html', list=list)