【发布时间】:2022-01-01 22:21:42
【问题描述】:
我正在创建一个新的 Provider,但我对提供程序工厂有一些疑问。
我正在关注 terraform-provider-scaffolding 所以在 provider_test.go 我有以下内容:
var providerFactories = map[string]func() (*schema.Provider, error){
"acdcn": func() (*schema.Provider, error) {
return New("dev")(), nil
},
}
然后在资源测试文件中,我希望访问 Provider 能够使用我的 api 客户端删除创建的资源。我正在尝试以下方法:
provider, err := providerFactories["acdcn"]()
apiClient := provider.Meta().(*client.Client)
但是 provider.Meta() 总是为零。如何访问我在提供程序中配置的 api 客户端?
测试运行良好,资源已创建,但我无法在 CheckDestroy 中配置的函数内部销毁资源。
编辑: 我注意到我误解了 CheckDestroy 键的含义。测试自动运行删除资源操作。这样就解决了我的问题。但我仍然有一个问题,我怎样才能访问我的 api 客户端?
谢谢
【问题讨论】:
标签: terraform terraform-provider