BM: Baca dalam Bahasa Melayu
World T1: Blueprints
Read a plan: + ~ - -/+
You will learn: to read every symbol in a plan before anything is built.
Checked with OpenTofu 1.13 on 1 Nov 2026
The problem
The site inspector checks the blueprint before any builder starts. The report shows -/+ next to the sign. Is that a small change?
Pick one answer.
Watch
A plan: The site inspector's report: what apply would create (+), change (~), destroy (-) or replace (-/+). A plan changes nothing. marks each resource with a symbol. Which ones delete something?
Drag a card into a box. Or tap the card, then tap the box.
Try it
The architect changed the blueprint. Read the plan. What happens to each resource?
Read the plan. What will OpenTofu do to each resource?
+ create~ update in place- destroy-/+ replace
0 of 4 read
# local_file.menu + resource "local_file" "menu" { + content = <<-EOT Teh tarik Kopi EOT + content_base64sha256 = (known after apply) + content_base64sha512 = (known after apply) + content_md5 = (known after apply) + content_sha1 = (known after apply) + content_sha256 = (known after apply) + content_sha512 = (known after apply) + directory_permission = "0777" + file_permission = "0777" + filename = "menu.txt" + id = (known after apply) }
What happens to local_file.menu?
# local_file.old_menu - resource "local_file" "old_menu" { - content = <<-EOT Teh tarik EOT -> null - content_base64sha256 = "Di2ys8wb1atXPenZt6JLEwziv+W0dkSXfWlfTxGOBq0=" -> null - content_base64sha512 = "cbO1/p05WuNgk/F+SOCLvdwPRK+kQUFyiUythtFxDJTopONcysgcvrdtrBXmy71jOcLr1bNsro/sMjM532d6tA==" -> null - content_md5 = "74ad36652c71c49933d951a5019c8be6" -> null - content_sha1 = "85b5b84f64974602871585720c45a1e360bb98fb" -> null - content_sha256 = "0e2db2b3cc1bd5ab573de9d9b7a24b130ce2bfe5b47644977d695f4f118e06ad" -> null - content_sha512 = "71b3b5fe9d395ae36093f17e48e08bbddc0f44afa4414172894cad86d1710c94e8a4e35ccac81cbeb76dac15e6cbbd6339c2ebd5b36cae8fec323339df677ab4" -> null - directory_permission = "0777" -> null - file_permission = "0777" -> null - filename = "old-menu.txt" -> null - id = "85b5b84f64974602871585720c45a1e360bb98fb" -> null }
What happens to local_file.old_menu?
# random_pet.stall -/+ resource "random_pet" "stall" { ~ id = "kingfisher" -> (known after apply) ~ length = 1 -> 2 # forces replacement # (1 unchanged attribute hidden) }
What happens to random_pet.stall?
# terraform_data.board ~ resource "terraform_data" "board" { id = "1165c449-300a-6d97-cc4b-34a88bc231b8" ~ input = "Open 9am" -> "Open 8am" ~ output = "Open 9am" -> (known after apply) }
What happens to terraform_data.board?
The summary line shows when you finish.
Predict
You change the filename of a local_file. A file can’t be renamed in place. Which symbol will the plan show?
Pick one answer.
Try it
Make the plan show ~. Change the opening hours in main.tf. Then type tofu plan.
Blueprint (your .tf files)init done
local_file.signrandom_pet.stallterraform_data.hours
Built (the state file)state #1
local_file.signrandom_pet.stallterraform_data.hours
Change a file, then run tofu plan to see what it means.
Hint
Edit the words insideinput = "…", then run tofu plan.Check
Read the last line. Is it safe to type yes?
Swipe right for good, left for needs work. Or use the buttons.
You added a menu file. Plan: 1 to add, 0 to change, 0 to destroy.
You did it!
You can now read a plan’s symbols before you build.
Go deeper (optional)
# forces replacement marks the setting that causes a -/+. A +/- means the new one is made first, then the old one goes. tofu plan -out tfplan saves a plan, and tofu apply tfplan builds exactly that, nothing else. The summary line always ends the plan: Plan: 1 to add, 0 to change, 1 to destroy.
Bahasa Melayu
Pemeriksa tapak semak pelan sebelum tukang mula kerja. Laporan tunjuk -/+ di sebelah papan tanda. Adakah itu perubahan kecil?
Plan (rancangan) tanda setiap resource dengan simbol. Yang mana padam sesuatu?
Arkitek ubah pelan. Baca plan itu. Apa jadi pada setiap resource?
Anda tukar filename sebuah local_file. Fail tak boleh ditukar nama di tempatnya. Simbol mana plan akan tunjuk?
Buat plan tunjuk ~. Tukar waktu buka dalam main.tf. Kemudian taip tofu plan.
input = "…", kemudian jalankan tofu plan.Baca baris terakhir. Selamat untuk taip yes?
Kini anda boleh baca simbol plan sebelum membina.
You finished this before. Practice is always welcome!
Official docs: tofu plan · OpenTofu: resource behaviour
You've learned for 25 minutes. A short break helps your brain.
Sprint done! Great focus. Stretch for a minute?