Variabili e output
Impari a usare le variabili di input per rendere le configurazioni flessibili e riutilizzabili e i valori di output per estrarre informazioni importanti dall’infrastruttura distribuita.
Variabili e output è una lezione Terraform Infrastructure as Code gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Terraform Infrastructure as Code, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Terraform Infrastructure as Code include 4 lezioni in totale.
Configurazioni flessibili
Terraform consente di definire l'infrastruttura come codice. Ma cosa succede se si vuole riutilizzare il codice per ambienti o impostazioni diversi?
È qui che entrano in gioco variabili e output. Rendono le configurazioni flessibili e facili da gestire.
Variabili di input: flessibilità
Le variabili di input funzionano come parametri per le configurazioni Terraform. Consentono di personalizzare alcuni aspetti dell'infrastruttura senza modificare il codice principale.
- Evitano di inserire valori hardcoded direttamente nella configurazione.
- Rendono riutilizzabili moduli e configurazioni.
- Consentono di utilizzare valori diversi per ambienti diversi, ad esempio sviluppo e produzione.
Dichiarare le variabili
Le variabili di input si dichiarano in un file .tf, spesso denominato variables.tf. Ogni variabile deve avere un nome univoco.
Ecco una dichiarazione di base:
variable "file_content" {
description = "Content to write to a local file."
type = string
}Tipi e valori predefiniti
Le variabili possono avere diversi tipi, come string, number, bool, list o map. È inoltre possibile fornire un valore predefinito, rendendo facoltativa la variabile.
variable "environment" {
description = "The deployment environment (e.g., dev, prod)."
type = string
default = "dev"
}
variable "instance_count" {
description = "Number of instances."
type = number
default = 1
}Utilizzare le variabili nel codice
Una volta dichiarata, è possibile fare riferimento al valore di una variabile utilizzando il prefisso var., seguito dal suo nome, ad esempio var.environment.
In questo modo le risorse possono adattarsi in base all'input fornito.
resource "local_file" "example" {
content = "Hello from ${var.environment}!"
filename = "example-${var.environment}.txt"
}Come fornire i valori
Esistono diversi modi per fornire i valori delle variabili:
- Riga di comando: utilizzando
-var="key=value"conterraform planoapply. - File
.tfvars: creando un file cometerraform.tfvarsodev.tfvars. - Variabili d'ambiente: utilizzando
TF_VAR_name=value.
Il file terraform.tfvars è comunemente utilizzato per impostare i valori:
# terraform.tfvars
environment = "staging"
file_content = "This is some custom content."Valori di output: estrarre informazioni
Così come le variabili di input consentono di passare dati nella configurazione, i valori di output consentono di estrarre dati da essa.
- Visualizzare informazioni importanti sulle risorse distribuite (ad esempio, indirizzi IP e URL).
- Passare dati tra configurazioni Terraform, soprattutto quando si utilizzano moduli.
- Rendere semplice vedere ciò che Terraform ha predisposto.
Dichiarare gli output
I valori di output si dichiarano in un file .tf, spesso denominato outputs.tf. Ogni output deve avere un nome univoco e un argomento value.
output "file_name" {
description = "The name of the generated local file."
value = local_file.example.filename
}Visualizzare i valori di output
Dopo aver eseguito terraform apply, è possibile visualizzare i valori di output utilizzando il comando terraform output.
L'argomento value fa generalmente riferimento a un attributo di una risorsa, ad esempio resource_type.resource_name.attribute.
# After 'terraform apply', run:
terraform output file_nameVariabili e output in azione
Combiniamo ciò che abbiamo imparato. Questo esempio utilizza variabili per il contenuto e l'ambiente e restituisce in output il nome e il contenuto del file. Crei questi tre file in una directory:
# main.tf
terraform {
required_providers {
local = {
source = "hashicorp/local"
version = "~> 2.1"
}
}
}
resource "local_file" "message" {
content = var.greeting_message
filename = "hello_${var.env}.txt"
}
# variables.tf
variable "greeting_message" {
description = "The message content for the file."
type = string
default = "Hello CoddyKit!"
}
variable "env" {
description = "Environment name."
type = string
default = "dev"
}
# outputs.tf
output "generated_filename" {
description = "The full path of the generated file."
value = local_file.message.filename
}
output "file_content_used" {
description = "The content actually written to the file."
value = local_file.message.content
}Verifica rapida: variabili e output
Quali delle seguenti affermazioni sulle variabili e sugli output di Terraform sono VERE?
Riepilogo: variabili e output
Ottimo lavoro! Ha imparato a rendere dinamiche le configurazioni Terraform:
- Le variabili di input consentono di definire i parametri dell'infrastruttura.
- È possibile fornire i valori delle variabili tramite la CLI, file
.tfvarso variabili d'ambiente. - I valori di output aiutano a estrarre e visualizzare informazioni importanti sulle risorse distribuite.
Successivamente, approfondirà il modo in cui Terraform tiene traccia dell'infrastruttura con la gestione dello stato!
Domande Frequenti
La lezione «Variabili e output» è gratuita?
Sì — il testo completo di «Variabili e output» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Terraform Infrastructure as Code, passa a CoddyKit PRO. Il corso Terraform Infrastructure as Code include 4 lezioni in totale.
Cosa imparerò in «Variabili e output»?
Impari a usare le variabili di input per rendere le configurazioni flessibili e riutilizzabili e i valori di output per estrarre informazioni importanti dall’infrastruttura distribuita. Eserciti Terraform Infrastructure as Code con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Terraform Infrastructure as Code?
Non è richiesta alcuna esperienza precedente. Terraform Infrastructure as Code su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.
Quanto tempo richiede la lezione «Variabili e output»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Terraform Infrastructure as Code?
Sì. Ogni lezione Terraform Infrastructure as Code include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Provider e risorse
- Variabili e output
- Fondamenti della gestione dello state
- Moduli e riutilizzo del codice