Terraform自定义提供程序-请求用户输入时出错
我是terraform和golang的新手,我正在尝试为POC实现一个定制的提供者,以检查我们是否可以利用terraform供我们自己使用 我能够根据视频和一些GitHub示例编写和构建golang提供者 我创建了一个go工作区,并将$GOPATH设置为默认值$HOME/go Terraform软件包安装在$GOPATH/src/github/hashicorp Terraform二进制文件安装在$HOME/dev中,并在$PATH中指定 根据视频,我在/terraform/builtin/providers/mycustomprovider创建了provider包 “go build”将包的值设置为$GOPATH/bin 一旦我尝试“地形规划”,我会得到以下结果: provider.incapsula:未安装合适的版本 版本要求:“(任何版本)” 安装的版本:无 我将自定义提供者二进制文件添加到terraform.d/plugins,并尝试再次运行“terraform plan” 现在我得到以下错误: 错误:请求用户输入时出错:发生1个错误: *provider.incapsula:fork/exec~/.terraform.d/plugins/darwin_amd64/terraform-provider-incapsula:权限被拒绝 我试图将chmod改为666并将二进制文件chown,但没有成功,我仍然得到相同的错误 我试图寻找这类问题,但找不到任何参考资料 我将感谢任何帮助Terraform自定义提供程序-请求用户输入时出错,terraform,Terraform,我是terraform和golang的新手,我正在尝试为POC实现一个定制的提供者,以检查我们是否可以利用terraform供我们自己使用 我能够根据视频和一些GitHub示例编写和构建golang提供者 我创建了一个go工作区,并将$GOPATH设置为默认值$HOME/go Terraform软件包安装在$GOPATH/src/github/hashicorp Terraform二进制文件安装在$HOME/dev中,并在$PATH中指定 根据视频,我在/terraform/builtin/pr
谢谢 提供程序二进制文件需要执行权限,因此请尝试使用755而不是666。此外,如果二进制文件不在
$PATH
中,通常需要运行'terraform init-plugin dir=.terraform/plugins/darwin_amd64',以便terraform选择提供程序并更新md5锁文件
因此,请尝试
chmod 755
,如果它仍然不工作,请使用terraform init
,并将-plugin dir
参数指向插件目录(您的提供商应该已经在那里了)。您可以激活调试模式,然后重试,有什么有用的吗?TF_LOG=debug terraform plan