You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
... Waiting for change set to be reviewed
Error getting status of change set: Failed to create CloudFormation change set: Template format error: The Value field of every Outputs member must evaluate to a String and not a List
To Reproduce
Steps to reproduce the behaviour
example:
Create new Serverless Application (Web Api)
Add some parameters & mappings to serverless.template. Example:
Parameters:
Environment:
Type: String
AllowedValues:
- dev
- prod
Description: The environment. Default is dev.
Default: dev
SubDomainName:
Type: String
Description: The subdomain for Api. Default is api.
Default: api
Mappings:
DomainMap:
dev:
Name: dev.example.com
prod:
Name: example.com
Update Output value to sub values found in DomainMap using FindInMap.
(This gets highlighted as an error 0: Unresolved tag: !FindInMap). Example:
Right click project -> Publish to AWS Lambda -> Go through options & Publish
Error:
Error getting status of change set: Failed to create CloudFormation change set: Template format error: The Value field of every Outputs member must evaluate to a String and not a List
Expected behavior
Should deploy successfully. This exact same template works when using sam build & sam deploy
Screenshots
Error when using VS GUI:
Successful deployment after using sam build & sam deploy Toolkit Logs
Development System (please complete the following information):
Windows Version:
Visual Studio Version: 17.9.6
AWS Toolkit for Visual Studio Version: 1.52.0.0
Additional context This exact same template works when using sam build & sam deploy
(Update the Handler to match your project)
Description: An AWS Serverless Application that uses the ASP.NET Core framework running
in Amazon Lambda.
Parameters:
Environment:
Type: String
AllowedValues:
- dev
- prod
Description: The environment. Default is dev.
Default: dev
SubDomainName:
Type: String
Description: The subdomain for Api. Default is api.
Default: api
Mappings:
DomainMap:
dev:
Name: dev.example.com
prod:
Name: example.com
Conditions: {}
Resources:
AspNetCoreFunction:
Type: AWS::Serverless::Function
Properties:
Handler: test::test.LambdaEntryPoint::FunctionHandlerAsync
Runtime: dotnet8
CodeUri: ''
MemorySize: 512
Timeout: 30
Role: null
Policies:
- AWSLambda_FullAccess
Events:
ProxyResource:
Type: Api
Properties:
Path: "/{proxy+}"
Method: ANY
RootResource:
Type: Api
Properties:
Path: "/"
Method: ANY
Outputs:
ApiURL:
Description: Api URL
Value:
Fn::Sub:
- "https://${SubDomainName}.${DomainName}"
- DomainName: !FindInMap [DomainMap, !Ref Environment, Name]
The text was updated successfully, but these errors were encountered:
ibbyu
added
the
bug
We can reproduce the issue and confirmed it is a bug.
label
May 13, 2024
@ibbyu Thanks for bringing this issue to our attention. I've reproduced this on my end - there seems to be an issue with the way we are parsing the yaml formatted template file. We are currently investigating a fix for this.
In the meantime as a workaround, try converting the serverless.template file from yaml to json. Using the example you provided, I've confirmed that a json serverless.template file deploys successfully.
Describe the bug
To Reproduce
Steps to reproduce the behaviour
example:
DomainMap
usingFindInMap
.(This gets highlighted as an error
0: Unresolved tag: !FindInMap
). Example:Expected behavior
Should deploy successfully. This exact same template works when using
sam build
&sam deploy
Screenshots

Error when using VS GUI:
Successful deployment after using

sam build
&sam deploy
Toolkit Logs
Development System (please complete the following information):
Additional context
This exact same template works when using
sam build
&sam deploy
(Update the Handler to match your project)
The text was updated successfully, but these errors were encountered: