diff --git a/.github/workflows/_deploy_lambda.yml b/.github/workflows/_deploy_lambda.yml index ce4c906a..9f2f89a4 100644 --- a/.github/workflows/_deploy_lambda.yml +++ b/.github/workflows/_deploy_lambda.yml @@ -83,18 +83,24 @@ jobs: - name: Terraform Plan working-directory: ${{ inputs.lambda_path }} run: | + ENV_VARS="" + if [ -n "${{ inputs.environment_vars }}" ]; then + # Convert multiline "KEY=VALUE" into HCL map format + ENV_VARS="{ $(echo "${{ inputs.environment_vars }}" | awk -F= '{gsub(/"/,"\\\""); printf "%s=\"%s\",",$1,$2}' | sed 's/,$//') }" + fi + PLAN_CMD="terraform plan \ -var=\"stage=${{ inputs.stage }}\" \ -var=\"lambda_name=${{ inputs.lambda_name }}\" \ -var=\"ecr_repo_url=${{ steps.repo.outputs.ecr_repo_url }}\" \ -var=\"image_digest=${{ inputs.image_digest }}\"" - if [ -n "${{ inputs.environment_vars }}" ]; then - PLAN_CMD="$PLAN_CMD -var=\"environment_vars=${{ inputs.environment_vars }}\"" + if [ -n "$ENV_VARS" ]; then + PLAN_CMD="$PLAN_CMD -var=\"environment_vars=$ENV_VARS\"" fi PLAN_CMD="$PLAN_CMD -out=lambdaplan" - echo "Running: $PLAN_CMD" + # echo "Running: $PLAN_CMD" eval $PLAN_CMD - name: Terraform Apply