0Pricing
Terraform Infrastructure as Code · Lekcja

Zmienne i wartości wyjściowe

Nauczą się Państwo używać zmiennych wejściowych, aby konfiguracje były elastyczne i wielokrotnego użytku, oraz wartości wyjściowych do pobierania ważnych informacji z wdrożonej infrastruktury.

Zmienne i wartości wyjściowe to bezpłatna lekcja Terraform Infrastructure as Code na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Terraform Infrastructure as Code, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Terraform Infrastructure as Code zawiera 4 lekcji w sumie.

Elastyczne konfiguracje

Terraform umożliwia definiowanie infrastruktury jako kodu. Co jednak zrobić, jeśli chce Pan/Pani ponownie użyć kodu dla różnych środowisk lub ustawień?

W tym miejscu przydają się zmienne i wartości wyjściowe. Sprawiają, że konfiguracje są elastyczne i łatwe w zarządzaniu.

Zmienne wejściowe: elastyczność

Zmienne wejściowe działają jak parametry konfiguracji Terraform. Umożliwiają dostosowywanie elementów infrastruktury bez zmieniania podstawowego kodu.

  • Zapobiegają wpisywaniu wartości bezpośrednio w konfiguracji.
  • Sprawiają, że moduły i konfiguracje można wielokrotnie wykorzystywać.
  • Umożliwiają stosowanie różnych wartości w różnych środowiskach, np. deweloperskim i produkcyjnym.

Deklarowanie zmiennych

Zmienne wejściowe deklaruje się w pliku .tf, często o nazwie variables.tf. Każda zmienna musi mieć unikalną nazwę.

Oto podstawowa deklaracja:

variable "file_content" {
  description = "Content to write to a local file."
  type        = string
}

Typy i wartości domyślne

Zmienne mogą mieć różne typy, takie jak string, number, bool, list lub map. Można także podać wartość domyślną, dzięki czemu zmienna będzie opcjonalna.

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
}

Używanie zmiennych w kodzie

Po zadeklarowaniu można odwołać się do wartości zmiennej za pomocą prefiksu var., po którym należy podać jej nazwę, np. var.environment.

Dzięki temu zasoby mogą dostosowywać się na podstawie podanych danych wejściowych.

resource "local_file" "example" {
  content  = "Hello from ${var.environment}!"
  filename = "example-${var.environment}.txt"
}

Sposoby przekazywania wartości

Wartości zmiennych można przekazywać na kilka sposobów:

  • Wiersz poleceń: za pomocą -var="key=value" wraz z terraform plan lub apply.
  • Pliki .tfvars: należy utworzyć plik, taki jak terraform.tfvars lub dev.tfvars.
  • Zmienne środowiskowe: za pomocą TF_VAR_name=value.

Plik terraform.tfvars jest często używany do ustawiania wartości:

# terraform.tfvars
environment = "staging"
file_content = "This is some custom content."

Wartości wyjściowe: wyodrębnianie informacji

Tak jak zmienne wejściowe umożliwiają przekazywanie danych do konfiguracji, wartości wyjściowe pozwalają wyodrębniać dane z konfiguracji.

  • Wyświetlanie ważnych informacji o wdrożonych zasobach (np. adresów IP i adresów URL).
  • Przekazywanie danych między konfiguracjami Terraform, szczególnie podczas korzystania z modułów.
  • Ułatwianie sprawdzania, co zostało utworzone przez Terraform.

Deklarowanie wartości wyjściowych

Wartości wyjściowe deklaruje się w pliku .tf, często o nazwie outputs.tf. Każda wartość wyjściowa musi mieć unikalną nazwę i argument value.

output "file_name" {
  description = "The name of the generated local file."
  value       = local_file.example.filename
}

Wyświetlanie wartości wyjściowych

Po uruchomieniu terraform apply można wyświetlić wartości wyjściowe za pomocą polecenia terraform output.

Argument value zwykle odwołuje się do atrybutu zasobu, na przykład resource_type.resource_name.attribute.

# After 'terraform apply', run:
terraform output file_name

Zmienne i wartości wyjściowe w praktyce

Połączmy teraz zdobytą wiedzę. Ten przykład używa zmiennych dla treści i środowiska oraz udostępnia nazwę pliku i jego treść jako wartości wyjściowe. Proszę utworzyć te trzy pliki w jednym katalogu:

# 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
}

Szybkie sprawdzenie: zmienne i wartości wyjściowe

Które z poniższych stwierdzeń dotyczących zmiennych i wartości wyjściowych Terraform są PRAWDZIWE?

Podsumowanie: zmienne i wartości wyjściowe

Świetnie! Dowiedzieli się Państwo, jak tworzyć dynamiczne konfiguracje Terraform:

  • Zmienne wejściowe umożliwiają definiowanie parametrów infrastruktury.
  • Wartości zmiennych można przekazywać za pomocą interfejsu CLI, plików .tfvars lub zmiennych środowiskowych.
  • Wartości wyjściowe pomagają wyodrębniać i wyświetlać ważne informacje o wdrożonych zasobach.

W następnej części dowiedzą się Państwo, jak Terraform śledzi infrastrukturę za pomocą zarządzania stanem!

Często zadawane pytania

Czy lekcja „Zmienne i wartości wyjściowe” jest bezpłatna?

Tak — pełny tekst „Zmienne i wartości wyjściowe” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Terraform Infrastructure as Code, przejdź na CoddyKit PRO. Kurs Terraform Infrastructure as Code zawiera 4 lekcji w sumie.

Co nauczysz się w „Zmienne i wartości wyjściowe”?

Nauczą się Państwo używać zmiennych wejściowych, aby konfiguracje były elastyczne i wielokrotnego użytku, oraz wartości wyjściowych do pobierania ważnych informacji z wdrożonej infrastruktury. Ćwiczysz Terraform Infrastructure as Code z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Terraform Infrastructure as Code?

Nie wymagamy żadnego doświadczenia. Terraform Infrastructure as Code w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.

Ile czasu zajmuje lekcja „Zmienne i wartości wyjściowe”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Terraform Infrastructure as Code?

Tak. Każda lekcja Terraform Infrastructure as Code zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Dostawcy i zasoby
  2. Zmienne i wartości wyjściowe
  3. Podstawy zarządzania stanem
  4. Moduły i ponowne używanie kodu
← Powrót do Terraform Infrastructure as Code