Terraform 地形自定义提供程序
我是Terraform的新手,我想通过建立我的新实验室来尝试一下。实验室托管在远程proxmox虚拟机监控程序上,我的Terraform运行在docker容器上。我从github()下载了proxmox提供程序 如果正确,我需要编写一个terraform配置文件,用以下指令指定容器($HOME/.terraformrc)中的提供程序位置:Terraform 地形自定义提供程序,terraform,proxmox,Terraform,Proxmox,我是Terraform的新手,我想通过建立我的新实验室来尝试一下。实验室托管在远程proxmox虚拟机监控程序上,我的Terraform运行在docker容器上。我从github()下载了proxmox提供程序 如果正确,我需要编写一个terraform配置文件,用以下指令指定容器($HOME/.terraformrc)中的提供程序位置: providers { proxmox = "/path/to/provider/directory" } 然后我编写了main.t
providers {
proxmox = "/path/to/provider/directory"
}
然后我编写了main.tf以验证terraform提供程序:
provider "proxmox" {
host = "https://myproxmux:port"
我试图用url和本地路径设置提供者路径。我还试图用--plugin dir=path/to/dir
在terraform init命令中指定路径,但出现以下错误:
2020/12/02 19:53:00[信息]地形版本:0.13.52020/12/02 19:53:00[信息]Go运行时版本:go1.14.7
2020/12/02 19:53:00[INFO]CLI参数:[]字符串{/usr/local/bin/terraform”,“init”}
2020/12/02 19:53:00[调试]正在尝试打开CLI配置文件:/root/.terraformrc
2020/12/02 19:53:00从/root/.terraformrc加载CLI配置
2020/12/02 19:53:00[调试]在“/root/.terraform.d/plugins”中检查凭据
2020/12/02 19:53:00[调试]忽略不存在的提供程序搜索目录terraform.d/插件
2020/12/02 19:53:00[调试]将在/root/.terraform.d/plugins中搜索提供程序插件
2020/12/02 19:53:00[跟踪]getproviders.SearchLocalDirectory:/root/.terraform.d/plugins是指向/root/.terraform.d/plugins的符号链接
2020/12/02 19:53:00[警告]本地提供程序路径“/root/.terraform.d/plugins/proxomx/proxmox/config.go”包含无效类型“config.go”;忽略
2020/12/02 19:53:00[警告]本地提供程序路径“/root/.terraform.d/plugins/proxomx/proxmox/resource\u storage.go”包含无效类型“resource\u storage.go”;忽略
2020/12/02 19:53:00[警告]本地提供程序路径“/root/.terraform.d/plugins/proxomx/proxmox/resource\u vm.go”包含无效类型“resource\u vm.go”;忽略
2020/12/02 19:53:00[调试]忽略不存在的提供程序搜索目录/root/.local/share/terraform/plugins
2020/12/02 19:53:00[调试]忽略不存在的提供商搜索目录/usr/local/share/terraform/plugins
2020/12/02 19:53:00[调试]忽略不存在的提供商搜索目录/usr/share/terraform/plugins
2020/12/02 19:53:00[INFO]CLI命令参数:[]字符串{“init”} 正在初始化后端 正在初始化提供程序插件。。。 正在查找hashicorp/proxmox的最新版本…
2020/12/02 19:53:00[TRACE]Meta.Backend:磁盘上没有给定或存在配置,因此返回nil config
2020/12/02 19:53:00[跟踪]元。后端:后端以前未在此工作目录中初始化
2020/12/02 19:53:00[调试]新状态已分配给沿袭“bbde6bfd-55be-d7fa-f473-6aa043f492ca”
2020/12/02 19:53:00[跟踪]元。后端:仅使用默认的本地状态(没有后端配置,也没有现有的初始化后端)
2020/12/02 19:53:00[跟踪]元后端:类型为
的实例化后端 2020/12/02 19:53:00[调试]检查“.”中的供应器
2020/12/02 19:53:00[调试]检查“/usr/local/bin”中的供应器
2020/12/02 19:53:00[调试]检查“/root/.terraform.d/plugins”中的provisioner
2020/12/02 19:53:00[INFO]无法读取插件锁文件。terraform/plugins/linux_amd64/lock.json:open.terraform/plugins/linux_amd64/lock.json:没有这样的文件或目录
2020/12/02 19:53:00[跟踪]元。后端:后端不支持操作,因此将其包装在本地后端中
2020/12/02 19:53:00[跟踪]后端/本地:工作区“默认”状态管理器将:
- 从terraform.tfstate读取初始快照
- 将新快照写入terraform.tfstate
- 在terraform.tfstate.backup上创建任何备份
2020/12/02 19:53:00[跟踪]状态管理文件系统:从terraform.tfstate读取初始快照
2020/12/02 19:53:00[TRACE]statemgr.Filesystem:快照文件的快照为零,但这没关系
2020/12/02 19:53:00[跟踪]状态管理文件系统:读取零快照
2020/12/02 19:53:00[跟踪]providercache.fillMetaCache:扫描目录。地形/插件
2020/12/02 19:53:00[TRACE]getproviders.SearchLocalDirectory:无法解析.terraform/plugins:lstat的符号链接。terraform:没有此类文件或目录
2020/12/02 19:53:00[TRACE]providercache.fillMetaCache:扫描目录时出错。地形/插件:无法搜索。地形/插件:lstat。地形/插件:无此类文件或目录
2020/12/02 19:53:00[警告]未能扫描提供程序缓存目录。terraform/plugins:无法搜索。terraform/plugins:lstat。terraform/plugins:没有此类文件或目录
2020/12/02 19:53:00[DEBUG]registry.terraform.io的服务发现,网址为
2020/12/02 19:53:00[跟踪]HTTP客户端获取请求到
2020/12/02 19:53:00[调试]获取
2020/12/02 19:53:00[跟踪]HTTP客户端获取请求到
2020/12/02 19:53:00[调试]获取
2020/12/02 19:53:00[跟踪]HTTP客户端获取请求到
提前感谢您的回复 不幸的是,该提供程序似乎没有针对Terraform的最新版本进行更新,因此它只能与Terraform v0.11或更早版本兼容 与最新Terraform版本(在编写本文时)兼容的提供程序将在中发布。您打算使用的特定“proxmox”提供程序没有发布在那里,但在我写这篇评论时,注册中心知道三个,每一个都是不幸的
terraform {
required_providers {
proxmox = {
source = "username/proxmox"
}
}
}