Điểm:-2

với phiên bản địa hình 13, tôi gặp lỗi giá trị mặc định không hợp lệ cho biến trong tham số vùng, làm cách nào để khắc phục điều đó?

lá cờ ke

biến.tf

biến "khu vực" {
  mặc định = "chúng tôi-trung tâm1"
}

biến "vùng" {
  description = "ghi đè vùng mặc định được chỉ định trong region_params"
  mặc định = ""
}

biến "vùng_params" {
  description = "Bản đồ các khu vực mặc định cho từng khu vực. Có thể được ghi đè bằng cách sử dụng `khu vực`."
  loại = bản đồ (chuỗi)

  mặc định = {
    á-đông1 = {
      khu = "châu-đông1-b"
    }
    á-đông2 = {
      khu = "châu-đông2-b"
    }
    châu á-đông bắc1 = {
      khu = "châu Á-đông bắc1-b"
    }
    á-nam1 = {
      khu = "á-nam1-b"
    }
    châu á-đông nam1 = {
      khu = "châu Á-đông nam1-b"
    }
    Úc-đông nam1 = {
      vùng = "Úc-Đông Nam1-b"
    }
    châu âu-bắc1 = {
      khu = "âu-bắc1-b"
    }
    châu âu-tây1 = {
      khu = "âu-tây1-b"
    }
    châu âu-tây2 = {
      vùng = "châu Âu-tây2-b"
    }
    châu âu-tây3 = {
      khu = "âu-tây3-b"
    }
    châu âu-tây4 = {
      vùng = "âu-tây4-b"
    }
    bắc mỹ-đông bắc1 = {
      vùng = "bắc mỹ-đông bắc1-b"
    }
    nam mỹ-đông1 = {
      khu = "nam mỹ-đông1-b"
    }
    chúng tôi-trung tâm1 = {
      khu vực = "chúng tôi-trung tâm1-b"
    }
    chúng tôi-đông1 = {
      khu vực = "chúng tôi-đông1-b"
    }
    chúng tôi-đông4 = {
      khu = "us-east4-b"
    }
    chúng tôi-tây1 = {
      khu vực = "chúng tôi-tây1-b"
    }
    chúng tôi-tây2 = {
      khu vực = "chúng tôi-tây2-b"
    }
  }
}

biến "mạng" {
}

biến "instance_tags" {
  mặc định = []
}

biến "ip_cidr_range" {
  description = "Phạm vi mạng con - bắt buộc"
}

biến "môi trường" {
  description = "Cấp môi trường xây dựng"
  mặc định = "nhà phát triển"
}

đầu ra "nat-gateway-ip" {
  giá trị = module.nat.external_ip
}

./terraform0.13 init -cấu hình lại

Có một số vấn đề với cấu hình, được mô tả bên dưới.

Cấu hình Terraform phải hợp lệ trước khi khởi tạo để
Terraform có thể xác định những mô-đun và nhà cung cấp nào cần được cài đặt.
â·
â Lỗi: Giá trị mặc định không hợp lệ cho biến
â
â trên dòng biến.tf 71, trong biến "vùng_params":
â 71: mặc định = {
â 72: á-đông1 = {
â 73:zone="asia-east1-b"
â 74: }
â 75: á-đông2 = {
â 76: zone="asia-east2-b"
â 77: }
â 78: á-đông bắc1 = {
â 79:zone="asia-northeast1-b"
â 80: }
â 81: á-nam1 = {
â 82:zone="á-nam1-b"
â 83: }
â 84: á-đông nam1 = {
â 85:zone="asia-đông nam1-b"
â 86: }
â 87: úc-đông nam1 = {
â 88:zone="australia-southeast1-b"
â 89: }
â 90: âu-bắc1 = {
â 91:zone="âu-bắc1-b"
â 92: }
â 93: âu-tây1 = {
â 94: zone="âu-tây1-b"
â 95: }
â 96: âu-tây2 = {
â 97: khu = "âu-tây2-b"
â 98: }
â 99: âu-tây3 = {
â 100: zone="âu-tây3-b"
â 101: }
â 102: âu-tây4 = {
â 103:zone="âu-tây4-b"
â 104: }
â 105: bắc mỹ-đông bắc1 = {
â 106: zone="northamerica-northeast1-b"
â 107: }
â 108: nam mỹ-đông1 = {
â 109:zone="southamerica-east1-b"
â 110: }
â 111: us-central1 = {
â 112:zone="us-central1-f"
â 113: }
â 114: chúng tôi-đông1 = {
â 115: zone="us-east1-b"
â 116: }
â 117: us-east4 = {
â 118: zone="us-east4-b"
â 119: }
â 120: chúng tôi-tây1 = {
â 121: zone="us-west1-b"
â 122: }
â 123: us-west2 = {
â 124: zone="us-west2-b"
â 125: }
â 126: }
â
â Giá trị mặc định này không tương thích với ràng buộc loại của biến: phần tử "asia-east2": bắt buộc phải có chuỗi.
Điểm:1
lá cờ cn

Hãy thử đặt nó thành us-central-1.Bạn đang định dạng sai vùng của mình, bạn cần có dấu gạch ngang trước số. Ngoài ra, bạn không cần chỉ định a, b hoặc c vì terraform lấy thông tin từ cài đặt mạng con của bạn.

uday avatar
lá cờ ke
Xin lỗi, tôi đã không đề cập đến đám mây, GCP. Đối với GCP, đó là cấu trúc
lá cờ cn
Thứ hai, mặc dù bạn có thể không sử dụng bản đồ một cách chính xác và có thể xác định sai bản đồ. Ngoài ra ... tôi sẽ không định nghĩa vùng là một biến. Bản đồ giống như một mảng sử dụng tên thay vì số, vì vậy có hai vấn đề. Bằng cách xác định vùng, bạn có thể biến nó thành một biến và chỉ mục bản đồ. Ngoài ra, mỗi bản đồ [chỉ mục] (nếu đó là thuật ngữ phù hợp) phải là duy nhất. Đây là một ví dụ: https://www.devopsschool.com/blog/terraform-variable-map-type-explained/
lá cờ cn
Tôi e rằng tôi thực sự không biết gì về GCP. Bạn có thể muốn kiểm tra xem mình có đang sử dụng bản sao cập nhật của terraform hay không và thậm chí bạn có thể muốn xóa .terraform và chạy lại terraform init để tải xuống lại thư viện của mình.
lá cờ cn
Giá trị mặc định không hợp lệ thực sự có ý nghĩa khi bạn so sánh ví dụ với những gì bạn có. Điều đó có thể có nghĩa là bạn (theo nghĩa đen) đang xác định sai bản đồ mặc định.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.