变量
变量继承
CloudIaC中的变量可以组织、云模板、项目、环境四个层级中进行设置;
在组织中定义的变量会应用在该组织中所有部署的环境上;
在项目中定义的变量会应用在该项目中所有部署的环境上;
在云模板中定义的变量会应用在所有基于该云模板部署的环境上;
在整个继承链条上同名的变量低层级的值覆盖高层级的值;
当进行环境部署操作时,各层级继承的变量会全部列出,您可以对变量进行重新赋值。
Terraform变量
Terraform变量是Terraform执行时使用的变量,通常在资源描述配置文件里定义好变量的引用;
对于Terraform变量,在环境部署作业发起时将自动将变量加上TF_VARS_前缀,以便让Terraform可以辩识。
环境变量
环境变量通常是用来定义云平台相关的变量,例如云凭证ak/sk、区域、可用区等;
您可以根据不同项目来配置不同云凭证变量,以便管理不同平帐号下的环境资源。
其他变量
其他变量只在『云模板』中进行定义,包含tfvars文件变量和playbook文件变量;
tfvars文件通常是定义不同资源的变量放在不同的tfvars文件中,这样在执行terraform时通过引用不同的tfvars文件来创建不同的资源;
playbook文件是在调用ansible进行应用部署时定义的描述配置文件,您同样可以预先定义好不同的playbook文件对应不同的应用部署,在部署环境时根据传入的playbook文件变量来决定部署何种应用。
敏感信息
在定义变量时,有些变量的值是敏感信息,不方便让所有用户看到,例如云凭证ak/sk或密码等信息,您可以在定义此类变量的值时勾选『敏感信息』复选框;
对于敏感信息变量的值,CloudIaC将全程对此类值进行加密,包括存储和网络传输过程。