実現したいこと
aws samでAPIGW用テンプレートを作成しています。
デプロイ前にsam validate --lintでチェックしたのですが、Fn::Subの部分でエラーが出てしまいました。
エラー2件出ています。
①${ServerlessRestApi}
②${RestApi.Properties.StageName}
①については別件として投稿しておりますので
②の部分についてどう修正すれば良いのかご教示ください。
前提
省略
発生している問題・エラーメッセージ
PS C:\Users\luna\devRoot\mybank-sample> sam validate --lint E6001 Output ApigwInfo is not an object C:\Users\luna\devRoot\mybank-sample\template.yaml:54:3 E6001 Output Description has invalid property Fn::Sub C:\Users\luna\devRoot\mybank-sample\template.yaml:56:5 E1019 Parameter ServerlessRestApi for Fn::Sub not found at Outputs/Description/Value/Fn::Sub C:\Users\luna\devRoot\mybank-sample\template.yaml:58:5 ★↓該当エラー箇所★ E1019 ★Parameter RestApi.Properties.StageName for Fn::Sub not found★ at Outputs/Description/Value/Fn::Sub C:\Users\luna\devRoot\mybank-sample\template.yaml:58:5 Error: Linting failed. At least one linting rule was matched to the provided template.
該当のソースコード
template.yaml
1AWSTemplateFormatVersion: '2010-09-09' 2Transform: AWS::Serverless-2016-10-31 3Description: "Sample SAM Template for local-deploy-sample1" 4 5Resources: 6 RestApi: 7 Type: AWS::Serverless::Api 8 Properties: 9 Name: my-bank-api-name 10 Description: RestApi-no-Properties-no-Description 11 EndpointConfiguration: REGIONAL 12 StageName: mybank-stage #base-path to awaseru 13 OpenApiVersion: 3.0.2 14 DefinitionUri: ./openapi.yaml 15・・・省略・・・ 16Outputs: 17 ApigwInfo: 18 Description: 19 Fn::Sub: ${RestApi} 20 Value: !Sub "https://${ServerlessRestApi}.execute-api.${AWS::Region}.amazonaws.com/${RestApi.Properties.StageName}/"
試したこと
awsリファレンス Fn::Subは確認しました。
If you specify resource attributes, such as ${MyInstance.PublicIp}, CloudFormation returns the same values as if you used the Fn::GetAtt intrinsic function.
と記載があるので、${RestApi.Properties.StageName}もOKかと思った次第です。
補足情報(FW/ツールのバージョンなど)
省略
===============
①については別件として投稿しておりますので
②の部分についてどう修正すれば良いのかご教示ください。
===============
本文に記載のとおり、未投稿の②に対するQAとなりますのでご指摘には当たらないと思います。

回答1件
あなたの回答
tips
プレビュー