Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Terraform 地形自定义提供程序_Terraform_Proxmox - Fatal编程技术网

Terraform 地形自定义提供程序

Terraform 地形自定义提供程序,terraform,proxmox,Terraform,Proxmox,我是Terraform的新手,我想通过建立我的新实验室来尝试一下。实验室托管在远程proxmox虚拟机监控程序上,我的Terraform运行在docker容器上。我从github()下载了proxmox提供程序 如果正确,我需要编写一个terraform配置文件,用以下指令指定容器($HOME/.terraformrc)中的提供程序位置: providers { proxmox = "/path/to/provider/directory" } 然后我编写了main.t

我是Terraform的新手,我想通过建立我的新实验室来尝试一下。实验室托管在远程proxmox虚拟机监控程序上,我的Terraform运行在docker容器上。我从github()下载了proxmox提供程序

如果正确,我需要编写一个terraform配置文件,用以下指令指定容器($HOME/.terraformrc)中的提供程序位置:

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.5
2020/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客户端获取请求到
错误:未能安装提供程序

安装hashicorp/proxmox时出错:提供程序注册表注册表.terraform.io没有名为registry.terraform.io/hashicorp/proxmox的提供程序

所以,我可以看到我的terraformrc文件是红色的,但我不明白为什么我的提供者没有被使用,我做错了什么

有什么想法吗?:)
提前感谢您的回复

不幸的是,该提供程序似乎没有针对Terraform的最新版本进行更新,因此它只能与Terraform v0.11或更早版本兼容

与最新Terraform版本(在编写本文时)兼容的提供程序将在中发布。您打算使用的特定“proxmox”提供程序没有发布在那里,但在我写这篇评论时,注册中心知道三个,每一个都是不幸的
terraform {
  required_providers {
    proxmox = {
      source = "username/proxmox"
    }
  }
}