diff --git a/packages/core/src/lambda/vue/configEditor/samInvokeBackend.ts b/packages/core/src/lambda/vue/configEditor/samInvokeBackend.ts index b292c8ab93e..2084ebe82fe 100644 --- a/packages/core/src/lambda/vue/configEditor/samInvokeBackend.ts +++ b/packages/core/src/lambda/vue/configEditor/samInvokeBackend.ts @@ -13,6 +13,7 @@ import { AwsSamDebuggerConfiguration, isCodeTargetProperties, isTemplateTargetProperties, + TemplateTargetProperties, } from '../../../shared/sam/debugger/awsSamDebugConfiguration' import { DefaultAwsSamDebugConfigurationValidator, @@ -433,15 +434,19 @@ export async function registerSamDebugInvokeVueCommand( context: vscode.ExtensionContext, params: { resource: ResourceNode } ) { - const launchConfig: AwsSamDebuggerConfiguration | undefined = undefined const resource = params?.resource.resource const source = 'AppBuilderLocalInvoke' + const launchConfigs = await new LaunchConfiguration(resource.location).getSamDebugConfigurations() + const launchConfig = launchConfigs.find( + (config) => (config.invokeTarget as TemplateTargetProperties).logicalId === resource.resource.Id + ) + const webview = new WebviewPanel(context, launchConfig, { logicalId: resource.resource.Id ?? '', region: resource.region ?? '', location: resource.location.fsPath, handler: resource.resource.Handler!, - runtime: resource.resource.Runtime!, + runtime: launchConfig?.lambda?.runtime ?? resource.resource.Runtime!, arn: resource.functionArn ?? '', stackName: resource.stackName ?? '', environment: resource.resource.Environment, diff --git a/packages/toolkit/.changes/next-release/Feature-d85ac3b3-0e30-41fd-9dc1-1d214275189a.json b/packages/toolkit/.changes/next-release/Feature-d85ac3b3-0e30-41fd-9dc1-1d214275189a.json new file mode 100644 index 00000000000..851f275f942 --- /dev/null +++ b/packages/toolkit/.changes/next-release/Feature-d85ac3b3-0e30-41fd-9dc1-1d214275189a.json @@ -0,0 +1,4 @@ +{ + "type": "Feature", + "description": "App Builder: Autoload debug configuration for local invoke webview" +}