- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
自1995年以来,我们使用了一种更新机制,
terraform-0.13.0-1.el7.harbottle.x86_64
golang-github-terraform-provider-vsphere-1.13.0-0.1.x86_64
目标是
/usr/bin/terraform-provider-vsphere
而没有其他内容。这对于以前的所有版本都非常有效,并且可能在v13中才开始发挥作用。 terraform init -plugin-dir=/dev/shm
terraform init -get-plugins=false
terraform init -get=false
terraform::required_providers::vsphere::source=""
echo "disable_checkpoint = true" > ~/.terraformrc
$ terraform init -get-plugins=false
Initializing the backend...
Initializing provider plugins...
- Finding latest version of -/vsphere...
- Finding latest version of hashicorp/vsphere...
更新:我仍然有点:
rpm -qlp golang-github-terraform-provider-vsphere
/usr/share/terraform/plugins/registry.terraform.io/hashicorp/vsphere/1.14.0/linux_amd64/terraform-provider-vsphere
我觉得我真的很近。/usr/share/位于XDG的默认搜索路径中,它似乎确实找到了该位置,但似乎首先/全部检查了注册表,这是意外的。
Initializing provider plugins...
- Finding latest version of hashicorp/vsphere...
- Finding latest version of -/vsphere...
- Installing hashicorp/vsphere v1.14.0...
- Installed hashicorp/vsphere v1.14.0 (unauthenticated)
Error: Failed to query available provider packages
我们确定它会停止检查它是否具有本地内容,并且默认情况下会执行此操作吗?我没看错吗?
最佳答案
您在此处描述的内容听起来像the Provider Installation settings中的Terraform's CLI configuration file的意图。
具体来说,您可以将提供程序文件放在您选择的本地文件系统目录中–就本例而言,我将随意选择/usr/local/lib/terraform
,然后在CLI配置文件中写入以下内容:
provider_installation {
filesystem_mirror {
path = "/usr/local/lib/terraform"
}
}
如果您还没有CLI配置文件,可以将其放在文件
~/.terraformrc
中。
golang-github-terraform-provider-vsphere-1.13.0-0.1.x86_64
包将需要将提供程序的可执行文件放置在以下路径中(假设您使用的是Linux系统):
/usr/local/lib/terraform/registry.terraform.io/hashicorp/vsphere/1.30.0/linux_amd64/terraform-provider-vsphere_v1.13.0_x4
(上面的文件名是官方的vSphere提供程序版本中的文件名,但是,如果您是从源代码自己构建的,则只要以
terraform-provider-vsphere
开头,它的确切名称都没有关系。)
-/vsphere
。由于您不会在本地目录中找到该提供程序,因此安装将会失败,但是由于知道此提供程序已在
hashicorp/vsphere
上发布,因此我们可以通过在状态中手动迁移该提供程序来避免这种情况,从而避免Terraform进行推断这会自动在下一个
terraform apply
上:
terraform state replace-provider 'registry.terraform.io/-/vsphere' 'registry.terraform.io/hashicorp/vsphere'
运行此命令后,您的最新状态快照将不再与Terraform 0.12兼容,因此,如果您选择中止升级并返回到0.12,则需要从备份中还原以前的版本。如果您的州没有存储在自然保留历史版本的位置,则获得这种备份的一种方法是使用Terraform 0.12可执行文件运行
terraform state pull
并将结果保存到文件中。 (默认情况下,Terraform推迟执行此操作,直到
terraform apply
为止,以避免升级状态格式,直到它无论如何都要进行其他更改为止。)
provider_installation
配置是一个答案,这似乎是您的目标,但出于完整性考虑,我还想指出,以下命令应以与结果等效的方式运行如果要仅对
terraform init
的特定调用强制本地目录,请执行上述配置:
terraform init -plugin-dir=/usr/local/lib/terraform
hashicorp/vsphere
和假设的
othernamespace/vsphere
。)
terraform-provider-vsphere
可执行文件。您可以通过将可执行文件放在以下位置来使该策略适应Terraform 0.13:
/usr/local/share/terraform/plugins/registry.terraform.io/hashicorp/vsphere/1.30.0/linux_amd64/terraform-provider-vsphere_v1.13.0_x4
(同样,此处的确切文件名并不重要,只要它以
terraform-provider-vsphere
开头即可。)
/usr/local/share
假设是
the XDG Base Directory specification的默认数据目录之一,但是如果您的系统上覆盖了
XDG_DATA_HOME
/
XDG_DATA_DIRS
,则Terraform应该尊重这一点并查看您列出的其他位置。
provider_installation
块覆盖默认行为,则该文件的存在将导致Terraform的行为就像您在CLI配置中编写了以下内容一样:
provider_installation {
filesystem_mirror {
path = "/usr/local/share/terraform/plugins"
include = ["hashicorp/vsphere"]
}
direct {
exclude = ["hashicorp/vsphere"]
}
}
这种形式的配置仅强制为
hashicorp/vsphere
提供程序进行本地安装,从而模仿了Terraform 0.12使用本地插件文件
terraform-provider-vsphere
会执行的操作。您可以获得更彻底的行为,从不使用与我打开此答案所用的配置类似的配置联系远程注册表,而该配置根本不包含
direct {}
块。
关于terraform - 强制Terraform仅从本地磁盘安装提供程序,从而禁用Terraform Registry,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63680319/
我听说最好不要从您系统的 Perl 版本所在的 CPAN 安装模块。我知道如何使用命令行安装模块,我只是想知道是否有办法将 CPAN 与系统核心 Perl 分开。 我应该: 下载源代码并专门为这些模块
我听说最好不要从系统的 Perl 版本所在的 CPAN 安装模块。我知道如何使用命令行安装模块,我只是想知道是否有办法将 CPAN 与系统的核心 Perl 分开。 我应该: 下载源代码并专门为这些模块
单独安装 electron 与通过 electron-builder 安装有什么区别?我正在使用 React 构建一个 Electron 应用程序,并且已经找到了一些教程。它们安装 Electron
两者安装有什么区别?我按照安装页面上的说明在全局范围内安装了 webpack,然后我转到了入门指南,据说在那里可以在本地安装 webpack-cli。 CLI = Command Line Inter
我在 OS X Yosemite 上用 PHP 安装了默认的 Apache 服务器,安装了 pear,用 brew 安装了 Solr (brew install solr),现在我正在尝试使用 PEC
我解压并编译了 Ruby 2.1 并安装了几个支持工具。 但是当我安装了 libssl-dev 时,OpenSSL 不会安装。 我在支持 openssl 时遇到这个错误: make: *** No r
我在 android studio 2.3.1 和 gradle 3.2 中设计了 2 到 3 个应用程序。当我从它运行应用程序到任何设备或模拟器时,一切都工作正常。但是当我从构建文件夹中获取该 ap
我注意到我正在读一本书提到通过 apt-get 安装 numpy 和 opencv apt-get install python-numpy python-opencv 但我可以通过以下方式在 pip
我正在尝试在 Windows 8.1 上安装 ansicon。我提取了文件并达到了我需要调用 ansicon -i 的级别。当我在 cmd 中输入此内容并运行 python 脚本时效果很好,但是当我通
我有 linux MINT 17.3 Kernel 4.4.0-81 所有更新可用。 (由于不同的原因,我无法迁移到更新版本的 ubuntu/mint) 我已经通过 PPA 安装了 FFMPEG(不是
尝试在本地运行我的应用程序时出现错误: 我只在 chrome 浏览器中收到此错误。我尝试过不同的东西,但我不确定为什么它是 Chrome 特定的。 最佳答案 我怀疑这不是 Firebase 问题,而是
这是我第一次开发 AngularJS 应用程序并使用脚手架工具 Yeoman ( http://yeoman.io/ )。我想对我的一些图标使用 fontawesome ( http://fortaw
我知道您通常“应该”$ pip install 如果包没有 brew ,但如果有一个你想安装的 python 包,你可以使用 $ pip install或 $ brew install为了?例如,通过
我正在尝试通过 RVM 安装 Ruby 1.9.3。然而,当谈到安装 RubyGems 时,我得到了这个: curl: (22) The requested URL returned error: 4
我是真正提出问题的新手,但你去吧。 我一直在尝试按照安装指南添加 dnsname: https://github.com/containers/dnsname https://github.com/c
Studio更新至0.4.0 建筑产量为“需要1.8版Gradle”;将设置设置为1.8 bin目录; 建立 “要求1.9级”;将设置设置为1.9 bin; 建立 “要求1.8级” 啊。不知道该怎么做
我刚刚注意到 kernel.org 因维护而停机。是否有使用不同镜子的不同公式?或者我可以向 Homebrew 软件添加不同的来源(如 bundler ?)? 谢谢你的帮助! 最佳答案 快速解决方法:
当我运行时: peardev install phpunit/PHPUnit 我得到以下信息: No releases available for package "pear.phpunit.de/P
服务器操作系统为Fedora 24. 64bit。 我想安装 Git 2.6.6。 所以下载源码并安装。 此服务器离线。所以我不使用“yum”。 ./configure --prefix=/usr/l
我正在尝试在我自己的服务器(操作系统:Linux Ubuntu Server 12.04)上安装 OpenEdX,但我遇到了同样的错误。谁能帮帮我? TASK: [ insights | insta
我是一名优秀的程序员,十分优秀!