Проблема с созданием стека с образованием облаков («Тип свойства не может быть пустым.») - PullRequest
0 голосов
/ 09 января 2020

Итак, у меня есть эта проблема в настоящее время, но я не вижу особого смысла, потому что я уже добавил тип на LoadBalancerListener ... Я тестировал раньше только Load Balancer и Target Group, а затем они работали хорошо, но когда я добавляю Listener, стек получает ошибку. Вот код:

AWSTemplateFormatVersion: 2010-09-09
Description: Template for load balancer

Resources: 
  DayOne:
    Type: AWS::ElasticLoadBalancingV2::LoadBalancer
    Properties:
      Scheme: internet-facing
      SecurityGroups:
        - sg-055ea833725644075
      Subnets:
        - subnet-0d7b9bf57973e6b78
        - subnet-0186890795288d48a
  LoadBalancerListener:
    Type: AWS::ElasticLoadBalancingV2::Listener
    Properties:
      DefaultActions:
        - Type: forward
        - TargetGroupArn: !Ref TargetGroup
      LoadBalancerArn: !Ref DayOne
      Port: 80
      Protocol: "HTTP"
  TargetGroup:
    DependsOn: "DayOne"
    Type: AWS::ElasticLoadBalancingV2::TargetGroup
    Properties: 
      TargetType: "instance"
      Name: "DayOneTarget"
      Port: 80
      Protocol: "HTTP"
      VpcId: "vpc-0f98d22c9291e3c0c"
      HealthyThresholdCount: 2
      HealthCheckTimeoutSeconds: 10
      HealthCheckIntervalSeconds: 30

Вот проблема:

enter image description here

1 Ответ

4 голосов
/ 09 января 2020

Как мой комментарий, ваша проблема в том, что ваш список для DefaultActions неправильно настроен. Вам нужно удалить второе -, чтобы ваше действие считалось одним действием. Когда вы добавляете второе, оно обрабатывает TargetGroupArn отдельно от Type и заставляет его искать второе действие.

Сообщение об ошибке может показаться вводящим в заблуждение, но на самом деле оно говорит вам, что вам не хватает поля Type для действия по умолчанию. Поскольку Type является обязательным полем, и у вас есть более одного действия, оно должно быть включено в каждое.

Как это должно выглядеть:

  LoadBalancerListener:
    Type: AWS::ElasticLoadBalancingV2::Listener
    Properties:
      DefaultActions:
        - Type: forward
          TargetGroupArn: !Ref TargetGroup
      LoadBalancerArn: !Ref DayOne
      Port: 80
      Protocol: "HTTP"
...