| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发工具 -> Terraform基础(四)-Terraform配置文件基础语法&格式 -> 正文阅读 |
|
[开发工具]Terraform基础(四)-Terraform配置文件基础语法&格式 |
概述????????用Terraform的语言编写配置文件,告诉Terraform需要安装哪些插件、创建哪些基础设施。 文件和目录结构
????????配置文件的后缀通常为.tf,或者使用json格式编写配置文件时其后缀为.tf.json。配置文件的编码必须为UTF-8。 ????????terraform init初始化工作空间后目录下会出现以下文件。
配置文件语法Terraform 语言的语法仅包含几个基本元素:
providerTerraform依赖的组件成为providers。Terraform配置必须声明需要哪些providers,以便可以安装和使用它们。 provider一般会提供 resource的类型 和 DATA SOURCE Terraform具体支持哪些provider可以在这里查看:Terraform Registry 示例
alias:同一提供者的多个配置????????可以选择为同一个提供者定义多个配置,并选择基于每个资源或每个模块使用哪一个。这样做的主要原因是支持一个云平台的多个区域等场景。
resource和module不指定提供者时,默认以alias值的第一个单词推断默认的provider 多配置下,resource可以用provider参数指定使用哪个提供者
多配置下,子模块可以用providers参数指定使用哪些提供者
required_providersTerraform0.13以及更高版本中,provider块的version参数已启用。取而代之的似乎使用required_providers块指定provider的版本。 required_providers由本地名称、源位置、版本约束组成: 本地名称(mycloud)、源位置(source)、版本约束(version)
本地名称? ? ? ? 优先使用provider建议的首选本地名称 源位置? ? ? ? ? ? 缺省时,默认为 registry.terraform.io/hashicorp/<LOCAL?NAME> 版本约束? ? ? ? =>1.0 定义最低使用1.0版本;~>1.0定义 最高使用1.0版本 resource
resource????????????????????????resource块 "aws_instance"? ? ? ? ? ? ? 资源类型,由provider决定有哪些资源类型 "web"? ? ? ? ? ? ? ? ? ? ? ? ? ? ?本地名称,仅用于在当前模块中引用此资源 {...}? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?参数,大多数参数取决于资源类型。系统也有元参数 元参数 Meta-Arguments
datadata块可以根据provider提供的DATA SOURCE,填写对应的参数。搜索到相对应的基础设施的信息,然后data块可以作为数据源提供相关数据信息。 示例 resource中引用本地名称为"web"的data source的id。 data块中的各种参数只是为了找到对应的基础设施资源。
variable变量定义variable块只能声明变量,并不能指定变量的值
支持参数
使用变量
变量输入变量输入有多种方式
编辑xx.tfvars文件
命令行引用tfvars文件
outputoutput就像函数的retrun返回值。执行完terraform apply之后输出的返回值。 示例 创建一个vpc,使用output输出vpc的id 和 执行成功状态提示。
执行结果 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/30 2:31:24- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |