Peta dunia

 

EN: Read in English

Dunia T2: Input & Output

count: banyak yang sama

Anda akan belajar: buat salinan bernombor dengan count, dan perangkapnya bila senarai berubah.

Teks BM belum disemak oleh penutur asli.

Disemak dengan OpenTofu 1.13 pada 1 Nov 2026

Masalahnya

Pesta perlukan tiga pembantu, bukan dua. Setiap pembantu ialah nama random_pet. Macam mana nak dapat yang ketiga?

Pilih satu jawapan.

Tengok

Taip tofu state list. Tengok nombor dalam kurungan segi empat.

Pelan (fail .tf anda)init sudah siap

  • local_file.stall[0]
  • local_file.stall[1]
  • local_file.stall[2]
  • random_pet.helper[0]
  • random_pet.helper[1]

Sudah dibina (fail state)state #1

  • local_file.stall[0]
  • local_file.stall[1]
  • local_file.stall[2]
  • random_pet.helper[0]
  • random_pet.helper[1]
Pelan: 5 resource. Sudah dibina: 5.

Ubah fail, kemudian jalankan tofu plan untuk lihat kesannya.

count: Buat N salinan satu resource. Ia bernombor dari 0: helper[0], helper[1], helper[2]. buat salinan bernombor bagi satu blok. Nombor bermula dari 0.

Teka

Dengan count = 3, apa nama pembantu terakhir?

resource "random_pet" "helper" {
  count  = 3
  length = 1
}

Pilih satu jawapan.

Cuba

Tukar count = 2 jadi count = 3 dalam main.tf. Kemudian tofu apply, dan yes.

Pelan (fail .tf anda)init sudah siap

  • local_file.stall[0]
  • local_file.stall[1]
  • local_file.stall[2]
  • random_pet.helper[0]
  • random_pet.helper[1]

Sudah dibina (fail state)state #1

  • local_file.stall[0]
  • local_file.stall[1]
  • local_file.stall[2]
  • random_pet.helper[0]
  • random_pet.helper[1]
Pelan: 5 resource. Sudah dibina: 5.

Ubah fail, kemudian jalankan tofu plan untuk lihat kesannya.

Cuba

Fail gerai guna count atas senarai ["nasi", "mee", "roti"]. Gerai mee tutup, jadi β€œmee” dibuang. Baca plan.

Baca plan ini. Apa OpenTofu akan buat pada setiap resource?

+ cipta~ ubah di tempat- musnahkan-/+ ganti

0 daripada 2 sudah dibaca

  1.   # local_file.stall[1]
    -/+ resource "local_file" "stall" {
          ~ content              = <<-EOT # forces replacement
              - mee
              + roti
            EOT
          ~ content_base64sha256 = "xw5MNjhCTMNH45ODMPkWFjwoOHfZt+UEJabrwAZ67tg=" -> (known after apply)
          ~ content_base64sha512 = "lG9qpqYeP6RSjpXH8yBxi+tyoJUb2f/+AssBJQEUqiAwOZ31uEMdlf1P3UtgRymObu/XdfUPLC0A0b6tBVFjDA==" -> (known after apply)
          ~ content_md5          = "b23fa69b77d3a3bbca08e849c423081a" -> (known after apply)
          ~ content_sha1         = "71498255cfdf84dc20121e7aa04cf834144775d3" -> (known after apply)
          ~ content_sha256       = "c70e4c3638424cc347e3938330f916163c283877d9b7e50425a6ebc0067aeed8" -> (known after apply)
          ~ content_sha512       = "946f6aa6a61e3fa4528e95c7f320718beb72a0951bd9fffe02cb01250114aa2030399df5b8431d95fd4fdd4b6047298e6eefd775f50f2c2d00d1bead0551630c" -> (known after apply)
          ~ id                   = "71498255cfdf84dc20121e7aa04cf834144775d3" -> (known after apply)
            # (3 unchanged attributes hidden)
        }
    

    Apa jadi pada local_file.stall[1]?

  2.   # local_file.stall[2]
      - resource "local_file" "stall" {
          - content              = <<-EOT
                roti
            EOT -> null
          - content_base64sha256 = "SEWwusjRzMmcgHMYLkMaJVKyWgYdkr6JxfK/UiP94H8=" -> null
          - content_base64sha512 = "WtTIn23DLCCyc2eounF6CiJuJNNaXkPCnXaioM6bm3p1TjXMei8mJTgxaZ4a0AgG9CUembDZwfUQZ8QZaT/g7Q==" -> null
          - content_md5          = "9840c82b4735606f32cd305f2093596e" -> null
          - content_sha1         = "d04b7ff98f49c98a903d8f3c3dfe1a0d03759751" -> null
          - content_sha256       = "4845b0bac8d1ccc99c8073182e431a2552b25a061d92be89c5f2bf5223fde07f" -> null
          - content_sha512       = "5ad4c89f6dc32c20b27367a8ba717a0a226e24d35a5e43c29d76a2a0ce9b9b7a754e35cc7a2f26253831699e1ad00806f4251e99b0d9c1f51067c419693fe0ed" -> null
          - directory_permission = "0777" -> null
          - file_permission      = "0777" -> null
          - filename             = "stall-2.txt" -> null
          - id                   = "d04b7ff98f49c98a903d8f3c3dfe1a0d03759751" -> null
        }
    

    Apa jadi pada local_file.stall[2]?

Baris ringkasan muncul bila anda selesai.

Semak

Cuma mee yang tutup. Kenapa plan sentuh dua fail?

Pilih satu jawapan.

Anda berjaya!

Kini anda boleh buat salinan dengan count, dan kenal perangkap nombornya.

Nak tahu lebih (pilihan)

random_pet.helper[*].id senaraikan id setiap salinan; [*] itu dipanggil splat. count = var.open ? 1 : 0 hidupkan atau matikan satu resource. Untuk senarai yang berubah, for_each namakan setiap salinan ikut itemnya, bukan nombor. Itu pelajaran seterusnya.