World map

 

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

      1.   # 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?

      2.   # 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?

      3.   # 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?

      4.   # 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.sign
      • random_pet.stall
      • terraform_data.hours

      Built (the state file)state #1

      • local_file.sign
      • random_pet.stall
      • terraform_data.hours
      Blueprint: 3 resources. Built: 3.

      Change a file, then run tofu plan to see what it means.

      Check

      Read the last line. Is it safe to type yes?

      Swipe right for good, left for needs work. Or use the buttons.

      1 / 4

      You added a menu file. Plan: 1 to add, 0 to change, 0 to destroy.

      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.