运维开发网

Terraform 学习笔记 - 变量

运维开发网 https://www.qedev.com 2021-02-26 09:35 出处:51CTO 作者:beanxyz
这一章笔记总结一下变量在Terraform里面的定义和使用。变量在Terraform里面可以通过多种方式来定义:系统的环境变量命令行里面指定从文件里面指定从variabledefault的值指定下面来看几个例子例1我创建一个EC2,把一个自定义的变量传给我的instance_type在terraform,我们可以额外创建一个文件叫做variables.tf,在里面声明我们的变量值,然后就可以从主文

这一章笔记总结一下变量在Terraform里面的定义和使用。

变量在Terraform里面可以通过多种方式来定义:

  1. 系统的环境变量
  2. 命令行里面指定
  3. 从文件里面指定
  4. 从variable default的值指定

下面来看几个例子

例1 我创建一个EC2, 把一个自定义的变量传给我的 instance_type

在terraform,我们可以额外创建一个文件叫做 variables.tf, 在里面声明我们的变量值,然后就可以从主文件里面去直接调用里面的值了

我们的主文件 first_ec2.tf

Terraform 学习笔记 - 变量

我们的变量文件 variables.tf, 里面我设置了默认值

Terraform 学习笔记 - 变量

可以看见执行的时候,他自动就替换成了我们的默认值

Terraform 学习笔记 - 变量

例2 我在执行命令行的时候,可以直接用参数指定新的内容, 这样他就替换了我的默认值

Terraform 学习笔记 - 变量

例3 我创建一个新的文件 terraform.tfvars, 然后在这里面指定我的值

Terraform 学习笔记 - 变量

执行的时候,他会自动调用 terraform.tfvar 文件的内容赋值给我们的变量,结果如下所示 ( 效果和default类似)

Terraform 学习笔记 - 变量

注意,如果我既不设置default,也没配置 terraform.tfvar 文件,那么他在配置的时候会自动提示用户手动输入变量值

例4 我从指定的var 文件里面获取参数的值

我新建一个 custom.tfvars 文件,如下所示

Terraform 学习笔记 - 变量

这个文件他默认不会加载,需要我们手动加载,这样的好处是针对不同的环境,我们可以加载不同的tfvars文件来传递变量值

Terraform 学习笔记 - 变量

例5 环境变量中定义,windows 可以用 setx, Linux可以用 export 命令

我用的是windows

Terraform 学习笔记 - 变量

然后重新打开一个cmd窗口查看一下

Terraform 学习笔记 - 变量

例6 在variables.tf 文件里面定义变量的时候,指定变量的类型,他一般包括 string, list, map 和number四种类型,理解起来就是字符串,列表(数组),字典和数字

下面的例子里 我创建了一个ELB

Terraform 学习笔记 - 变量

定义的变量名和类型

Terraform 学习笔记 - 变量

赋值

Terraform 学习笔记 - 变量

执行即可

扫码领视频副本.gif

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号