Я получаю список экземпляров aws ec2 с помощью этой команды:
response = ec2.describe_instances()
for reservation in response["Reservations"]:
for instance in reservation["Instances"]:
Мне нужно посмотреть, есть ли у каждого экземпляра частный IP и публичный IP.Если я использую оператор try для обоих, я получаю синтаксическую ошибку:
try instance['PrivateIpAddress'] and instance['PublicIpAddress']:
Это ошибка:
File ".\aws_ec2_list_instances.py", line 26
try instance['PrivateIpAddress'] and instance['PublicIpAddress']:
^
SyntaxError: invalid syntax
Если я использую оператор if вместо try, python жалуетсячто ключ не существует, если у машины нет общедоступного IP-адреса:
if instance['PrivateIpAddress'] and instance['PublicIpAddress']:
Я получаю эту ошибку:
Traceback (most recent call last):
File ".\aws_ec2_list_instances.py", line 26, in <module>
if instance['PrivateIpAddress'] and instance['PublicIpAddress']:
KeyError: 'PublicIpAddress'
Как правильно поступить?