AWS Lambda deployment provider: equals sign in environment_variables value

Hi!

Is it possible to escape equals sign (=) somehow in environment_variables value.

Example: DB_URL=123=456

environment_variables:
- “DB_URL=123=456”

Ends up as DB_URL=123 in AWS Lambda Console. Expected DB_URL variable with value 123=456.

In practice this is a real issue for example with URLs with query parameters

Quoting should work. DB_URL="123=456"

environment_variables:
- DB_URL=“123=456”

Results in value: "123

The same result with:
environment_variables:
- ‘DB_URL=“123=456”’

Sorry, but something else is modifying the env var.

https://travis-ci.org/BanzaiMan/travis_production_test/builds/560118792#L187-L188

I was talking about Lambda deployment provider. For example:

deploy:
  - provider: lambda
    access_key_id: ${AWS_ACCESS_KEY_ID}
    secret_access_key:
      secure: ${AWS_SECRET_ACCESS_KEY}
    function_name: "Function-Name"
    handler_name: "handler"
    region: "eu-west-1"
    runtime: "nodejs8.10"
    role: "arn:aws:iam::12345678:role/LambdaRole"
    zip: "lambda.zip"
    environment_variables:
      - 'DB_URL="123=456"'

My apologies. The code is here.

You can test the fix by:

deploy:
  - provider: lambda
    edge:
      branch: lambda-equal
  ⋮ # rest

Fix is working as expected! Well done, thank you!

It’ll be fixed in the next release (most likely 1.10.13).

Will the lambda-equal branch be open until the release?

Yes.

Seems like the branch has been removed when merged to master branch of the https://github.com/travis-ci/dpl?

Oops. You’re right. I’ve restored the branch.

You may also use:

deploy:
  edge: true

instead as well.

Release 1.10.13 includes this, and I’ve deleted the branch.

Imprint