From 08808a9f87a81fd591f4bfd135c112e2b5b84d75 Mon Sep 17 00:00:00 2001 From: Tim Holm Date: Tue, 7 Oct 2025 15:41:50 +1100 Subject: [PATCH] fix(cli): add default outputs --- engines/terraform/outputs.go | 22 ++++++++++++++++++++++ engines/terraform/terraform.go | 3 +++ 2 files changed, 25 insertions(+) create mode 100644 engines/terraform/outputs.go diff --git a/engines/terraform/outputs.go b/engines/terraform/outputs.go new file mode 100644 index 00000000..3e6aa839 --- /dev/null +++ b/engines/terraform/outputs.go @@ -0,0 +1,22 @@ +package terraform + +import ( + "github.com/aws/jsii-runtime-go" + "github.com/hashicorp/terraform-cdk-go/cdktf" +) + +func (td *TerraformDeployment) createOutputs() { + for name, module := range td.terraformResources { + td.createOutputsForModule(name, module) + } + + for name, module := range td.terraformInfraResources { + td.createOutputsForModule(name, module) + } +} + +func (td *TerraformDeployment) createOutputsForModule(name string, module cdktf.TerraformHclModule) { + cdktf.NewTerraformOutput(td.stack, jsii.Sprintf("%s_outputs", name), &cdktf.TerraformOutputConfig{ + Value: module, + }) +} diff --git a/engines/terraform/terraform.go b/engines/terraform/terraform.go index 7ec0fae3..adbb2864 100644 --- a/engines/terraform/terraform.go +++ b/engines/terraform/terraform.go @@ -231,6 +231,9 @@ func (e *TerraformEngine) Apply(appSpec *app_spec_schema.Application) (result st } } + // Create outputs for all resources + tfDeployment.createOutputs() + tfDeployment.Synth() return filepath.Join(e.outputDir, "stacks", appSpec.Name), nil