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=(',', ': '))
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=(',', ': '))
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'
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=(",", ": "), )
def __init__(self): self.instances = ec2.get_instances() self._init_views()
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 })
def group(group_name, limit=None): return dns(ec2.get_instances(conn, filters=dict(running, **{'group-name': group_name})))[:limit]
def group(group_name): return ec2.get_instances(conn, filters={'instance-state-name': 'running', 'group-name': group_name})