Beispiel #1
0
def scrape(data_file):
    """Scrape AWS to get instance data"""
    print("Parsing instance types...")
    all_instances = ec2.get_instances()
    print("Parsing pricing info...")
    add_pricing_info(all_instances)
    print("Parsing ENI info...")
    add_eni_info(all_instances)
    print("Parsing EBS info...")
    add_ebs_info(all_instances)
    print("Adding EBS as NVMe info...")
    check_ebs_as_nvme(all_instances)
    print("Parsing Linux AMI info...")
    add_linux_ami_info(all_instances)
    print("Parsing VPC-only info...")
    add_vpconly_detail(all_instances)
    print("Parsing local instance storage...")
    add_instance_storage_details(all_instances)
    print("Parsing burstable instance credits...")
    add_t2_credits(all_instances)
    print("Parsing instance names...")
    add_pretty_names(all_instances)
    print("Parsing emr details...")
    add_emr_info(all_instances)

    with open(data_file, 'w') as f:
        json.dump([i.to_dict() for i in all_instances],
                  f,
                  indent=2,
                  sort_keys=True,
                  separators=(',', ': '))
Beispiel #2
0
def scrape(data_file):
    """Scrape AWS to get instance data"""
    print("Parsing instance types...")
    all_instances = ec2.get_instances()
    print("Parsing pricing info...")
    add_pricing_info(all_instances)
    print("Parsing ENI info...")
    add_eni_info(all_instances)
    print("Parsing EBS info...")
    add_ebs_info(all_instances)
    print("Parsing Linux AMI info...")
    add_linux_ami_info(all_instances)
    print("Parsing VPC-only info...")
    add_vpconly_detail(all_instances)
    print("Parsing local instance storage...")
    add_instance_storage_details(all_instances)
    print("Parsing burstable instance credits...")
    add_t2_credits(all_instances)
    print("Parsing instance names...")
    add_pretty_names(all_instances)
    print("Parsing emr details...")
    add_emr_info(all_instances)
    print("Adding GPU details...")
    add_gpu_info(all_instances)
    print("Adding availability zone details...")
    add_availability_zone_info(all_instances)

    with open(data_file, 'w') as f:
        json.dump([i.to_dict() for i in all_instances],
                  f,
                  indent=2,
                  sort_keys=True,
                  separators=(',', ': '))
Beispiel #3
0
def test_config(mocked_config_contents, mocked_instances):
    instances = ec2.get_instances()
    assert instances['aws']['hogroup'][0]['id'] == 'i-hodolman'
    assert instances['aws']['hogroup'][0]['group'] == 'hogroup'
    assert instances['aws']['hogroup'][0]['name'] == 'honame'
    assert instances['aws']['hogroup'][0]['is_running'] == True
    assert instances['aws']['hogroup'][0]['private_ip'] == '123.123.123.123'
    assert instances['aws']['hogroup'][0]['public_ip'] == '222.222.222.222'
    assert instances['aws']['hogroup'][0]['key_name'] == 'hodolkey'
    assert instances['aws']['hogroup'][0]['key_file'] == None
    assert instances['aws']['hogroup'][0]['user'] == 'ec2-user'
Beispiel #4
0
def scrape(data_file):
    """Scrape AWS to get instance data"""
    print("Parsing instance types...")
    all_instances = ec2.get_instances()
    print("Parsing pricing info...")
    add_pricing_info(all_instances)
    print("Parsing ENI info...")
    add_eni_info(all_instances)
    print("Parsing EBS info...")
    add_ebs_info(all_instances)
    print("Parsing Linux AMI info...")
    add_linux_ami_info(all_instances)
    print("Parsing VPC-only info...")
    add_vpconly_detail(all_instances)
    print("Parsing local instance storage...")
    add_instance_storage_details(all_instances)
    print("Parsing burstable instance credits...")
    add_t2_credits(all_instances)
    print("Parsing instance names...")
    add_pretty_names(all_instances)
    print("Parsing emr details...")
    add_emr_info(all_instances)
    print("Adding GPU details...")
    add_gpu_info(all_instances)
    print("Adding availability zone details...")
    add_availability_zone_info(all_instances)
    print("Adding placement group details...")
    add_placement_groups(all_instances)

    os.makedirs(os.path.dirname(data_file), exist_ok=True)
    with open(data_file, "w+") as f:
        json.dump(
            [i.to_dict() for i in all_instances],
            f,
            indent=1,
            sort_keys=True,
            separators=(",", ": "),
        )
Beispiel #5
0
 def __init__(self):
     self.instances = ec2.get_instances()
     self._init_views()
Beispiel #6
0
def group(group_name, limit=None):
    return dns(
        ec2.get_instances(conn,
                          filters=dict(running, **{'group-name':
                                                   group_name})))[:limit]
Beispiel #7
0
def all_hosts():
    return dns(ec2.get_instances(conn, filters=running))
Beispiel #8
0
def group(group_name):
    return ec2.get_instances(conn,
                             filters={
                                 'instance-state-name': 'running',
                                 'group-name': group_name
                             })
def group(group_name, limit=None):
    return dns(ec2.get_instances(conn, filters=dict(running, **{'group-name': group_name})))[:limit]
def all_hosts():
    return dns(ec2.get_instances(conn, filters=running))
def group(group_name):
    return ec2.get_instances(conn, filters={'instance-state-name': 'running', 'group-name': group_name})