You can use theterraform_remote_statedata source without requiring or configuring a provider. It is always available through a built-in provider with thesource addressterraform.io/builtin/terraform. That provider does not include any other resources or data sources. ...
正如上节提到,Terraform 在创建完资源后,会将资源的属性存放在一个state文件中,这个文件可以存放在本地也可以存放在远端。存放state文件的载体就是Backend。 Backend分为本地(local)和远端(remote)两类,默认为本地。远端的类型也非常多,目前官方网站提供的有13种,并且阿里云的OSS就位列其中。
State文件保存了当前Terraform管理的所有资源及其属性,内容都是由Terraform自动存储的,为了保证数据的完整性,不建议手动修改State内容。对State数据的操作可以通过terraform state命令来完成。 terraform state list:列出当前state中的所有资源 state list命令会按照<资源类型>.<资源名称>的格式列出当前state中存在的所有资源(...
因terraform创建资源后,会将资源属性保存在state文件中,而这个文件可以放本地,也可以存放在远端,实现state和模板代码的分离,这个存放state文件的载体就是backend。 Backend分为本地和remote两类,默认为本地。目前已支持多达13中远端存储方案,如console、etcd、oss等,可以降低多人协作对state维护的成本,也可以保障数据的...
Web服务器集群代码可以通过使用terraform_remote_state数据源来读取这个状态文件的数据。stage/services/webservercluster/ main.tf中数据源定义如下。 运行terraform console命令打开一个交互式控制台,通过交互式控制台可以很好地实验内置函数的功能。运行Terraform语法,查询基础设施的状态,并立即返回结果。
正如上节提到,Terraform 在创建完资源后,会将资源的属性存放在一个state文件中,这个文件可以存放在本地也可以存放在远端。存放state文件的载体就是Backend。 Backend分为本地(local)和远端(remote)两类,默认为本地。远端的类型也非常多,目前官方网站提供的有13种,并且阿里云的OSS就位列其中。
Note:You must use thenamekey when configuring aterraform_remote_statedata source that retrieves state from another HCP Terraform workspace. Theprefixkey is only intended for use when configuring an instance of the remote backend. Version note:.terraformignoresupport was added in Terraform 0.12.11....
initial files, loading any remote state, downloading modules, etc. This is the first command that should be run for any new or existing Terraform configuration per machine. This sets up all the local data necessary to run Terraform that is typically not committed to version ...
当涉及多人协作时不仅需要拷贝模板,还需要拷贝state文件,这无形中增加了维护成本。幸运的是,目前Terraform支持把state文件放到远端的存储服务OSS上或者consul上,来实现state文件和模板代码的分离。具体细节可参考官方文档Remote State或者关注后续文章的详细介绍。
data "terraform_remote_state" "vpc" { backend = "s3" config = { bucket = “s3-terraform-bucket” key = “vpc/terraform.tfstate" region = “us-east-1” } } 锁定状态文件 可能有多个场景,其中不止一个开发人员试图同时运行 Terraform 配置。这可能导致 terraform 状态文件损坏甚至数据丢失。锁定机制...