aws / aws/aws-sam-cli

Bug: sam deploy - collisions between parameter name and logical IDs for CommaDelimitedLists

Open
#8,627 9 comments 0 reactions 0 assignees View on GitHub
area/deploy contributors/welcome stage/ready-for-pickup
Dominant language
Python
Stars
6.7k
Forks
1.2k
Avg merge
1d 10h
Merged PRs (30d)
52

Description

### Description:

Command used:
```
sam deploy \
--guided \
--template-file template/template.yml \
--capabilities CAPABILITY_AUTO_EXPAND CAPABILITY_IAM
```

### Observed result:

> Read timed out. (read timeout=0.1)
>
> Error: unhashable type: 'list'
> Traceback:
> File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\click\core.py", line 1082, in main
> rv = self.invoke(ctx)
> File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\click\core.py", line 1697, in invoke
> return _process_result(sub_ctx.command.invoke(sub_ctx))
> ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
> File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\click\core.py", line 1443, in invoke
> return ctx.invoke(self.callback, **ctx.params)
> ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\click\core.py", line 788, in invoke
> return __callback(*args, **kwargs)
> File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\samcli\cli\cli_config_file.py", line 366, in wrapper
> return func(*args, **kwargs)
> File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\samcli\lib\cli_validation\image_repository_validation.
> py", line 111, in wrapped
> return func(*args, **kwargs)
> File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\click\decorators.py", line 92, in new_func
> return ctx.invoke(f, obj, *args, **kwargs)
> ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
> File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\click\core.py", line 788, in invoke
> return __callback(*args, **kwargs)
> File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\samcli\lib\telemetry\metric.py", line 190, in wrapped
> raise exception # pylint: disable=raising-bad-type
> ^^^^^^^^^^^^^^^
> File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\samcli\lib\telemetry\metric.py", line 155, in wrapped
> return_value = func(*args, **kwargs)
> File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\samcli\lib\utils\version_checker.py", line 43, in wrap
> ped
> actual_result = func(*args, **kwargs)
> File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\samcli\cli\main.py", line 95, in wrapper
> return func(*args, **kwargs)
> File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\samcli\commands\_utils\cdk_support_decorators.py", lin
> e 40, in wrapped
> return func(*args, **kwargs)
> File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\samcli\commands\_utils\command_exception_handler.py",
> line 89, in wrapper_command_exception_handler
> raise ex
> File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\samcli\commands\_utils\command_exception_handler.py",
> line 69, in wrapper_command_exception_handler
> return func(*args, **kwargs)
> File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\samcli\commands\deploy\command.py", line 208, in cli
> do_cli(
> ~~~~~~^
> template_file,
> ^^^^^^^^^^^^^^
> ...<28 lines>...
> max_wait_duration,
> ^^^^^^^^^^^^^^^^^^
> ) # pragma: no cover
> ^
> File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\samcli\commands\deploy\command.py", line 304, in do_cl
> i
> guided_context.run()
> ~~~~~~~~~~~~~~~~~~^^
> File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\samcli\commands\deploy\guided_context.py", line 572, i
> n run
> self.guided_prompts(_parameter_override_keys)
> ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
> File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\samcli\commands\deploy\guided_context.py", line 140, i
> n guided_prompts
> stacks, _ = SamLocalStackProvider.get_stacks(
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
> self.template_file,
> ^^^^^^^^^^^^^^^^^^^
> parameter_overrides=sanitize_parameter_overrides(input_parameter_overrides),
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> global_parameter_overrides=global_parameter_overrides,
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> )
> ^
> File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\samcli\lib\providers\sam_stack_provider.py", line 281,
> in get_stacks
> stacks_in_child, remote_stack_full_paths_in_child = SamLocalStackProvider.get_stacks(
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
> child_stack.location,
> ^^^^^^^^^^^^^^^^^^^^^
> ...<5 lines>...
> use_sam_transform=use_sam_transform,
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> )
> ^
> File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\samcli\lib\providers\sam_stack_provider.py", line 270,
> in get_stacks
> current = SamLocalStackProvider(
> template_file,
> ...<4 lines>...
> use_sam_transform=use_sam_transform,
> )
> File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\samcli\lib\providers\sam_stack_provider.py", line 62,
> in __init__
> self._template_dict = self.get_template(
> ~~~~~~~~~~~~~~~~~^
> template_dict,
> ^^^^^^^^^^^^^^
> SamLocalStackProvider.merge_parameter_overrides(parameter_overrides, global_parameter_overrides),
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> use_sam_transform=use_sam_transform,
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> )
> ^
> File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\samcli\lib\providers\sam_base_provider.py", line 200,
> in get_template
> template_dict = resolver.resolve_template(ignore_errors=True)
> File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\samcli\lib\intrinsic_resolver\intrinsic_property_resol
> ver.py", line 253, in resolve_template
> processed_template["Outputs"] = self.resolve_attribute(self._outputs, ignore_errors)
> ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File "C:\Program Files\Amazon\AWSSAMCLI\runtime\Lib\site-packages\samcli\lib\intrinsic_resolver\intrinsic_property_resol
> ver.py", line 277, in resolve_attribute
> processed_dict[processed_key] = processed_resource
> ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
>
> An unexpected error was encountered while executing "sam deploy".
> Search for an existing issue:
> https://github.com/aws/aws-sam-cli/issues?q=is%3Aissue+is%3Aopen+Bug%3A%20sam%20deploy%20-%20TypeError
> Or create a bug report:
> https://github.com/aws/aws-sam-cli/issues/new?template=Bug_report.md&title=Bug%3A%20sam%20deploy%20-%20TypeError
> 2026-02-05 01:09:40,197 | HTTPSConnectionPool(host='aws-serverless-tools-telemetry.us-west-2.amazonaws.com', port=443):
> Read timed out. (read timeout=0.1)

### Expected result:

### Additional environment details (Ex: Windows, Mac, Amazon Linux etc)

1. OS: Windows
2. `sam --version`: 1.153.1
3. AWS region: Sydney

```
# Paste the output of `sam --info` here
```

`Add --debug flag to command you are running`

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.