Как получить только OutputKey из API-интерфейса boto3 cloudformation describe_stack? - PullRequest
1 голос
/ 07 августа 2020

Нужна помощь! Я пытаюсь развернуть стек CloudFormation с помощью boto3. В шаблоне облачной информации укажите приведенный ниже код для параметра Outputs. Когда я запускаю describe_stack, он показывает мне полное описание стека и всех свойств. Как мне получить только некоторые из них из указанных ниже OutputKeys? Например, что, если мне нужен только PublicDNS или PublicIP?

Outputs:
  InstanceId:
    Description: InstanceId of the newly created EC2 instance
    Value: !Ref EC2Instance
  AZ:
    Description: Availability Zone of the newly created EC2 instance
    Value: !GetAtt 
      - EC2Instance
      - AvailabilityZone
  PublicDNS:
    Description: Public DNSName of the newly created EC2 instance
    Value: !GetAtt 
      - EC2Instance
      - PublicDnsName
  PublicIP:
    Description: Public IP address of the newly created EC2 instance
    Value: !GetAtt 
      - EC2Instance
      - PublicIp

1 Ответ

0 голосов
/ 07 августа 2020

Вы можете сделать следующее (пример для PublicDNS) с помощью Stack :

import boto3

session = boto3.Session(aws_access_key_id='', aws_secret_access_key=''...) 

cloudformation = session.resource('cloudformation')

stack = cloudformation.Stack('<your-stack-name>')

print(stack.outputs)

public_dns = ''

for output in stack.outputs:
    if output['OutputKey'] == 'PublicDNS':
        public_dns = output['OutputValue']
        break

print(public_dns)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...