对流层伪参数怎么写?

How to write pseudo parameters in troposphere?

我想为 TopicConfigurations 主题使用伪参数。这样我就可以允许选择一个 arn。如何使用对流层编写伪参数?

主题配置: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

我觉得应该是这样,来自对流层/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 函数一起使用,但每个伪参数都被定义为一个单独的对象 in 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)

所以可以直接导入使用,如上例