gpt4 book ai didi

Terraform 自定义提供程序 - 请求用户输入时出错

转载 作者:行者123 更新时间:2023-12-01 11:18:21 25 4
gpt4 key购买 nike

我对 Terraform 和 golang 很陌生,我正在尝试为 POC 实现自定义提供程序,以检查我们是否可以利用 Terraform 供我们自己使用。

我能够根据 this 编写和构建 golang 提供程序视频和一些 GitHub 示例。

我创建了一个 go 工作区并将 $GOPATH 设置为默认值 $HOME/go。

Terraform 包安装在 $GOPATH/src/github/hashicorp。

Terraform 二进制文件安装在 $HOME/dev 并在 $PATH 中指定。

根据视频,我在/terraform/builtin/providers/mycustomprovider 创建了 provider 包

然后“构建”包到 $GOPATH/bin

一旦我尝试'terraform plan',我得到以下信息:

provider.incapsula: no suitable version installed

version requirements: "(any version)"

versions installed: none

我将自定义提供程序二进制文件添加到 terraform.d/plugins 并尝试再次运行“terraform plan”。

现在我收到以下错误:

Error: Error asking for user input: 1 error(s) occurred: * provider.incapsula: fork/exec ~/.terraform.d/plugins/darwin_amd64/terraform-provider-incapsula: permission denied

我尝试 chmod 到 666 并 chown 二进制文件,但没有运气,我仍然遇到同样的错误。

我试图寻找此类问题,但找不到任何引用。

如有任何帮助,我将不胜感激。

谢谢!

最佳答案

提供程序二进制文件需要执行权限,因此请尝试使用 755 而不是 666。此外,如果二进制文件不在您的 $PATH 中的某处,您通常需要运行 `terraform init -plugin-dir=.terraform/plugins/darwin_amd64"以便 terraform 选择提供程序并更新 md5 锁定文件。

所以试试 chmod 755 <wherever the provider is>如果仍然无法正常工作,请使用 terraform init-plugin-dir指向插件目录的参数(您的提供者应该已经在那里)。

关于Terraform 自定义提供程序 - 请求用户输入时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47497113/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com