Cloud 如何在阿里云中定义私有区域id

Cloud 如何在阿里云中定义私有区域id,cloud,terraform,alibaba-cloud,Cloud,Terraform,Alibaba Cloud,我目前正在阿里云上工作,希望使用Alicloud\u pvtz\u zone\u record为GPDB资源定义DNS,但错误如下 Error: [ERROR] terraform-provider-alicloud/alicloud/resource_alicloud_pvtz_zone_record.go:167: Resource alicloud_pvtz_zone_record AddZoneRecord Failed!!! [SDK alibaba-cloud-sdk-go ERRO

我目前正在阿里云上工作,希望使用
Alicloud\u pvtz\u zone\u record
为GPDB资源定义DNS,但错误如下

Error: [ERROR] terraform-provider-alicloud/alicloud/resource_alicloud_pvtz_zone_record.go:167: Resource alicloud_pvtz_zone_record AddZoneRecord Failed!!! [SDK alibaba-cloud-sdk-go ERROR]:
SDK.ServerError
ErrorCode: Record.Invalid.Value
Recommend: 
RequestId: A69A1D2A-19A8-48D9-A5AC-EF3BB85C9CFE
Message: Record value is invalid.

  on ../../main.tf line 32, in resource "alicloud_pvtz_zone_record" "pvtz_zone_records":
  32: resource "alicloud_pvtz_zone_record" "pvtz_zone_records" {
下面是我的地形代码

resource "alicloud_gpdb_instance" "gpdb_instance" {
  description          = "tf-gpdb-test"
  engine               = "gpdb"
  engine_version       = "4.3"
  instance_class       = var.gpdb_instance_class
  instance_group_count = var.gpdb_instance_group_count
  vswitch_id           = var.vswitch_id
  security_ip_list     = var.allowed_ips
}

resource "alicloud_pvtz_zone_record" "pvtz_zone_records" {
  zone_id         = var.dns_zone_id
  resource_record = "server.gpdb"
  type            = "CNAME"
  value           = alicloud_gpdb_instance.gpdb_instance.id
  ttl             = var.dns_ttl
}
在Terraform中,
alicloud\u pvtz\u zone\u record
resource只接受值域

在您的示例中,
alicloud\u pvtz\u zone\u record
的值接受来自gpdb实例的ID。这就是Terraform产生无效值的原因

下面是通过添加
阿里云\u gpdb\u连接
资源的解决方案:

alicloud\u gpdb\u connection
资源从特定的gpdb实例输出connection\u字符串,该字符串是域的值

resource "alicloud_gpdb_connection" "gpdb_connection" {
  instance_id = alicloud_gpdb_instance.gpdb_instance.id
}

resource "alicloud_pvtz_zone_record" "pvtz_zone_records" {
  zone_id         = var.dns_zone_id
  resource_record = "server.gpdb.pgsoft.local"
  type            = "CNAME"
  value           = alicloud_gpdb_connection.gpdb_connection.connection_string
  ttl             = var.dns_ttl
}