Questo l'elenco dei file necessari per poter creare un modulo in Terraform, ogni file è presente per un motivi specifico.
LICENSE contiene le informazioni della licenza d'uso con cui il modulo sarà distribuito, quando andremo a distribuire il nostro modulo le persone vorranno conoscere i termini di utilizzo con cui il modulo sarà reso disponibile. Non è file che il sistema Terraformo utilizza in qualche modo.
README.md contiene la documentazione in formato markdown che describe come utilizzare il modulo, anche questo file non viene utilizzato direttamente da Terraform ma servizi come Github o Terraform Registry mostreranno agli utenti il contenuto di quesoto file.
main.tf contiene il set di informazioni principali di configurazzione. Posso essere creati più file di configurazione a seconda delle necessità del vostro progetto.
variables.tf contiene la definizioni delle variabili per il vostro modulo. Quando il modulo sarà utilizzato da altri utenti le variabili saranno configurate come argomenti nel blocco del modulo. Tutte la variabili che non hanno un valore predefinito diventeranno degli argomenti richiesti. Anche le variabili che hanno valori di default posso essere ridefinite.
outputs.tf contiene la definizione dei valori di output del modulo. Queste informzioni vengono utilizzare per propagere le informazioni sulla parte di infrastruttura definita nel modulo agli altri elementi della configurazione.
Attenzione invece a non distribuire come parte del modulo i seguenti file:
terraform.tfstate e terraform.tfstate.backup contengono lo stato di Terraform e servono a Terraform per tenere traccia della relazione tra configurazione e l'infrastruttura attuale.
La cartella .terraform contiene moduli e plugins utilizzati per creare l'infrastruttura attuale. Questi file sono specifici per l'istanza di Terraform.
I file *.tfvarsfiles possono non essere distribuiti con i vostri moduli a meno che non sia una configurazione standalone del modulo Terraform.