需要Terraform OCI的帮助吗

需要Terraform OCI的帮助吗,terraform,oracle-cloud-infrastructure,Terraform,Oracle Cloud Infrastructure,我试图在OCI上学习terraform,我在terraform-code.tf文件中编写了一个小代码来创建块实例,但是当我运行terraform plan时,我得到了以下错误 data "oci_identity_availability_domain" "ad" { compartment_id = "var.tenancy_ocid" } Refreshing Terraform state in-memory prior t

我试图在OCI上学习terraform,我在terraform-code.tf文件中编写了一个小代码来创建块实例,但是当我运行terraform plan时,我得到了以下错误

data "oci_identity_availability_domain" "ad" {
  compartment_id = "var.tenancy_ocid"
}

Refreshing Terraform state in-memory prior to plan...
The refreshed state will be used to calculate this plan, but will not be
persisted to local or remote state storage.

data.oci_identity_availability_domain.ad: Refreshing state...

Error: Get https://identity.var.region.oraclecloud.com/20160918/availabilityDomains?compartmentId=ocid1.tenancy.oc1..aaaaaaaa35fzgotfw445uiswdvjcxnxitafa4scy4dmcuifrvvzkxylqga3q: dial tcp: lookup identity.var.region.oraclecloud.com: no such host

  on terraform-code.tf line 46, in data "oci_identity_availability_domain" "ad":
  46: data "oci_identity_availability_domain" "ad" {
我试图从我的windows计算机ping identity.var.region.oraclecloud.com,但没有成功

ping identity.var.region.oraclecloud.com
Ping request could not find host identity.var.region.oraclecloud.com. Please check the name and try again.
我相信这是代理的问题,因为某种原因我无法联系到代理 identity.var.region.oraclecloud.com

我在github上发现了一篇类似的文章:


有人能帮我解决这个问题吗?

回答我自己的问题,对identity.var.region.oraclecloud.com的ping测试并不重要

如果您收到以下错误,很可能您没有在所需变量中正确传递区域ocid。要进行故障排除,可以将变量替换为双引号中的实际OCID作为字符串“”

对我来说,问题是, 我错误地传递了变量信息。 TF 0.11变量信息设置如下 租约_ocid=“${var.tenancy_ocid}” TF 0.13变量信息设置如下 tenancy_ocid=“${var.tenancy_ocid}”(旧方法仍然有效,但您将收到警告)

或者,对于故障排除,您可以简单地使用 租赁_ocid=“”


我刚开始用OCI学习terraform,周围没有多少有用的帖子。

var.region
是一个变量,应该被替换。你够不到
https://identity.var.region.oraclecloud.com
因为它不存在。这是一本书


例如,valide url应该是
https://identity.us-ashburn-1.oraclecloud.com

您正在将文本字符串
“var.tenancy\u ocid”
作为参数传递给
隔间id
。您的意思是要传递
租赁ocid
变量的值吗?嗨,蒙哥马利,谢谢您的回复。是的,我后来知道了。事实上,问题是TF 0.11我们需要使用类似于“${var.tenancy_ocid}”的变量。这在当前版本的terraform中已经过时,我使用的是0.13.5,因此我试图找到确切的替代品,它应该是var.tenancy_ocid,而不是“var.tenancy_ocid”变量var.region不被其值取代。你申报了吗?它应该被类似us-ashburn-1的东西替换,以形成正确的url:
https://identity.us-ashburn-1.oraclecloud.com
Hi Jerome,问题是我的var区域在我的地形代码中没有被us-ashburn-1替代,因此我面临这个问题。
Error: Get https://identity.var.region.oraclecloud.com/20160918/availabilityDomains?compartmentId=ocid1.tenancy.oc1..aaaaaaaa35fzgotfw445uiswdvjcxnxitafa4scy4dmcuifrvvzkxylqga3q: dial tcp: lookup identity.var.region.oraclecloud.com: no such host

  on terraform-code.tf line 46, in data "oci_identity_availability_domain" "ad":
  46: data "oci_identity_availability_domain" "ad" {