Private/Config-Helpers/Remove-TerraformMetaFileSet.ps1
function Remove-TerraformMetaFileSet { [CmdletBinding(SupportsShouldProcess = $true)] param ( [Parameter(Mandatory = $false)] [string]$path, [Parameter(Mandatory = $false)] [array]$terraformFilesOrFoldersToRemove = $( "terraform.tfstate", "terraform.tfstate.backup", ".terraform", "terraform.tfvars", ".terraform.lock.hcl" ), [Parameter(Mandatory = $false)] [switch]$writeVerboseLogs ) if($PSCmdlet.ShouldProcess("Remove files", "modify")) { if($terraformFilesOrFoldersToRemove.Length -eq 0 ) { Write-Verbose "No folders or files specified, so not removing aything from $path" return } $filesAndFolders = Get-ChildItem -Path $path -Force foreach ($fileOrFolder in $filesAndFolders) { if($terraformFilesOrFoldersToRemove -contains $fileOrFolder.Name) { if($writeVerboseLogs) { Write-Verbose "Exact Match - Removing: $($fileOrFolder.FullName)" } Remove-Item -Path $fileOrFolder.FullName -Force -Recurse | Out-Null } } } } |