From 0c90df55ef0c8180fbbf59aad107825b9e18ff61 Mon Sep 17 00:00:00 2001 From: haitham911 Date: Thu, 19 Dec 2024 14:37:39 +0200 Subject: [PATCH] feat --everything is the default behavior --- internal/exec/help.go | 2 +- internal/exec/utils.go | 8 +++++++- website/docs/cli/commands/terraform/terraform-clean.mdx | 2 +- website/docs/cli/commands/terraform/usage.mdx | 2 +- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/internal/exec/help.go b/internal/exec/help.go index b90c8ce64..e5c8257ef 100644 --- a/internal/exec/help.go +++ b/internal/exec/help.go @@ -79,7 +79,7 @@ func processHelp( " - generated 'backend.tf.json' file\n" + " - 'terraform.tfstate.d' folder (if '--everything' flag is used)\n\n" + "Usage: atmos terraform clean -s \n\n" + - "Use '--everything' flag to also delete the Terraform state files and and directories with confirm message.\n\n" + + "Use '--everything' flag —everything is the default behavior to delete the Terraform state files and and directories with confirm message.\n\n" + "Use --force to forcefully delete Terraform state files and directories for the component.\n\n" + "- If no component is specified, the command will apply to all components and stacks.\n" + "- If no stack is specified, the command will apply to all stacks for the specified component.\n" + diff --git a/internal/exec/utils.go b/internal/exec/utils.go index a3a7c9cc5..d052ae4e8 100644 --- a/internal/exec/utils.go +++ b/internal/exec/utils.go @@ -657,8 +657,14 @@ func processArgsAndFlags(componentType string, inputArgsAndFlags []string) (sche var additionalArgsAndFlags []string var globalOptions []string var indexesToRemove []int + if len(inputArgsAndFlags) > 1 && inputArgsAndFlags[0] == "clean" { + if !u.SliceContainsString(inputArgsAndFlags, everythingFlag) { + inputArgsAndFlags = append(inputArgsAndFlags, everythingFlag) + } + } + fmt.Println(inputArgsAndFlags) - // For commands like `atmos terraform clean` and `atmos terraform plan`, show the command help + // For commands like `atmos terraform plan`, show the command help if len(inputArgsAndFlags) == 1 && inputArgsAndFlags[0] != "version" { info.SubCommand = inputArgsAndFlags[0] info.NeedHelp = true diff --git a/website/docs/cli/commands/terraform/terraform-clean.mdx b/website/docs/cli/commands/terraform/terraform-clean.mdx index 3ddc4b341..766fea226 100644 --- a/website/docs/cli/commands/terraform/terraform-clean.mdx +++ b/website/docs/cli/commands/terraform/terraform-clean.mdx @@ -23,7 +23,7 @@ Execute the `terraform clean` command like this: atmos terraform clean -s [--skip-lock-file] [--everything] [--force] :::warning -The `--everything` flag will delete all Terraform-related files including state files. The `--force` flag will bypass confirmation prompts. +The `--everything` flag is the default behavior and will delete all Terraform-related files including state files. The `--force` flag will bypass confirmation prompts. Use these flags with extreme caution as they can lead to irreversible data loss. ::: ``` diff --git a/website/docs/cli/commands/terraform/usage.mdx b/website/docs/cli/commands/terraform/usage.mdx index ce60dbee6..9054a5b16 100644 --- a/website/docs/cli/commands/terraform/usage.mdx +++ b/website/docs/cli/commands/terraform/usage.mdx @@ -59,7 +59,7 @@ HCL-based domain-specific language and its interpreter. Atmos works with [OpenTo - `atmos terraform clean` command deletes the `.terraform` folder, `.terraform.lock.hcl` lock file, and the previously generated `planfile` and `varfile` for the specified component and stack. Use the `--skip-lock-file` flag to skip deleting the `.terraform.lock.hcl` file. - Use the `--everything` flag to delete all the local Terraform state files and directories (including `terraform.tfstate.d`) for all components and stacks. + Use the `--everything` flag is the default behavior to delete all the local Terraform state files and directories (including `terraform.tfstate.d`) for all components and stacks. Use the `--force` flag to bypass the safety confirmation prompt and force the deletion (use with caution). :::warning