CloudFormation 创建的资源的有效属性
Posted
技术标签:
【中文标题】CloudFormation 创建的资源的有效属性【英文标题】:Valid Attributes for Resources Created by CloudFormation 【发布时间】:2020-01-09 15:26:27 【问题描述】:CloudFormation 包含 Fn::GetAtt
内在函数。我如何知道给定资源有哪些属性可用?
ApiDefault:
Type: "AWS::ApiGateway::RestApi"
Properties:
Name: "poc"
Description: "Public interface for system-to-system order submissions."
FailOnWarnings: true
ApiDefaultDeployment:
Type: AWS::ApiGateway::Deployment
DependsOn:
- "ApiMethodImageSubmitPost"
Properties:
Description: "Production environment supporting version-1 of the interface."
RestApiId: !Ref "ApiDefault"
StageName: "v1"
...
ApiUsagePlan:
Type: "AWS::ApiGateway::UsagePlan"
Properties:
ApiStages:
- ApiId: !Ref "ApiDefault"
Stage: !GetAtt [ "ApiDefaultDeployment", "StageName" ]
在上面,“StageName”不是一个有效的属性。那么,如何找到“AWS::ApiGateway::Deployment”的有效属性?
【问题讨论】:
【参考方案1】:在任何给定资源in the doc 的返回值部分中,通常在示例部分上方的页面末尾附近。
首先解释!Ref
函数,然后解释!GetAtt
属性(如果有的话)(AWS::ApiGateway::Deployment
不是这种情况)。
在您的特定情况下,您可以将阶段名称作为模板中的参数传递,!Ref
它同时用于ApiDefaultDeployment
和ApiUsagePlan
。
【讨论】:
以上是关于CloudFormation 创建的资源的有效属性的主要内容,如果未能解决你的问题,请参考以下文章
具有资源属性 CloudFormation 的 UserData 脚本