Key "–environment" AWS Cli utility replaces all the variables, those that you specify as an argument. To change the value of only one variable without erasing the others, or without listing them all, you can use the following BASH script:
aws_lambda_update_env.sh:
#!/usr/bin/env bash # VARIABLES LAMBDA='ARTEM-SERVICES' REGION='us-east-1' VARIABLE='ECR_TAG' NEW_VALUE='1.0.1' CURRENTVARIABLES="$(aws lambda get-function-configuration --region $REGION --function-name $LAMBDA | jq '.Environment.Variables')" NEWVARIABLES=$(echo $CURRENTVARIABLES | jq --arg VARIABLE $VARIABLE --arg NEW_VALUE $NEW_VALUE ".$VARIABLE |= \"$NEW_VALUE\"") COMMAND="aws lambda update-function-configuration --region $REGION --function-name $LAMBDA --environment '{\"Variables\":$NEWVARIABLES}'" eval $COMMAND
This script requires jq utility
The script reads all current variables, changes the value of the variable "ECR_TAG" to the value "1.0.1" and updates all the variables with the changed value of the variable "ECR_TAG".