Limpeza de Providers

Juliano Salszbrun | Mar 28, 2025 min read

Introdução

🚂 Terraformeiros de plantão, se vocês são como eu (que vão trabalhando em vários projetos e nunca limpam as pastas), fiz um script para ajudar a recuperar o espaço ocupado pelos providers dos projetos!

Antes de executar o script

Antes de rodar o script, este era o espaço ocupado na máquina da firma:

Imagem 1 - Espaço ocupado antes de rodar o script

Executando em um diretório de testes:

Imagem 2 - Executando teste

Resultado:

Imagem 3 - Resultado ao rodar o script em teste

Depois de executar o script

Agora rodei nos meus documentos, onde normalmente baixo os Terraform e organizo meus projetos:

Imagem 4 - Resultado ao rodar o script

+22 GB de espaço liberado!


O Script

param (
    [string]$Caminho
)

if (-Not (Test-Path $Caminho)) {
    Write-Host "O caminho especificado não existe." -ForegroundColor Red
    exit 1
}

$pastasTerraform = Get-ChildItem -Path $Caminho -Recurse -Directory -Filter ".terraform"

foreach ($pasta in $pastasTerraform) {
    Get-ChildItem -Path $pasta.FullName -Force | Remove-Item -Recurse -Force
    Write-Host "Conteúdo de $($pasta.FullName) apagado." -ForegroundColor Green
}

Write-Host "Processo concluído." -ForegroundColor Cyan

Habilitar execução em powershell

Para rodar o script, basta habilitar a permissão de execução no PowerShell, rodando este comando como administrador:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

Depois, é só salvar o script em algum lugar da sua máquina e rodar, passando o caminho onde você quer realizar a limpeza.

Exemplo de execução

.\limpar-terraform.ps1 -Caminho "C:\temp"

Repositório do Código