Skip to content

Commit 86db63c

Browse files
committed
chore: added possibility to use prefixed envs as parameter overrides
1 parent b93bbf7 commit 86db63c

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
@@ -43,6 +43,9 @@ export async function run(): Promise<void> {
4343
const parameterOverrides = core.getInput('parameter-overrides', {
4444
required: false
4545
})
46+
const envsPrefixForparameterOverrides = core.getInput('envs-prefix-for-parameter-overrides', {
47+
required: false
48+
})
4649
const noEmptyChangeSet = !!+core.getInput('no-fail-on-empty-changeset', {
4750
required: false
4851
})
@@ -125,6 +128,16 @@ export async function run(): Promise<void> {
125128
params.Parameters = parseParameters(parameterOverrides.trim())
126129
}
127130

131+
if (envsPrefixForparameterOverrides.length > 0) {
132+
params.Parameters?.concat(
133+
Object.keys(process.env)
134+
.filter(key => key.startsWith(envsPrefixForparameterOverrides))
135+
.map(key => ({
136+
ParameterKey: key,
137+
ParameterValue: process.env[key]
138+
})))
139+
}
140+
128141
const stackId = await deployStack(
129142
cfn,
130143
params,

0 commit comments

Comments
 (0)