Получить KeyValue из вывода Cloudformation с Python Boto3 - PullRequest
0 голосов
/ 02 ноября 2019

Я пытаюсь использовать 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. Но почему-то я ничего не получаю ...

1 Ответ

1 голос
/ 02 ноября 2019

Вместо:

if keyName is "EC2IP":

Использование:

if keyName == "EC2IP":
...