From 81c0b4c6bfa99e0d8282ba714cec0606f959fb51 Mon Sep 17 00:00:00 2001 From: jonathan Ifegunni Date: Wed, 22 Jan 2025 11:08:40 -0800 Subject: [PATCH 1/2] update support for enVar in the webview --- .../core/src/awsService/appBuilder/explorer/samProject.ts | 7 ++++++- .../core/src/lambda/vue/configEditor/samInvokeBackend.ts | 4 ++++ .../core/src/lambda/vue/configEditor/samInvokeFrontend.ts | 5 +++++ packages/core/src/test/lambda/vue/samInvokeBackend.test.ts | 3 +++ 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/packages/core/src/awsService/appBuilder/explorer/samProject.ts b/packages/core/src/awsService/appBuilder/explorer/samProject.ts index ce8d0c4878a..da225cc54f2 100644 --- a/packages/core/src/awsService/appBuilder/explorer/samProject.ts +++ b/packages/core/src/awsService/appBuilder/explorer/samProject.ts @@ -30,6 +30,9 @@ export interface ResourceTreeEntity { Events?: ResourceTreeEntity[] Path?: string Method?: string + Environment?: { + Variables: Record + } } export async function getStackName(projectRoot: vscode.Uri): Promise { @@ -81,10 +84,12 @@ function getResourceEntity(template: any): ResourceTreeEntity[] { Handler: resource.Properties?.Handler ?? template?.Globals?.Function?.Handler, Events: resource.Properties?.Events ? getEvents(resource.Properties.Events) : undefined, CodeUri: resource.Properties?.CodeUri ?? template?.Globals?.Function?.CodeUri, + Environment: resource.Properties?.Environment + ? resource.Properties?.Environment + : template?.Globals?.Function?.Environment, } resourceTree.push(resourceEntity) } - return resourceTree } diff --git a/packages/core/src/lambda/vue/configEditor/samInvokeBackend.ts b/packages/core/src/lambda/vue/configEditor/samInvokeBackend.ts index ba624536b0f..8c75380a853 100644 --- a/packages/core/src/lambda/vue/configEditor/samInvokeBackend.ts +++ b/packages/core/src/lambda/vue/configEditor/samInvokeBackend.ts @@ -46,6 +46,9 @@ export interface ResourceData { runtime: string stackName: string source: string + environment?: { + Variables: Record + } } export type AwsSamDebuggerConfigurationLoose = AwsSamDebuggerConfiguration & { @@ -441,6 +444,7 @@ export async function registerSamDebugInvokeVueCommand( runtime: resource.resource.Runtime!, arn: resource.functionArn ?? '', stackName: resource.stackName ?? '', + environment: resource.resource.Environment ?? undefined, source: source, }) await telemetry.sam_openConfigUi.run(async (span) => { diff --git a/packages/core/src/lambda/vue/configEditor/samInvokeFrontend.ts b/packages/core/src/lambda/vue/configEditor/samInvokeFrontend.ts index c266abb8a4b..6502accae41 100644 --- a/packages/core/src/lambda/vue/configEditor/samInvokeFrontend.ts +++ b/packages/core/src/lambda/vue/configEditor/samInvokeFrontend.ts @@ -345,6 +345,11 @@ export default defineComponent({ this.launchConfig.invokeTarget.lambdaHandler = this.resourceData.handler if (this.launchConfig.lambda) { this.launchConfig.lambda.runtime = this.resourceData.runtime + if (this.resourceData.environment?.Variables !== undefined) { + this.environmentVariables.value = JSON.stringify( + this.resourceData.environment?.Variables + ) + } } } }, diff --git a/packages/core/src/test/lambda/vue/samInvokeBackend.test.ts b/packages/core/src/test/lambda/vue/samInvokeBackend.test.ts index 18ae33b67d0..cbad9bfff55 100644 --- a/packages/core/src/test/lambda/vue/samInvokeBackend.test.ts +++ b/packages/core/src/test/lambda/vue/samInvokeBackend.test.ts @@ -728,6 +728,9 @@ describe('SamInvokeWebview', () => { }, lambda: { runtime: 'python3.9', + environmentVariables: { + PARAM1: 'VALUE', + }, }, sam: { containerBuild: false, From 50da3cfacfe5291c7621c2b963646850dc4199b5 Mon Sep 17 00:00:00 2001 From: jonathan Ifegunni Date: Thu, 23 Jan 2025 11:19:09 -0800 Subject: [PATCH 2/2] update changelogs --- .../core/src/awsService/appBuilder/explorer/samProject.ts | 4 +--- packages/core/src/lambda/vue/configEditor/samInvokeBackend.ts | 2 +- .../core/src/lambda/vue/configEditor/samInvokeComponent.vue | 3 --- .../Feature-b2217598-82cb-4268-b731-e137fa6a92e8.json | 4 ++++ 4 files changed, 6 insertions(+), 7 deletions(-) create mode 100644 packages/toolkit/.changes/next-release/Feature-b2217598-82cb-4268-b731-e137fa6a92e8.json diff --git a/packages/core/src/awsService/appBuilder/explorer/samProject.ts b/packages/core/src/awsService/appBuilder/explorer/samProject.ts index da225cc54f2..722ec323192 100644 --- a/packages/core/src/awsService/appBuilder/explorer/samProject.ts +++ b/packages/core/src/awsService/appBuilder/explorer/samProject.ts @@ -84,9 +84,7 @@ function getResourceEntity(template: any): ResourceTreeEntity[] { Handler: resource.Properties?.Handler ?? template?.Globals?.Function?.Handler, Events: resource.Properties?.Events ? getEvents(resource.Properties.Events) : undefined, CodeUri: resource.Properties?.CodeUri ?? template?.Globals?.Function?.CodeUri, - Environment: resource.Properties?.Environment - ? resource.Properties?.Environment - : template?.Globals?.Function?.Environment, + Environment: resource.Properties?.Environment ?? template?.Globals?.Function?.Environment, } resourceTree.push(resourceEntity) } diff --git a/packages/core/src/lambda/vue/configEditor/samInvokeBackend.ts b/packages/core/src/lambda/vue/configEditor/samInvokeBackend.ts index 8c75380a853..2c3c8ee40dd 100644 --- a/packages/core/src/lambda/vue/configEditor/samInvokeBackend.ts +++ b/packages/core/src/lambda/vue/configEditor/samInvokeBackend.ts @@ -444,7 +444,7 @@ export async function registerSamDebugInvokeVueCommand( runtime: resource.resource.Runtime!, arn: resource.functionArn ?? '', stackName: resource.stackName ?? '', - environment: resource.resource.Environment ?? undefined, + environment: resource.resource.Environment, source: source, }) await telemetry.sam_openConfigUi.run(async (span) => { diff --git a/packages/core/src/lambda/vue/configEditor/samInvokeComponent.vue b/packages/core/src/lambda/vue/configEditor/samInvokeComponent.vue index 468d7393ac6..6d64291cff6 100644 --- a/packages/core/src/lambda/vue/configEditor/samInvokeComponent.vue +++ b/packages/core/src/lambda/vue/configEditor/samInvokeComponent.vue @@ -29,9 +29,6 @@ debugger to the code running in a local Docker container. open launch.json.

- Note: If you are accessing environment variables in your function code, ensure you - input them in the "Additional fields -> Lambda -> Environment variables" section, following JSON - format:{"KEY":"VALUE"}

diff --git a/packages/toolkit/.changes/next-release/Feature-b2217598-82cb-4268-b731-e137fa6a92e8.json b/packages/toolkit/.changes/next-release/Feature-b2217598-82cb-4268-b731-e137fa6a92e8.json new file mode 100644 index 00000000000..8a0f3c45a96 --- /dev/null +++ b/packages/toolkit/.changes/next-release/Feature-b2217598-82cb-4268-b731-e137fa6a92e8.json @@ -0,0 +1,4 @@ +{ + "type": "Feature", + "description": "Update support for enVar in the webview" +}