Variabler och output-värden
Lär dig att använda indatavariabler för att göra konfigurationer flexibla och återanvändbara samt output-värden för att hämta viktig information från den distribuerade infrastrukturen.
Variabler och output-värden är en gratis lektion i DevOps-bootcamp på CoddyKit. Detta är lektion 2 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för DevOps-bootcamp, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.
Flexibla konfigurationer
Terraform låter Er definiera infrastrukturen som kod. Men vad gör Ni om Ni vill återanvända koden för olika miljöer eller inställningar?
Det är här variabler och outputs kommer in. De gör konfigurationerna flexibla och enkla att hantera.
Indatavariabler: flexibilitet
Indatavariabler fungerar som parametrar för Terraform-konfigurationerna. De låter Er anpassa delar av infrastrukturen utan att ändra kärnkoden.
- Undviker hårdkodning av värden direkt i konfigurationen.
- Gör moduler och konfigurationer återanvändbara.
- Tillåter olika värden för olika miljöer (till exempel utveckling och produktion).
Deklarera Era variabler
Ni deklarerar indatavariabler i en .tf-fil, ofta med namnet variables.tf. Varje variabel behöver ett unikt namn.
Här är en grundläggande deklaration:
variable "file_content" {
description = "Content to write to a local file."
type = string
}Typer och standardvärden
Variabler kan ha olika typer, till exempel string, number, bool, list eller map. Ni kan också ange ett standardvärde, vilket gör variabeln valfri.
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
}Använda variabler i kod
När en variabel har deklarerats kan Ni referera till dess värde med prefixet var., följt av variabelns namn (till exempel var.environment).
Det gör att resurserna kan anpassas utifrån den angivna indatan.
resource "local_file" "example" {
content = "Hello from ${var.environment}!"
filename = "example-${var.environment}.txt"
}Så anger Ni värden
Det finns flera sätt att ange värden för Era variabler:
- Kommandorad: Använd
-var="key=value"medterraform planellerapply. .tfvars-filer: Skapa en fil somterraform.tfvarsellerdev.tfvars.- Miljövariabler: Använd
TF_VAR_name=value.
Filen terraform.tfvars används ofta för att ange värden:
# terraform.tfvars
environment = "staging"
file_content = "This is some custom content."Output-värden: extrahera information
Precis som indata-variabler låter dig skicka data in i din konfiguration, låter utdata-värden dig hämta ut data ur den.
- Visa viktig information om distribuerade resurser (t.ex. IP-adresser och URL:er).
- Skicka data mellan Terraform-konfigurationer, särskilt när du använder moduler.
- Gör det enkelt att se vad Terraform har provisionerat.
Deklarera utdata
Du deklarerar utdata-värden i en .tf-fil, som ofta heter outputs.tf. Varje utdata-värde behöver ett unikt namn och ett value-argument.
output "file_name" {
description = "The name of the generated local file."
value = local_file.example.filename
}Visa utdata-värden
När du har kört terraform apply kan du visa utdata-värdena med kommandot terraform output.
Argumentet value refererar vanligtvis till ett attribut för en resurs, till exempel resource_type.resource_name.attribute.
# After 'terraform apply', run:
terraform output file_nameVariabler och utdata i praktiken
Låt oss kombinera det vi har lärt oss. Det här exemplet använder variabler för innehåll och miljö samt skriver ut filnamnet och innehållet. Skapa dessa tre filer i en katalog:
# 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
}Snabbkontroll: Variabler och utdata
Vilka av följande påståenden om Terraform-variabler och utdata är SANNA?
Sammanfattning: Variabler och utdata
Bra jobbat! Du har lärt dig hur du gör dina Terraform-konfigurationer dynamiska:
- Indata-variabler låter dig definiera parametrar för din infrastruktur.
- Du kan ange variabelvärden via CLI,
.tfvars-filer eller miljövariabler. - Utdata-värden hjälper dig att hämta och visa viktig information om dina distribuerade resurser.
Härnäst ska du fördjupa dig i hur Terraform håller reda på din infrastruktur med tillståndshantering!
Lär dig DevOps-bootcamp med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 142
- Lektioner
- 568
Vanliga frågor
Är lektionen ”Variabler och output-värden” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen DevOps-bootcamp, inklusive ”Variabler och output-värden”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.
Vad lär jag mig i ”Variabler och output-värden”?
Lär dig att använda indatavariabler för att göra konfigurationer flexibla och återanvändbara samt output-värden för att hämta viktig information från den distribuerade infrastrukturen. Ni övar på DevOps-bootcamp med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig DevOps-bootcamp?
Du behöver inga förkunskaper. Utbildningen i DevOps-bootcamp på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.
Hur lång tid tar lektionen ”Variabler och output-värden”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här DevOps-bootcamp-lektionen?
Ja. Varje DevOps-bootcamp-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Providers och resurser
- Variabler och output-värden
- Grunderna i state-hantering
- Moduler och återanvändning av kod