0Pricing
DevOps Bootcamp · Lezione

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 DevOps Bootcamp 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 DevOps Bootcamp, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso DevOps Bootcamp 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" con terraform plan o apply.
  • File .tfvars: creando un file come terraform.tfvars o dev.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_name

Variabili 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 .tfvars o 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 DevOps Bootcamp, passa a CoddyKit PRO. Il corso DevOps Bootcamp 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 DevOps Bootcamp 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 DevOps Bootcamp?

Non è richiesta alcuna esperienza precedente. DevOps Bootcamp 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 DevOps Bootcamp?

Sì. Ogni lezione DevOps Bootcamp 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

  1. Provider e risorse
  2. Variabili e output
  3. Fondamenti della gestione dello state
  4. Moduli e riutilizzo del codice
← Torna a DevOps Bootcamp