Conceito e mecanismo
Um provider implementa a comunicação com uma API e define os recursos e data sources suportados. required_providers identifica origem e versões aceitáveis; required_version limita a CLI Terraform. O ficheiro .terraform.lock.hcl regista seleções de providers e checksums, não o state da infraestrutura nem versões de módulos remotos. Várias configurações do mesmo provider podem usar aliases para regiões ou contextos distintos. O state mantém a relação entre um endereço da configuração e a identidade do objeto remoto; perder essa associação não elimina o objeto.
Aplicação guiada
Numa atualização planeada, revê alterações de versão separadamente da mudança funcional. Conserva o lock em controlo de versões e verifica o plano após inicialização. Se outro operador obtiver um resultado diferente, compara a revisão, a versão Terraform, o lock, os argumentos e o contexto de autenticação. Para recursos numa região secundária, torna explícita a configuração do provider. Não uses apenas um nome com “dr” como evidência de que um recurso foi colocado no destino de recuperação correto.
O recurso chama-se reports_dr, mas continua associado ao provider predefinido. Rever o alias revela que a região pretendida ainda não foi selecionada.
Armadilhas comuns
Confundir lock de providers com lock do state; apagar state como se fosse cache.
Tópicos relacionados: Workflow, validação e planos · Configuração, dependências e segredos
Versões reproduzíveis e identidade correta são partes diferentes da previsibilidade.
Referência: Provider requirements · 004