Exemplo n.º 1
0
def instance_events(region=None):

    conn = connect_to_aws_region(region)

    nodes = get_only_instances(conn)
    instance_node_list = []
    for node in nodes:
        if node:
            n_info = {
                'instance_id': node.id,
                'private_ip_address': node.private_ip_address,
                'vpc_id': node.vpc_id,
                'instance_type': node.instance_type,
                'state': node.state
            }
            instance_node_list.append(n_info)

    instances = get_all_instance_status(conn)
    instance_event_list = []
    for instance in instances:
        if instance.events:
            event_info = {
                'instance_id': instance.id,
                'event': instance.events[0].code,
                'description': instance.events[0].description,
                'event_before': instance.events[0].not_before,
                'event_after': instance.events[0].not_after
            }
            instance_event_list.append(event_info)

    return render_template('aws/instance_events.html',
                           instance_node_list=instance_node_list,
                           instance_event_list=instance_event_list)
Exemplo n.º 2
0
def delete_ebs_vol(region=None, vol_id=None):

    conn = connect_to_aws_region(region)
    vol_id = vol_id.encode('ascii')
    vol_ids = get_all_volumes(conn, volume_ids=vol_id)
    for vol in vol_ids:
        vol.delete()
    return redirect(url_for('aws/ebs', region=region))
Exemplo n.º 3
0
def delete_elastic_ip(region=None, ip=None):

    conn = connect_to_aws_region(region)
    ip = ip.encode('ascii')
    elis = get_all_addresses(conn, addresses=ip)

    for eli in elis:
        eli.release()
    return redirect(url_for('eips', region=region))
Exemplo n.º 4
0
def elastic_ips(region=None):

    conn = connect_to_aws_region(region)
    elis = get_all_addresses(conn)
    un_eli = []
    for eli in elis:
        instance_id = eli.instance_id
        if not instance_id:
            eli_info = {'public_ip': eli.public_ip, 'domain': eli.domain}
            un_eli.append(eli_info)
    return render_template('aws/eips.html', un_eli=un_eli, region=region)
Exemplo n.º 5
0
def ebs_volumes(region=None):

    conn = connect_to_aws_region(region)
    ebs = get_all_volumes(conn)
    ebs_vol = []
    for vol in ebs:
        state = vol.attachment_state()
        if state is None:
            ebs_info = {
                'id': vol.id,
                'size': vol.size,
                'iops': vol.iops,
                'status': vol.status
            }
            ebs_vol.append(ebs_info)
    return render_template('aws/ebs.html', ebs_vol=ebs_vol, region=region)
Exemplo n.º 6
0
def aws():
    list = []

    for region in app.config['REGION_LIST']:
        conn = connect_to_aws_region(region)
        zones = get_all_zones(conn)
        instances = get_all_instance_status(conn)
        instance_count = len(instances)
        ebs = get_all_volumes(conn)
        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 is None:
                unattached_ebs = unattached_ebs + 1

        elis = get_all_addresses(conn)
        eli_count = len(elis)

        for eli in elis:
            instance_id = eli.instance_id
            if not instance_id:
                unattached_eli = unattached_eli + 1

        connelb = elb_connect_to_aws_region(region)
        elb = get_all_load_balancers(connelb)
        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('aws/aws.html', list=list)