Skip to content

parameter-overrides on command line block samconfig.toml values #2380

@mousedownmike

Description

@mousedownmike

Description:

I have most of my parameter_overrides defined in my samconfig.toml file for my local commands. However, I want to pass a single value via the command line --parameter-overrides value. The documentation states:

For the parameter_overrides entry, both the parameter values that you provide on the command line and entries in the configuration file take precedence over corresponding objects declared in the Parameters section of the template file.

This would indicate to me that you can provide both and they'll be merged but this doesn't appear to be happening.

Steps to reproduce:

samconfig.toml

version = 0.1
[default.local_invoke.parameters]
parameter_overrides = "myFuncBucket=\"dev-my-func\"" 

Make the following call:

sam local invoke MyFunc --parameter-overrides 'ParameterKey=myFuncQueue,ParameterValue=QueueValue'

Observed result:

The value of myFuncQueue is passed to the function but the value of myFuncBucket is not.

Expected result:

Both myFuncQueue and myFuncBucket should be available to the function.

or...

The documentation should be updated to reflect that passing a command line parameter-overrides will prevent the use of the parameter_overrides.

I can make that documentation update if that is the case. However, I'm hoping that this is a bug.

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

$ cat /etc/issue
Ubuntu 20.04.1 LTS \n \l
$ sam --version
SAM CLI, version 1.7.0
$ go version
go version go1.15.4 linux/amd64

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions