我有一个带有嵌套模板的父模板。父模板是master.yaml。它具有为嵌套模板定义的templateurls。 一个嵌套的模板是load-balancer.yaml,一个嵌套的模板是service.yaml.Load-balancer.yaml在输出中创建2个侦听器值。 Service.yaml具有参数listener和listener2,我正在使用ref函数在service.yaml中引用 例如:
ListenerRule:
Type: AWS::ElasticLoadBalancingV2::ListenerRule
Properties:
ListenerArn: !Ref Listener
Priority: 1
Conditions:
- Field: path-pattern
Values:
- !Ref Path
Actions:
- TargetGroupArn: !Ref TargetGroup
Type: forward
listenerrule2正在做同样的事情。给出listener2参数必须具有值的错误。
我检查了引用,但找不到任何内容。对于参考共享,其中将值传递到load-balancer.yaml和service.yaml。
load-balancer.yaml
Outputs:
Listener:
Description: A reference to a port 80 listener
Value: !Ref LoadBalancerListener
Listener2:
Description: A reference to a port 443 listener
Value: !Ref LoadBalancerListener2
Service.yaml
Parameters:
Listener:
Description: The Application Load Balancer listener to register with
Type: String
Listener2:
Description: The Application Load Balancer listener to register with
Type: String
错误:参数必须具有值listener2,在形成云的负载均衡器输出中找到了listener2值。让我在这里提及,我有两个听众,两个目标群体。一个监听器用于http,一个监听器用于https。但出于测试目的,我将两者都用作http端口。
答案 0 :(得分:0)
问题已解决。
无法正确传递参数。
Listener2:!GetAtt ALB.Outputs.Listener2
这是在Alb下参数部分下的主模板传递的。
现在像魅力一样工作