Skip to content

Commit 18f144d

Browse files
committed
chore: added possibility to use prefixed envs as parameter overrides
1 parent 33527b8 commit 18f144d

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

action.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ inputs:
1717
parameter-overrides:
1818
description: 'The parameters to override in the stack inputs. You can pass a comma-delimited list or a file URL. Comma-delimited list has each entry formatted as <ParameterName>=<ParameterValue> or <ParameterName>="<ParameterValue>,<ParameterValue>". A JSON file can be a local file with a "file://" prefix or remote URL. The file should look like: [ { "ParameterKey": "KeyPairName", "ParameterValue": "MyKey" }]'
1919
required: false
20+
envs-prefix-for-parameter-overrides:
21+
description: 'Set environment variable key prefix to filter out and use as parameters to override. The prefix will be stripped.'
22+
default: ""
2023
no-execute-changeset:
2124
description: "Indicates whether to execute to the change set or have it reviewed. Default to '0' (will execute the change set)"
2225
required: false

src/main.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,9 @@ export async function run(): Promise<void> {
5252
const parameterOverrides = core.getInput('parameter-overrides', {
5353
required: false
5454
})
55+
const envsPrefixForparameterOverrides = core.getInput('envs-prefix-for-parameter-overrides', {
56+
required: false
57+
})
5558
const noEmptyChangeSet = !!+core.getInput('no-fail-on-empty-changeset', {
5659
required: false
5760
})
@@ -150,6 +153,16 @@ export async function run(): Promise<void> {
150153
params.Parameters = parseParameters(parameterOverrides.trim())
151154
}
152155

156+
if (envsPrefixForparameterOverrides.length > 0) {
157+
params.Parameters?.concat(
158+
Object.keys(process.env)
159+
.filter(key => key.startsWith(envsPrefixForparameterOverrides))
160+
.map(key => ({
161+
ParameterKey: key,
162+
ParameterValue: process.env[key]
163+
})))
164+
}
165+
153166
const stackId = await deployStack(
154167
cfn,
155168
params,

0 commit comments

Comments
 (0)