From 17a55353c3680956fcbfd4a65697bea47b336ca5 Mon Sep 17 00:00:00 2001 From: Matt Gowie Date: Wed, 7 Sep 2022 17:38:15 -0600 Subject: [PATCH] feat: adds `--skip-init` flag --- internal/exec/terraform.go | 8 ++++++++ internal/exec/utils.go | 5 +++++ pkg/config/schema.go | 2 ++ pkg/globals/globals.go | 1 + 4 files changed, 16 insertions(+) diff --git a/internal/exec/terraform.go b/internal/exec/terraform.go index 43eeb0a26..94e8e40fb 100644 --- a/internal/exec/terraform.go +++ b/internal/exec/terraform.go @@ -173,6 +173,14 @@ func ExecuteTerraform(cmd *cobra.Command, args []string) error { (info.SubCommand == "deploy" && !c.Config.Components.Terraform.DeployRunInit) { runTerraformInit = false } + + if info.SkipInit { + fmt.Println() + u.PrintInfo("Skipping over `terraform init` due to `--skip-init` being passed.") + fmt.Println() + runTerraformInit = false + } + if runTerraformInit { initCommandWithArguments := []string{"init"} if info.SubCommand == "workspace" || c.Config.Components.Terraform.InitRunReconfigure { diff --git a/internal/exec/utils.go b/internal/exec/utils.go index f268666e3..f4222aaa2 100644 --- a/internal/exec/utils.go +++ b/internal/exec/utils.go @@ -175,6 +175,7 @@ func processArgsConfigAndStacks(componentType string, cmd *cobra.Command, args [ configAndStacksInfo.AutoGenerateBackendFile = argsAndFlagsInfo.AutoGenerateBackendFile configAndStacksInfo.UseTerraformPlan = argsAndFlagsInfo.UseTerraformPlan configAndStacksInfo.DryRun = argsAndFlagsInfo.DryRun + configAndStacksInfo.SkipInit = argsAndFlagsInfo.SkipInit configAndStacksInfo.NeedHelp = argsAndFlagsInfo.NeedHelp // Check if `-h` or `--help` flags are specified @@ -566,6 +567,10 @@ func processArgsAndFlags(componentType string, inputArgsAndFlags []string) (c.Ar info.DryRun = true } + if arg == g.SkipInitFlag { + info.SkipInit = true + } + if arg == g.HelpFlag1 || arg == g.HelpFlag2 { info.NeedHelp = true } diff --git a/pkg/config/schema.go b/pkg/config/schema.go index 8c544c9d1..45c44fb79 100644 --- a/pkg/config/schema.go +++ b/pkg/config/schema.go @@ -115,6 +115,7 @@ type ArgsAndFlagsInfo struct { AutoGenerateBackendFile string UseTerraformPlan bool DryRun bool + SkipInit bool NeedHelp bool } @@ -152,6 +153,7 @@ type ConfigAndStacksInfo struct { AutoGenerateBackendFile string UseTerraformPlan bool DryRun bool + SkipInit bool ComponentInheritanceChain []string NeedHelp bool ComponentIsAbstract bool diff --git a/pkg/globals/globals.go b/pkg/globals/globals.go index 482b0739a..c060d43b7 100644 --- a/pkg/globals/globals.go +++ b/pkg/globals/globals.go @@ -24,6 +24,7 @@ const ( FromPlanFlag = "--from-plan" DryRunFlag = "--dry-run" + SkipInitFlag = "--skip-init" HelpFlag1 = "-h" HelpFlag2 = "--help"