def list_hosts()

in aws/petctl.py [0:0]


def list_hosts(session, specs_json, args):
    job_name = args.job_name
    asg = AutoScalingGroup(session)
    asgs = [f"{job_name}_rdzv", f"{job_name}_worker"]
    hosts = {}

    for asg_name in asgs:
        instance_ids, hostnames = asg.list_hostnames(asg_name)
        hosts[asg_name] = zip(instance_ids, hostnames)

    print(f"\n--------------------------------------------------------------")
    for asg_name in hosts:
        print(f"Hosts in {asg_name}:")
        for i, host in enumerate(hosts[asg_name], start=1):
            instance_id = host[0]
            public_dns = host[1]
            print(f"  {i}) {instance_id} ({public_dns})")
        print(f"--------------------------------------------------------------")
    print("To SSH run:")
    print(f"\taws ssm start-session --target <instance_id>")
    print(f"--------------------------------------------------------------")