Ссылка на выходные данные вложенного стека Ошибка: «атрибут в Fn :: ImportValue не должен зависеть от каких-либо ресурсов» - PullRequest
0 голосов
/ 17 декабря 2018

У меня есть шаблон CloudFormation, в котором я создаю проект CodeBuild и вложенный стек ресурсов, связанных с VPC.Вот выдержка:

Resources:
  VpcStack:
    Type: AWS::CloudFormation::Stack
    Properties:
      TemplateURL: https://s3-eu-west-1.amazonaws.com/foo-bar/vpc/vpc.template.json
  CustomCodeBuild:
    Type: AWS::CodeBuild::Project
    Properties:
    ... other properties
    VpcConfig:
        VpcId: 
          Fn::ImportValue: !Sub ${VpcStack}:VpcId

Шаблон VPC в TemplateURL выглядит следующим образом:

  Resources:
    VPC:
      Type: AWS::EC2::VPC
      Properties:
        ... various properties    
   Outputs:
      VpcId:
        Value: !Ref VPC
        Export:
          Name: !Sub ${AWS::StackName}:VpcId

Как видите, я пытаюсь импортировать VpcId из вложенного стека.

VpcConfig:
   VpcId: 
      Fn::ImportValue: !Sub ${VpcStack}:VpcId

Однако это приводит к следующей ошибке:

Шаблон содержит ошибки .: Ошибка шаблона: атрибут в Fn :: ImportValue не должен зависеть от каких-либо ресурсов,импортированные значения, или Fn :: GetAZs

Имеет смысл, что это происходит ... VpcStack действительно ресурс.Но как мне избежать этого?

Это просто синтаксис или мне нужно по-другому структурировать свои шаблоны, чтобы это осуществить?

1 Ответ

0 голосов
/ 17 декабря 2018

В итоге я сохранил свою существующую структуру и использовал этот синтаксис:

VpcConfig:
    VpcId: 
      Fn::GetAtt:
        - VpcStack
        - Outputs.VpcId
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...