Nav*_*ngh 4 yaml amazon-web-services aws-cloudformation
我试图找到一种在 If 函数内使用 ImportValue 的方法,但找不到正确的语法。任何帮助表示赞赏。
在我正在尝试的代码下面:
SomeTaskdefinition:
Type: AWS::ECS::TaskDefinition
Properties:
Family: 'FamilyName'
ContainerDefinitions:
- Name: ContainerName
Image: 'imagename:net/v2/'
Environment:
- Name: ENV_VARIABLE_1
Value:
Fn::If:
Fn::Equals:
Fn::ImportValue:
!Sub "${ImportStackname}-ECSCluster"
''
'notpresent'
'present'
Run Code Online (Sandbox Code Playgroud)
我在这里遇到类似的问题..我的想法是要么能够指定DatabaseHost为参数,如果留空 - 值应该从DatabaseStack导出中获取。这是我的示例代码 - 它使用!ImportValue内部!If函数。您将明白这个想法(而不是仅构造值 - 构造整个名称值列表对象)
Conditions:
DatabaseHostPresent: !Not [ !Equals [ !Ref DatabaseHost, ""]]
Resources:
...
ContainerDefinitions:
- Name: !Sub ${ApplicationName}-web-${EnvironmentName}
Environment:
- !If
- DatabaseHostPresent
- Name: DB_HOST
Value: !Ref DatabaseHost
- Name: DB_HOST
Value: !ImportValue
Fn::Sub: ${DatabaseStack}-EndpointAddress
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6867 次 |
| 最近记录: |