Как записать псевдопараметры в тропосфере?

Я хочу использовать псевдопараметр для тем TopicConfigurations. Так что я могу позволить выбор арн. Как я могу написать псевдопараметр, используя тропосферу?

Конфигурация темы: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-topicconfig.html

Параметр псевдо: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/pseudo-parameter-reference.html

2 ответа

Решение

Я думаю, что это должно быть, из тропосферы /init.py:

Ref(AWS_NOTIFICATION_ARNS))

Вы бы просто использовали имя параметра в вызове Ref(), вот так:

Ref("AWS::NotificationARNs")

Я использую это все время, в основном с "AWS::NoValue" или "AWS::Region" в большинстве моих случаев использования.

Удачи!

Пример использования Fn::Join, AWS::Region и AWS::AccountId для формирования ARN

# Region and AccountId are pseudo parameters
from troposphere import Join, Region, AccountId

cloudwatch_log_arn = Join(
    ":", ["arn", "aws", "logs", Region, AccountId, "log-group", "log-name"]
)

Псевдопараметры используются с функцией Ref, но каждый из них определяется как отдельный объект в Troposphere:

AccountId = Ref(AWS_ACCOUNT_ID)
NotificationARNs = Ref(AWS_NOTIFICATION_ARNS)
NoValue = Ref(AWS_NO_VALUE)
Partition = Ref(AWS_PARTITION)
Region = Ref(AWS_REGION)
StackId = Ref(AWS_STACK_ID)
StackName = Ref(AWS_STACK_NAME)
URLSuffix = Ref(AWS_URL_SUFFIX)

Таким образом, их можно импортировать и использовать напрямую, как в примере выше.

Другие вопросы по тегам