Получение публичного днс инстанса EC2 с BOTO3

Я использую ipython для понимания Boto3 и взаимодействия с экземплярами EC2. Вот код, который я использую для создания экземпляра:

import boto3

ec2 = boto3.resource('ec2')
client = boto3.client('ec2')


new_instance = ec2.create_instances(
    ImageId='ami-d05e75b8',
    MinCount=1,
    MaxCount=1,
    InstanceType='t2.micro',
    KeyName=<name_of_my_key>,
    SecurityGroups=['<security_group_name>'],
    DryRun = False
    )

Это нормально запускает экземпляр EC2, и я могу получить общедоступное DNS-имя, IP-адрес и другую информацию из консоли AWS. Но когда я пытаюсь получить публичный DNS с помощью Boto, сделав это:

new_instance[0].public_dns_name

Возвращает пустые кавычки. Тем не менее, другие подробности экземпляра, такие как:

new_instance[0].instance_type

Возвращает правильную информацию.

Есть идеи? Благодарю.

РЕДАКТИРОВАТЬ:

Так что если я сделаю:

def get_name(inst):
    client = boto3.client('ec2')
    response = client.describe_instances(InstanceIds = [inst[0].instance_id])
    foo = response['Reservations'][0]['Instances'][0]['NetworkInterfaces'][0]['Association']['PublicDnsName']
    return foo


foo = get_name(new_instance)
print foo

Тогда он вернет публичный DNS. Но для меня не имеет смысла, зачем мне все это делать.

Ответы на вопрос(1)

Ваш ответ на вопрос