Как получить список ActiveTrustedSigners из дистрибутива облачного фронта? - PullRequest
0 голосов
/ 12 июня 2019

Мне кажется, у меня проблемы с пониманием документации boto3.

Я хочу получить список ActiveTrustedSigners для каждого дистрибутива облачного фронта.

Из документации здесь http://boto.cloudhackers.com/en/latest/ref/cloudfront.html#module-boto.cloudfront.signers Мне известен класс ActiveTrustedSigners.

Однако как я могу получить его из дистрибутива?

Вот код

import boto
import os

from boto.cloudfront import CloudFrontConnection

def main():
    KEY_ID = os.environ['CF_KEY_ID']
    SECRET = os.environ['CF_SECRET']

    cnn = CloudFrontConnection(KEY_ID, SECRET)
    for dist in cnn.get_all_distributions():
        print dist.ActiveTrustedSigners()  # AttributeError: 'DistributionSummary' object has no attribute 'ActiveTrustedSigners'

Я получил здесь AttributeError,Итак, как мне перейти от DistributionSummary к списку ActiveTrustedSigners.

1 Ответ

0 голосов
/ 12 июня 2019

Оказывается, я могу получить объект Distribution от DistributionSummary, а затем я могу допросить active_signers оттуда.

Вот окончательная версия

import os

from boto.cloudfront import CloudFrontConnection

def main():
    KEY_ID = os.environ['CF_KEY_ID']
    SECRET = os.environ['CF_SECRET']

    cnn = CloudFrontConnection(KEY_ID, SECRET)
    for dist_summary in cnn.get_all_distributions():
        dist = dist_summary.get_distribution()
        if dist.active_signers:
            for signer in dist.active_signers:
                print signer.key_pair_ids


if __name__ == '__main__':
    main()
...