这一章笔记总结一下变量在Terraform里面的定义和使用。windows
变量在Terraform里面能够经过多种方式来定义:数组
下面来看几个例子ide
例1 我建立一个EC2, 把一个自定义的变量传给个人 instance_type学习
在terraform,咱们能够额外建立一个文件叫作 variables.tf, 在里面声明咱们的变量值,而后就能够从主文件里面去直接调用里面的值了命令行
咱们的主文件 first_ec2.tf
orm
咱们的变量文件 variables.tf, 里面我设置了默认值
blog
能够看见执行的时候,他自动就替换成了咱们的默认值
字符串
例2 我在执行命令行的时候,能够直接用参数指定新的内容, 这样他就替换了个人默认值cmd
例3 我建立一个新的文件 terraform.tfvars, 而后在这里面指定个人值string
执行的时候,他会自动调用 terraform.tfvar 文件的内容赋值给咱们的变量,结果以下所示 ( 效果和default相似)
注意,若是我既不设置default,也没配置 terraform.tfvar 文件,那么他在配置的时候会自动提示用户手动输入变量值
例4 我从指定的var 文件里面获取参数的值
我新建一个 custom.tfvars 文件,以下所示
这个文件他默认不会加载,须要咱们手动加载,这样的好处是针对不一样的环境,咱们能够加载不一样的tfvars文件来传递变量值
例5 环境变量中定义,windows 能够用 setx, Linux能够用 export 命令
我用的是windows
而后从新打开一个cmd窗口查看一下
例6 在variables.tf 文件里面定义变量的时候,指定变量的类型,他通常包括 string, list, map 和number四种类型,理解起来就是字符串,列表(数组),字典和数字
下面的例子里 我建立了一个ELB
定义的变量名和类型
赋值
执行便可