Использование ошибки импорта и возврата псевдо-функции - PullRequest
0 голосов
/ 29 июня 2018

У меня есть следующий код облачной информации:

  usagePlan:
Type: AWS::ApiGateway::UsagePlan
Properties:
  ApiStages:
  - ApiId: !ImportValue: "test-restApi-lambda-send-email-contactus-post"
    Stage: "stg1"
  Description: Customer ABC's usage plan
  Quota:
    Limit: 5000
    Period: MONTH
  Throttle:
    BurstLimit: 200
    RateLimit: 100
  UsagePlanName: Plan_ABC

все хорошо и код работает. Как только я включу это:

  usagePlan:
Type: AWS::ApiGateway::UsagePlan
Properties:
  ApiStages:
  - ApiId:
    Fn::ImportValue: !Sub "${project}-restApi-lambda-send-email-contactus-post"
    Stage: "stg1"
  Description: Customer ABC's usage plan
  Quota:
    Limit: 5000
    Period: MONTH
  Throttle:
    BurstLimit: 200
    RateLimit: 100
  UsagePlanName: Plan_ABC

Я получаю следующую ошибку:

An error occurred (ValidationError) when calling the CreateStack operation: [/Resources/usagePlan/Type/ApiStages/0/ApiId] 'null' values are not allowed in templates

Проблема точно возникает на этом этапе:

Fn::ImportValue: !Sub "${project}-restApi-lambda-send-email-contactus-post"

Есть идеи? это ошибка в aws?

1 Ответ

0 голосов
/ 29 июня 2018

Вам не хватает вкладки до Fn::ImportValue:

Это должно работать:

ApiStages:
  - ApiId:
      Fn::ImportValue: !Sub "${project}-restApi-lambda-send-email-contactus-post"
...