Я пытаюсь использовать Boto3 для распечатки частного IP-адреса экземпляра из вывода стека облачной информации. Это должен быть довольно простой процесс. Однако мой код просто отказывается работать.
Ниже приведен раздел Outputs ответа description_stacks:
{'OutputKey': 'EC2IP', 'OutputValue': '192.168.10.10', 'Description': 'Web Server IP Address'},
{'OutputKey': 'ImageID', 'OutputValue': 'ami-0888888888888', 'Description': 'Web Server Image ID'}
Я проверил мой код ниже. Это ничего не печатает.
import boto3
cf_client = boto3.client('cloudformation')
stackname = 'test-instance-stack'
response = cf_client.describe_stacks(StackName=stackname)
outputs = response["Stacks"][0]["Outputs"]
for output in outputs:
keyName = output["OutputKey"]
if keyName is "EC2IP":
print(output["OutputValue"])
Хотя, если я попытаюсь
print(keyName)
Он распечатывает EC2IP
и ImageID
Так что keyName в этом случае должно соответствовать EC2IP, а затем распечатывать IP. Но почему-то я ничего не получаю ...