参数必须缺少值

时间:2019-06-11 18:39:33

标签: amazon-web-services amazon-cloudformation

我有一个带有嵌套模板的父模板。父模板是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端口。

1 个答案:

答案 0 :(得分:0)

问题已解决。

  • 无法正确传递参数。

    Listener2:!GetAtt ALB.Outputs.Listener2

这是在Alb下参数部分下的主模板传递的。

现在像魅力一样工作