Skip to content

Commit ec1cc63

Browse files
feat: #122 Add SAM stack name parameter (#123)
* feat: #122 Add SAM stack name parameter * chore: add documentation
1 parent 6f24b0e commit ec1cc63

File tree

5 files changed

+25
-1
lines changed

5 files changed

+25
-1
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ The configuration is saved to `lldebugger.config.ts`.
120120
--config-env <evironment> SAM environment
121121
--sam-config-file <file> SAM configuration file
122122
--sam-template-file <file> SAM template file
123+
--sam-stack-name <name> SAM stack name;
123124
--profile <profile> AWS profile to use
124125
--region <region> AWS region to use
125126
--role <role> AWS role to use

src/configuration/getConfigFromCliArgs.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ export async function getConfigFromCliArgs(
5454
program.option('--config-env <evironment>', 'SAM environment');
5555
program.option('--sam-config-file <file>', 'SAM configuration file');
5656
program.option('--sam-template-file <file>', 'SAM template file');
57+
program.option('--sam-stack-name <name>', 'SAM stack name');
5758
program.option('--profile <profile>', 'AWS profile to use');
5859
program.option('--region <region>', 'AWS region to use');
5960
program.option('--role <role>', 'AWS role to use');

src/configuration/getConfigFromWizard.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,14 @@ export async function getConfigFromWizard({
139139
default:
140140
configFromCliArgs.samTemplateFile ?? currentConfig?.samTemplateFile,
141141
},
142+
{
143+
type: 'input',
144+
name: 'samStackName',
145+
message:
146+
'Would you like to enter SAM stack name and not use the one from config?',
147+
default:
148+
configFromCliArgs.samStackName ?? currentConfig?.samStackName,
149+
},
142150
]);
143151

144152
answers = { ...answers, ...samAnswers };
@@ -421,6 +429,8 @@ export default {
421429
samConfigFile: "${config.samConfigFile}",
422430
// SAM framework template file
423431
samTemplateFile: "${config.samTemplateFile}",
432+
// SAM framework stack name
433+
samStackName: "${config.samStackName}",
424434
// Observable mode
425435
observable: ${config.observable},
426436
// Observable mode interval
@@ -468,6 +478,7 @@ function getConfigFromAnswers(answers: any): LldConfigCliArgs {
468478
configEnv: answers.configEnv,
469479
samConfigFile: answers.samConfigFile,
470480
samTemplateFile: answers.samTemplateFile,
481+
samStackName: answers.samStackName,
471482
observable: answers.observable,
472483
interval:
473484
answers.interval !== undefined

src/frameworks/samFramework.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,13 @@ export class SamFramework implements IFramework {
9090
samConfig = yaml.parse(samConfigContent);
9191
}
9292

93-
const stackName = samConfig[environment]?.global?.parameters?.stack_name;
93+
let stackName: string | undefined;
94+
95+
if (config.samStackName) {
96+
stackName = config.samStackName;
97+
} else {
98+
stackName = samConfig[environment]?.global?.parameters?.stack_name;
99+
}
94100

95101
if (!stackName) {
96102
throw new Error(`Stack name not found in ${samConfigFile}`);

src/types/lldConfig.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,11 @@ export type LldConfigBase = {
5656
*/
5757
samTemplateFile?: string;
5858

59+
/**
60+
* SAM framework cli parameter stack-name
61+
*/
62+
samStackName?: string;
63+
5964
/**
6065
* Resources discovery function
6166
*/

0 commit comments

Comments
 (0)