实现OTS resource alicloud_ots_table
的表创建编排后,完成了Terraform Alicloud provider开发入门,发现表更新删除还有不少坑。
Terraform provider怎么debug
export TF_LOG=DEBUG
设置后,代码里的log.Println可以打印。
这个读调试代码太有帮助!
https://github.com/hashicorp/terraform/issues/16752
为什么每次terraform apply都是重新创建资源
需要通过read函数设置d.Set
resource属性,比如:
d.Set("table_name", describ.TableMeta.TableName)
在create/update函数后,应该调用read函数。
特别地,调用read函数前,需要d.SetId()
,作用是告知设置哪个resource实例的属性。
怎么快速编译provider?
go build -o terraform-provider-alicloud
官方提供的命令sudo -E "PATH=$PATH" make all
输出是一个压缩文件,解压和拷贝略麻烦。