Skip to content

feat: ensure non-interactive mode is set for Terraform commands - #303

Closed
mericstam (mericstam) wants to merge 13 commits into
mainfrom
mericstam/feat-add-input-false-for-all-supported-commands
Closed

mericstam (mericstam) wants to merge 13 commits into
mainfrom
mericstam/feat-add-input-false-for-all-supported-commands

Conversation

@mericstam

Copy link
Copy Markdown
Collaborator

This pull request updates the Terraform task handlers in both version 4 and version 5 to ensure the -input=false flag is consistently added to all Terraform commands (init, plan, apply, and destroy) if it is not already present in the commandOptions. This change improves automation by disabling interactive prompts during Terraform execution.

Updates to Terraform Task Handlers

Changes in Version 4 (TerraformTaskV4):

  • init Command: Added logic to append -input=false to commandOptions if not already present. ([Tasks/TerraformTask/TerraformTaskV4/src/base-terraform-command-handler.tsR77-R84](https://github.com/microsoft/azure-pipelines-terraform/pull/303/files#diff-f68cda4f8181153bf1003884dfec243ab7aedf1a5d0ee95edc94a3952ea06b37R77-R84))
  • plan Command: Ensured -input=false is appended to commandOptions alongside -detailed-exitcode. ([Tasks/TerraformTask/TerraformTaskV4/src/base-terraform-command-handler.tsL156-R163](https://github.com/microsoft/azure-pipelines-terraform/pull/303/files#diff-f68cda4f8181153bf1003884dfec243ab7aedf1a5d0ee95edc94a3952ea06b37L156-R163))
  • apply Command: Appended -input=false to additionalArgs if missing, ensuring non-interactive execution. ([Tasks/TerraformTask/TerraformTaskV4/src/base-terraform-command-handler.tsL214-R226](https://github.com/microsoft/azure-pipelines-terraform/pull/303/files#diff-f68cda4f8181153bf1003884dfec243ab7aedf1a5d0ee95edc94a3952ea06b37L214-R226))
  • destroy Command: Added -input=false to additionalArgs if not already included. ([Tasks/TerraformTask/TerraformTaskV4/src/base-terraform-command-handler.tsL236-R252](https://github.com/microsoft/azure-pipelines-terraform/pull/303/files#diff-f68cda4f8181153bf1003884dfec243ab7aedf1a5d0ee95edc94a3952ea06b37L236-R252))

Changes in Version 5 (TerraformTaskV5):

  • init Command: Same logic as in version 4 to add -input=false to commandOptions. ([Tasks/TerraformTask/TerraformTaskV5/src/base-terraform-command-handler.tsR77-R84](https://github.com/microsoft/azure-pipelines-terraform/pull/303/files#diff-1a3717e44dc2d4fb00c77cba4c316848cd4c64b0f043e079b120a96ec8c24839R77-R84))
  • plan Command: Ensured -input=false is appended to commandOptions alongside -detailed-exitcode. ([Tasks/TerraformTask/TerraformTaskV5/src/base-terraform-command-handler.tsL156-R163](https://github.com/microsoft/azure-pipelines-terraform/pull/303/files#diff-1a3717e44dc2d4fb00c77cba4c316848cd4c64b0f043e079b120a96ec8c24839L156-R163))
  • apply Command: Appended -input=false to additionalArgs if missing, similar to version 4. ([Tasks/TerraformTask/TerraformTaskV5/src/base-terraform-command-handler.tsL214-R226](https://github.com/microsoft/azure-pipelines-terraform/pull/303/files#diff-1a3717e44dc2d4fb00c77cba4c316848cd4c64b0f043e079b120a96ec8c24839L214-R226))
  • destroy Command: Added -input=false to additionalArgs if not already included. ([Tasks/TerraformTask/TerraformTaskV5/src/base-terraform-command-handler.tsL236-R252](https://github.com/microsoft/azure-pipelines-terraform/pull/303/files#diff-1a3717e44dc2d4fb00c77cba4c316848cd4c64b0f043e079b120a96ec8c24839L236-R252))

@mericstam mericstam (mericstam) linked an issue Jun 4, 2025 that may be closed by this pull request

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request updates the Azure Pipelines Terraform task implementations (v4 and v5) to consistently run Terraform in non-interactive mode by ensuring -input=false is present for init, plan, apply, and destroy, and updates the associated L0 test fixtures to match the new CLI invocations.

Changes:

  • Inject -input=false into Terraform command options for init, plan, apply, and destroy in both TerraformTaskV4 and TerraformTaskV5.
  • Update numerous v4/v5 L0 test fixtures to expect the new command lines (and, in several places, updated terraform providers output).
  • Remove some L0 scenarios around “additional args without -auto-approve” and adjust test/dependency artifacts.

Reviewed changes

Copilot reviewed 212 out of 236 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
views/terraform-plan/src/services/plan-formatter.ts (Included in PR file list)
views/terraform-plan/src/services/attachments.ts (Included in PR file list)
views/terraform-plan/src/plan-summary-tab/terraform-plan-formatter.scss (Included in PR file list)
views/terraform-plan/src/plan-summary-tab/plan-summary-tab.tsx (Included in PR file list)
views/terraform-plan/src/plan-summary-tab/plan-summary-tab.scss (Included in PR file list)
Tasks/TerraformTask/TerraformTaskV5/src/base-terraform-command-handler.ts Add -input=false injection for init/plan/apply/destroy
Tasks/TerraformTask/TerraformTaskV4/src/base-terraform-command-handler.ts Add -input=false injection for init/plan/apply/destroy
Tasks/TerraformTask/TerraformTaskV4/src/terraform.ts Adds logging of full Terraform command/args (needs gating/removal)
Tasks/TerraformTask/TerraformTaskV5/Tests/L0.ts Removes several L0 cases for “without -auto-approve” scenarios
Tasks/TerraformTask/TerraformTaskV5/Tests/package-lock.json Updates npm lockfile format/version
Tasks/TerraformTask/TerraformTaskV5/Tests/PlanTests/GCP/GCPPlanSuccessNoAdditionalArgs.ts Update expected plan command to include -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/PlanTests/GCP/GCPPlanSuccessAdditionalArgs.ts Update expected plan command to include -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/PlanTests/GCP/GCPPlanFailInvalidWorkingDirectory.ts Update expected plan command permutations incl. -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/PlanTests/GCP/GCPPlanFailEmptyWorkingDirectory.ts Update expected plan command permutations incl. -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/PlanTests/Azure/AzurePlanSuccessNoAdditionalArgs.ts Update expected plan command permutations incl. -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/PlanTests/Azure/AzurePlanSuccessAdditionalArgs.ts Expand expected plan permutations incl. -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/PlanTests/Azure/AzurePlanFailInvalidWorkingDirectory.ts Update expected plan permutations incl. -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/PlanTests/Azure/AzurePlanFailEmptyWorkingDirectory.ts Update expected plan permutations incl. -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/PlanTests/AWS/AWSPlanSuccessNoAdditionalArgs.ts Update expected plan command to include -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/PlanTests/AWS/AWSPlanSuccessAdditionalArgs.ts Update expected plan command to include -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/PlanTests/AWS/AWSPlanFailInvalidWorkingDirectory.ts Update expected plan permutations incl. -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/PlanTests/AWS/AWSPlanFailEmptyWorkingDirectory.ts Update expected plan permutations incl. -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/InitTests/GCP/GCPInitSuccessNoAdditionalArgs.ts Update expected init command to include -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/InitTests/GCP/GCPInitSuccessEmptyWorkingDir.ts Update expected init command permutations incl. -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/InitTests/GCP/GCPInitSuccessAdditionalArgs.ts Update expected init command permutations incl. -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/InitTests/GCP/GCPInitFailInvalidWorkingDirectory.ts Update expected init command permutations incl. -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/InitTests/Azure/AzureInitSuccessNoAdditionalArgsAndDefaultSettings.ts Update expected init command to include -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/InitTests/Azure/AzureInitSuccessNoAdditionalArgs.ts Update expected init command to include -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/InitTests/Azure/AzureInitSuccessMissingAuthenticationScheme.ts Update expected init command to include -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/InitTests/Azure/AzureInitSuccessMalformedAuthenticationScheme.ts Update expected init command to include -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/InitTests/Azure/AzureInitSuccessLowerCaseAuthenticationScheme.ts Update expected init command to include -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/InitTests/Azure/AzureInitSuccessEmptyWorkingDir.ts Update expected init command permutations incl. -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/InitTests/Azure/AzureInitSuccessAuthenticationSchemeWorkloadIdentityFederationAndIDTokenFallback.ts Add webapi mock + include -input=false in expected init
Tasks/TerraformTask/TerraformTaskV5/Tests/InitTests/Azure/AzureInitSuccessAuthenticationSchemeWorkloadIdentityFederationAndDefaultSettings.ts Add webapi mock + include -input=false in expected init
Tasks/TerraformTask/TerraformTaskV5/Tests/InitTests/Azure/AzureInitSuccessAuthenticationSchemeWorkloadIdentityFederationAndCLIFlags.ts Add webapi mock + include -input=false in expected init
Tasks/TerraformTask/TerraformTaskV5/Tests/InitTests/Azure/AzureInitSuccessAuthenticationSchemeWorkloadIdentityFederation.ts Add webapi mock + include -input=false in expected init
Tasks/TerraformTask/TerraformTaskV5/Tests/InitTests/Azure/AzureInitSuccessAuthenticationSchemeManagedServiceIdentityAndDefaultSettings.ts Update expected init command to include -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/InitTests/Azure/AzureInitSuccessAuthenticationSchemeManagedServiceIdentity.ts Update expected init command to include -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/InitTests/Azure/AzureInitSuccessAdditionalArgs.ts Update expected init command permutations incl. -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/InitTests/Azure/AzureInitFailInvalidWorkingDirectory.ts Update expected init command permutations incl. -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/InitTests/AWS/AWSInitSuccessNoAdditionalArgs.ts Update expected init command to include -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/InitTests/AWS/AWSInitSuccessEmptyWorkingDir.ts Update expected init command permutations incl. -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/InitTests/AWS/AWSInitSuccessAdditionalArgs.ts Update expected init command to include -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/InitTests/AWS/AWSInitFailInvalidWorkingDirectory.ts Update expected init command permutations incl. -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/ApplyTests/GCP/GCPApplySuccessNoAdditionalArgs.ts Update expected apply command to include -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/ApplyTests/GCP/GCPApplySuccessAdditionalArgsWithoutAutoApproveL0.ts Deleted test entrypoint
Tasks/TerraformTask/TerraformTaskV5/Tests/ApplyTests/GCP/GCPApplySuccessAdditionalArgsWithoutAutoApprove.ts Deleted test harness
Tasks/TerraformTask/TerraformTaskV5/Tests/ApplyTests/GCP/GCPApplySuccessAdditionalArgsWithAutoApprove.ts Expand expected apply permutations incl. -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/ApplyTests/GCP/GCPApplyFailInvalidWorkingDirectory.ts Update expected apply permutations incl. -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/ApplyTests/GCP/GCPApplyFailEmptyWorkingDirectory.ts Update expected apply permutations incl. -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/ApplyTests/Azure/AzureApplySuccessNoAdditionalArgs.ts Update expected apply command to include -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/ApplyTests/Azure/AzureApplySuccessAuthenticationSchemeWorkloadIdentityFederation.ts Add webapi mock + expected apply permutations incl. -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/ApplyTests/Azure/AzureApplySuccessAuthenticationSchemeManagedServiceIdentity.ts Update expected apply command to include -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/ApplyTests/Azure/AzureApplySuccessAdditionalArgsWithoutAutoApproveL0.ts Deleted test entrypoint
Tasks/TerraformTask/TerraformTaskV5/Tests/ApplyTests/Azure/AzureApplySuccessAdditionalArgsWithoutAutoApprove.ts Deleted test harness
Tasks/TerraformTask/TerraformTaskV5/Tests/ApplyTests/Azure/AzureApplySuccessAdditionalArgsWithAutoApprove.ts Expand expected apply permutations incl. -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/ApplyTests/Azure/AzureApplyFailInvalidWorkingDirectory.ts Update expected apply permutations incl. -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/ApplyTests/Azure/AzureApplyFailEmptyWorkingDirectory.ts Update expected apply permutations incl. -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/ApplyTests/AWS/AWSApplySuccessNoAdditionalArgs.ts Update expected apply command to include -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/ApplyTests/AWS/AWSApplySuccessAdditionalArgsWithoutAutoApproveL0.ts Deleted test entrypoint
Tasks/TerraformTask/TerraformTaskV5/Tests/ApplyTests/AWS/AWSApplySuccessAdditionalArgsWithoutAutoApprove.ts Deleted test harness
Tasks/TerraformTask/TerraformTaskV5/Tests/ApplyTests/AWS/AWSApplySuccessAdditionalArgsWithAutoApprove.ts Expand expected apply permutations incl. -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/ApplyTests/AWS/AWSApplyFailInvalidWorkingDirectory.ts Update expected apply permutations incl. -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/ApplyTests/AWS/AWSApplyFailEmptyWorkingDirectory.ts Update expected apply permutations incl. -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/DestroyTests/GCP/GCPDestroySuccessNoAdditionalArgs.ts Update expected destroy command to include -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/DestroyTests/GCP/GCPDestroySuccessAdditionalArgsWithoutAutoApproveL0.ts Deleted test entrypoint
Tasks/TerraformTask/TerraformTaskV5/Tests/DestroyTests/GCP/GCPDestroySuccessAdditionalArgsWithoutAutoApprove.ts Deleted test harness
Tasks/TerraformTask/TerraformTaskV5/Tests/DestroyTests/GCP/GCPDestroySuccessAdditionalArgsWithAutoApprove.ts Expand expected destroy permutations incl. -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/DestroyTests/GCP/GCPDestroyFailInvalidWorkingDirectory.ts Update expected destroy permutations incl. -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/DestroyTests/Azure/AzureDestroySuccessNoAdditionalArgs.ts Update expected destroy command to include -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/DestroyTests/Azure/AzureDestroySuccessAdditionalArgsWithoutAutoApproveL0.ts Deleted test entrypoint
Tasks/TerraformTask/TerraformTaskV5/Tests/DestroyTests/Azure/AzureDestroySuccessAdditionalArgsWithoutAutoApprove.ts Deleted test harness
Tasks/TerraformTask/TerraformTaskV5/Tests/DestroyTests/Azure/AzureDestroySuccessAdditionalArgsWithAutoApprove.ts Expand expected destroy permutations incl. -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/DestroyTests/Azure/AzureDestroyFailInvalidWorkingDirectory.ts Update expected destroy permutations incl. -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/DestroyTests/AWS/AWSDestroySuccessNoAdditionalArgs.ts Update expected destroy command to include -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/DestroyTests/AWS/AWSDestroySuccessAdditionalArgsWithoutAutoApproveL0.ts Deleted test entrypoint
Tasks/TerraformTask/TerraformTaskV5/Tests/DestroyTests/AWS/AWSDestroySuccessAdditionalArgsWithoutAutoApprove.ts Deleted test harness
Tasks/TerraformTask/TerraformTaskV5/Tests/DestroyTests/AWS/AWSDestroySuccessAdditionalArgsWithAutoApprove.ts Expand expected destroy permutations incl. -input=false
Tasks/TerraformTask/TerraformTaskV5/Tests/DestroyTests/AWS/AWSDestroyFailInvalidWorkingDirectory.ts Update expected destroy permutations incl. -input=false
Tasks/TerraformTask/TerraformTaskV4/Tests/package.json Add npm metadata for v4 tests
Tasks/TerraformTask/TerraformTaskV4/Tests/package-lock.json Add v4 test lockfile
Tasks/TerraformTask/TerraformTaskV4/Tests/L0CompareVersions.ts Adds v4 compareVersions L0 script
Tasks/TerraformTask/TerraformTaskV4/Tests/L0.ts (Included in PR file list via diff context)
Tasks/TerraformTask/TerraformTaskV4/Tests/MultipleProviderTests/SingleProviderNoWarningL0.ts Normalize import path quoting
Tasks/TerraformTask/TerraformTaskV4/Tests/MultipleProviderTests/SingleProviderNoWarning.ts Add/update harness for provider warning test
Tasks/TerraformTask/TerraformTaskV4/Tests/MultipleProviderTests/MultipleProviderWarningL0.ts Normalize import path quoting
Tasks/TerraformTask/TerraformTaskV4/Tests/MultipleProviderTests/MultipleProviderWarning.ts Add/update harness for provider warning test
Tasks/TerraformTask/TerraformTaskV4/Tests/ValidateTests/GCP/GCPValidateSuccessNoAdditionalArgsL0.ts Normalize import path quoting
Tasks/TerraformTask/TerraformTaskV4/Tests/ValidateTests/GCP/GCPValidateSuccessNoAdditionalArgs.ts Add/update validate harness
Tasks/TerraformTask/TerraformTaskV4/Tests/ValidateTests/GCP/GCPValidateSuccessEmptyWorkingDirL0.ts Normalize import path quoting
Tasks/TerraformTask/TerraformTaskV4/Tests/ValidateTests/GCP/GCPValidateSuccessEmptyWorkingDir.ts Add/update validate harness
Tasks/TerraformTask/TerraformTaskV4/Tests/ValidateTests/GCP/GCPValidateSuccessAdditionalArgsL0.ts Normalize import path quoting
Tasks/TerraformTask/TerraformTaskV4/Tests/ValidateTests/GCP/GCPValidateSuccessAdditionalArgs.ts Add/update validate harness
Tasks/TerraformTask/TerraformTaskV4/Tests/ValidateTests/GCP/GCPValidateFailInvalidWorkingDirectoryL0.ts Normalize import path quoting
Tasks/TerraformTask/TerraformTaskV4/Tests/ValidateTests/GCP/GCPValidateFailInvalidWorkingDirectory.ts Add/update validate harness
Tasks/TerraformTask/TerraformTaskV4/Tests/ValidateTests/Azure/AzureValidateSuccessNoAdditionalArgsL0.ts Normalize import path quoting
Tasks/TerraformTask/TerraformTaskV4/Tests/ValidateTests/Azure/AzureValidateSuccessNoAdditionalArgs.ts Update validate harness inputs
Tasks/TerraformTask/TerraformTaskV4/Tests/ValidateTests/Azure/AzureValidateSuccessEmptyWorkingDirL0.ts Normalize import path quoting
Tasks/TerraformTask/TerraformTaskV4/Tests/ValidateTests/Azure/AzureValidateSuccessEmptyWorkingDir.ts Add/update validate harness
Tasks/TerraformTask/TerraformTaskV4/Tests/ValidateTests/Azure/AzureValidateSuccessAdditionalArgsL0.ts Normalize import path quoting
Tasks/TerraformTask/TerraformTaskV4/Tests/ValidateTests/Azure/AzureValidateSuccessAdditionalArgs.ts Add/update validate harness
Tasks/TerraformTask/TerraformTaskV4/Tests/ValidateTests/Azure/AzureValidateFailInvalidWorkingDirectoryL0.ts Normalize import path quoting
Tasks/TerraformTask/TerraformTaskV4/Tests/ValidateTests/Azure/AzureValidateFailInvalidWorkingDirectory.ts Add/update validate harness
Tasks/TerraformTask/TerraformTaskV4/Tests/ValidateTests/AWS/AWSValidateSuccessNoAdditionalArgsL0.ts Normalize import path quoting
Tasks/TerraformTask/TerraformTaskV4/Tests/ValidateTests/AWS/AWSValidateSuccessNoAdditionalArgs.ts Add/update validate harness
Tasks/TerraformTask/TerraformTaskV4/Tests/ValidateTests/AWS/AWSValidateSuccessEmptyWorkingDirL0.ts Normalize import path quoting
Tasks/TerraformTask/TerraformTaskV4/Tests/ValidateTests/AWS/AWSValidateSuccessEmptyWorkingDir.ts Add/update validate harness
Tasks/TerraformTask/TerraformTaskV4/Tests/ValidateTests/AWS/AWSValidateSuccessAdditionalArgsL0.ts Normalize import path quoting
Tasks/TerraformTask/TerraformTaskV4/Tests/ValidateTests/AWS/AWSValidateSuccessAdditionalArgs.ts Add/update validate harness
Tasks/TerraformTask/TerraformTaskV4/Tests/ValidateTests/AWS/AWSValidateFailInvalidWorkingDirectoryL0.ts Normalize import path quoting
Tasks/TerraformTask/TerraformTaskV4/Tests/ValidateTests/AWS/AWSValidateFailInvalidWorkingDirectory.ts Add/update validate harness
Tasks/TerraformTask/TerraformTaskV4/Tests/PlanTests/GCP/GCPPlanSuccessNoAdditionalArgsL0.ts Normalize import path quoting
Tasks/TerraformTask/TerraformTaskV4/Tests/PlanTests/GCP/GCPPlanSuccessNoAdditionalArgs.ts Update expected plan permutations incl. -input=false
Tasks/TerraformTask/TerraformTaskV4/Tests/PlanTests/GCP/GCPPlanSuccessAdditionalArgsL0.ts Normalize import path quoting
Tasks/TerraformTask/TerraformTaskV4/Tests/PlanTests/GCP/GCPPlanSuccessAdditionalArgs.ts Update expected plan permutations incl. -input=false
Tasks/TerraformTask/TerraformTaskV4/Tests/PlanTests/GCP/GCPPlanFailInvalidWorkingDirectoryL0.ts Normalize import path quoting
Tasks/TerraformTask/TerraformTaskV4/Tests/PlanTests/GCP/GCPPlanFailInvalidWorkingDirectory.ts Update expected plan permutations incl. -input=false
Tasks/TerraformTask/TerraformTaskV4/Tests/PlanTests/GCP/GCPPlanFailEmptyWorkingDirectoryL0.ts Normalize import path quoting
Tasks/TerraformTask/TerraformTaskV4/Tests/PlanTests/GCP/GCPPlanFailEmptyWorkingDirectory.ts Update expected plan permutations incl. -input=false
Tasks/TerraformTask/TerraformTaskV4/Tests/PlanTests/Azure/AzurePlanSuccessNoAdditionalArgsL0.ts Add verbose console logging + normalize import quoting
Tasks/TerraformTask/TerraformTaskV4/Tests/PlanTests/Azure/AzurePlanSuccessNoAdditionalArgs.ts Update expected plan permutations incl. -input=false
Tasks/TerraformTask/TerraformTaskV4/Tests/PlanTests/Azure/AzurePlanSuccessAdditionalArgsL0.ts Add verbose console logging + normalize import quoting
Tasks/TerraformTask/TerraformTaskV4/Tests/PlanTests/Azure/AzurePlanSuccessAdditionalArgs.ts Expand expected plan permutations incl. -input=false
Tasks/TerraformTask/TerraformTaskV4/Tests/PlanTests/Azure/AzurePlanFailInvalidWorkingDirectoryL0.ts Normalize import quoting
Tasks/TerraformTask/TerraformTaskV4/Tests/PlanTests/Azure/AzurePlanFailInvalidWorkingDirectory.ts Update expected plan permutations incl. -input=false
Tasks/TerraformTask/TerraformTaskV4/Tests/PlanTests/Azure/AzurePlanFailEmptyWorkingDirectoryL0.ts Normalize import quoting
Tasks/TerraformTask/TerraformTaskV4/Tests/PlanTests/Azure/AzurePlanFailEmptyWorkingDirectory.ts Update expected plan permutations incl. -input=false
Tasks/TerraformTask/TerraformTaskV4/Tests/PlanTests/AWS/AWSPlanSuccessNoAdditionalArgsL0.ts Normalize import quoting
Tasks/TerraformTask/TerraformTaskV4/Tests/PlanTests/AWS/AWSPlanSuccessNoAdditionalArgs.ts Update expected plan permutations incl. -input=false
Tasks/TerraformTask/TerraformTaskV4/Tests/PlanTests/AWS/AWSPlanSuccessAdditionalArgsL0.ts Normalize import quoting
Tasks/TerraformTask/TerraformTaskV4/Tests/PlanTests/AWS/AWSPlanSuccessAdditionalArgs.ts Update expected plan permutations incl. -input=false
Tasks/TerraformTask/TerraformTaskV4/Tests/PlanTests/AWS/AWSPlanFailInvalidWorkingDirectoryL0.ts Normalize import quoting
Tasks/TerraformTask/TerraformTaskV4/Tests/PlanTests/AWS/AWSPlanFailInvalidWorkingDirectory.ts Update expected plan permutations incl. -input=false
Tasks/TerraformTask/TerraformTaskV4/Tests/PlanTests/AWS/AWSPlanFailEmptyWorkingDirectoryL0.ts Normalize import quoting
Tasks/TerraformTask/TerraformTaskV4/Tests/PlanTests/AWS/AWSPlanFailEmptyWorkingDirectory.ts Update expected plan permutations incl. -input=false
Tasks/TerraformTask/TerraformTaskV4/Tests/InitTests/GCP/GCPInitSuccessNoAdditionalArgsL0.ts Normalize import quoting
Tasks/TerraformTask/TerraformTaskV4/Tests/InitTests/GCP/GCPInitSuccessNoAdditionalArgs.ts Update expected init command to include -input=false
Tasks/TerraformTask/TerraformTaskV4/Tests/InitTests/GCP/GCPInitSuccessEmptyWorkingDirL0.ts Normalize import quoting
Tasks/TerraformTask/TerraformTaskV4/Tests/InitTests/GCP/GCPInitSuccessEmptyWorkingDir.ts Update expected init command to include -input=false
Tasks/TerraformTask/TerraformTaskV4/Tests/InitTests/GCP/GCPInitSuccessAdditionalArgsL0.ts Normalize import quoting
Tasks/TerraformTask/TerraformTaskV4/Tests/InitTests/GCP/GCPInitSuccessAdditionalArgs.ts Update expected init command to include -input=false
Tasks/TerraformTask/TerraformTaskV4/Tests/InitTests/GCP/GCPInitFailInvalidWorkingDirectoryL0.ts Normalize import quoting
Tasks/TerraformTask/TerraformTaskV4/Tests/InitTests/GCP/GCPInitFailInvalidWorkingDirectory.ts Update expected init command to include -input=false
Tasks/TerraformTask/TerraformTaskV4/Tests/InitTests/Azure/AzureInitSuccessNoAdditionalArgsL0.ts Normalize import quoting
Tasks/TerraformTask/TerraformTaskV4/Tests/InitTests/Azure/AzureInitSuccessNoAdditionalArgsAndDefaultSettingsL0.ts Normalize import quoting
Tasks/TerraformTask/TerraformTaskV4/Tests/InitTests/Azure/AzureInitSuccessNoAdditionalArgsAndDefaultSettings.ts Update expected init command to include -input=false
Tasks/TerraformTask/TerraformTaskV4/Tests/InitTests/Azure/AzureInitSuccessNoAdditionalArgs.ts Update expected init command to include -input=false
Tasks/TerraformTask/TerraformTaskV4/Tests/InitTests/Azure/AzureInitSuccessMissingAuthenticationSchemeL0.ts Normalize import quoting
Tasks/TerraformTask/TerraformTaskV4/Tests/InitTests/Azure/AzureInitSuccessMissingAuthenticationScheme.ts Update expected init command to include -input=false
Tasks/TerraformTask/TerraformTaskV4/Tests/InitTests/Azure/AzureInitSuccessMalformedAuthenticationSchemeL0.ts Normalize import quoting
Tasks/TerraformTask/TerraformTaskV4/Tests/InitTests/Azure/AzureInitSuccessMalformedAuthenticationScheme.ts Update expected init command to include -input=false
Tasks/TerraformTask/TerraformTaskV4/Tests/InitTests/Azure/AzureInitSuccessLowerCaseAuthenticationSchemeL0.ts Normalize import quoting
Tasks/TerraformTask/TerraformTaskV4/Tests/InitTests/Azure/AzureInitSuccessLowerCaseAuthenticationScheme.ts Update expected init command to include -input=false
Tasks/TerraformTask/TerraformTaskV4/Tests/InitTests/Azure/AzureInitSuccessEmptyWorkingDirL0.ts Normalize import quoting
Tasks/TerraformTask/TerraformTaskV4/Tests/InitTests/Azure/AzureInitSuccessEmptyWorkingDir.ts Update expected init command to include -input=false
Tasks/TerraformTask/TerraformTaskV4/Tests/InitTests/Azure/AzureInitSuccessAuthenticationSchemeWorkloadIdentityFederationL0.ts Normalize import quoting
Tasks/TerraformTask/TerraformTaskV4/Tests/InitTests/Azure/AzureInitSuccessAuthenticationSchemeWorkloadIdentityFederationAndDefaultSettingsL0.ts Normalize import quoting
Tasks/TerraformTask/TerraformTaskV4/Tests/InitTests/Azure/AzureInitSuccessAuthenticationSchemeWorkloadIdentityFederationAndDefaultSettings.ts Update expected init command to include -input=false
Tasks/TerraformTask/TerraformTaskV4/Tests/InitTests/Azure/AzureInitSuccessAuthenticationSchemeWorkloadIdentityFederation.ts Update expected init command to include -input=false
Tasks/TerraformTask/TerraformTaskV4/Tests/InitTests/Azure/AzureInitSuccessAuthenticationSchemeManagedServiceIdentityL0.ts Normalize import quoting
Tasks/TerraformTask/TerraformTaskV4/Tests/InitTests/Azure/AzureInitSuccessAuthenticationSchemeManagedServiceIdentityAndDefaultSettingsL0.ts Normalize import quoting
Tasks/TerraformTask/TerraformTaskV4/Tests/InitTests/Azure/AzureInitSuccessAuthenticationSchemeManagedServiceIdentityAndDefaultSettings.ts Update expected init command to include -input=false
Tasks/TerraformTask/TerraformTaskV4/Tests/InitTests/Azure/AzureInitSuccessAuthenticationSchemeManagedServiceIdentity.ts Update expected init command to include -input=false
Tasks/TerraformTask/TerraformTaskV4/Tests/InitTests/Azure/AzureInitSuccessAdditionalArgsL0.ts Refactor L0 entrypoint + add console logging
Tasks/TerraformTask/TerraformTaskV4/Tests/InitTests/Azure/AzureInitSuccessAdditionalArgs.ts Update expected init command to include -input=false
Tasks/TerraformTask/TerraformTaskV4/Tests/InitTests/Azure/AzureInitFailInvalidWorkingDirectoryL0.ts Normalize import quoting
Tasks/TerraformTask/TerraformTaskV4/Tests/InitTests/Azure/AzureInitFailInvalidWorkingDirectory.ts Update expected init command to include -input=false
Tasks/TerraformTask/TerraformTaskV4/Tests/InitTests/AWS/AWSInitSuccessNoAdditionalArgsL0.ts Normalize import quoting
Tasks/TerraformTask/TerraformTaskV4/Tests/InitTests/AWS/AWSInitSuccessNoAdditionalArgs.ts Update expected init command to include -input=false
Tasks/TerraformTask/TerraformTaskV4/Tests/InitTests/AWS/AWSInitSuccessEmptyWorkingDirL0.ts Normalize import quoting
Tasks/TerraformTask/TerraformTaskV4/Tests/InitTests/AWS/AWSInitSuccessEmptyWorkingDir.ts Update expected init command to include -input=false
Tasks/TerraformTask/TerraformTaskV4/Tests/InitTests/AWS/AWSInitSuccessAdditionalArgsL0.ts Normalize import quoting
Tasks/TerraformTask/TerraformTaskV4/Tests/InitTests/AWS/AWSInitSuccessAdditionalArgs.ts Update expected init command to include -input=false
Tasks/TerraformTask/TerraformTaskV4/Tests/InitTests/AWS/AWSInitFailInvalidWorkingDirectoryL0.ts Normalize import quoting
Tasks/TerraformTask/TerraformTaskV4/Tests/InitTests/AWS/AWSInitFailInvalidWorkingDirectory.ts Update expected init command to include -input=false
Tasks/TerraformTask/TerraformTaskV4/Tests/DestroyTests/** Update expected destroy commands to include -input=false and delete “WithoutAutoApprove” variants
Tasks/TerraformTask/TerraformTaskV4/Tests/ApplyTests/** Update expected apply commands to include -input=false and delete “WithoutAutoApprove” variants
Tasks/TerraformTask/TerraformTaskV4/package.json Update dependency versions/order
Tasks/TerraformTask/TerraformTaskV4/package-lock.json Update locked dependency metadata (del)
Files not reviewed (2)
  • Tasks/TerraformTask/TerraformTaskV4/package-lock.json: Generated file
  • Tasks/TerraformTask/TerraformTaskV5/Tests/package-lock.json: Generated file

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 25 to 29
terraformToolRunner.arg(command.name);
if (command.additionalArgs) {
console.log(`Adding additional args: ${command.additionalArgs}`);
terraformToolRunner.line(command.additionalArgs);
}
Comment on lines +31 to +34
// Debug the full command
const fullCommand = `terraform ${command.name} ${command.additionalArgs || ''}`;
console.log(`Full command to be executed: terraform ${command.name} ${command.additionalArgs || ''}`);
console.log(`Full command to be executed: ${fullCommand}`);
Comment on lines 219 to 228
let autoApprove: string = '-auto-approve';
let additionalArgs: string = tasks.getInput("commandOptions") || autoApprove;

let inputFalse: string = '-input=false';
let additionalArgs: string = tasks.getInput("commandOptions") || "";

if (additionalArgs.includes(inputFalse) === false) {
additionalArgs = `${inputFalse} ${additionalArgs}`;
}
if (additionalArgs.includes(autoApprove) === false) {
additionalArgs = `${autoApprove} ${additionalArgs}`;
}
Comment on lines 219 to 228
let autoApprove: string = '-auto-approve';
let additionalArgs: string = tasks.getInput("commandOptions") || autoApprove;

let inputFalse: string = '-input=false';
let additionalArgs: string = tasks.getInput("commandOptions") || "";
if (additionalArgs.includes(inputFalse) === false) {
additionalArgs = `${inputFalse} ${additionalArgs}`;
}

if (additionalArgs.includes(autoApprove) === false) {
additionalArgs = `${autoApprove} ${additionalArgs}`;
}
assert(tr.stdOutContained('AzureApplySuccessAdditionalArgsWithoutAutoApproveL0 should have succeeded.'), 'Should have printed: AzureApplySuccessAdditionalArgsWithoutAutoApproveL0 should have succeeded.');
}, tr);
});
// Removed 'azure apply should succeed with additional args without -auto-approve' test as it's misleading
@mericstam

Copy link
Copy Markdown
Collaborator Author

aborting this, will look into the fixing the flaky tests first

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Include -input=false for all commands that support it

2 participants