检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
样式约定 样式约定 HCL约定了一些惯用的风格样式,以确保不同团队编写的文件和模块的风格一致性。建议用户遵循这些约定,推荐的样式约定如下: 对于每个嵌套级别,缩进两个空格。 当多个单行的参数在同一嵌套级别连续出现时,建议将等号对齐。 name = "myinstance"
Metadata Metadata说明 depends_on count for_each provider lifecycle 父主题: 配置指南
Data Source Data Source Data Source 可以认为是特殊的Resource,通过关键字 "data" 进行声明。Data Source 用于查询已经存在资源的属性和信息,例如可以通过 "Ubuntu 18.04 server 64bit" 的镜像名称查询得到对应镜像的ID及其他属性:
Metadata说明 Metadata是Terraform支持的内置元参数,可以在 provider,resource,data块中使用。本章节主要介绍 resource块支持的元参数,主要包括: depends_on:用于指定资源的依赖项 count:用于创建多个相同配置的资源
输出变量 输出变量可以理解为模块的返回值,通过关键字 "output" 进行声明。输出变量是一种对外公开某些信息的方法,既可以在根模块中运行 terraform apply/output 命令输出特定的值,又可以在子模块中将资源的属性值提供给父模块。 声明输出变量 按照约定,输出变量通常在名为
本地变量 本地变量可以理解为模块中的临时变量,其作用范围在所声明的模块内,通过关键字 "locals" 进行声明。本地变量适用于配置中有重复定义相同值或表达式的场景,可以减少代码冗余,并且易于修改。同时过度使用本地变量会导致变量的实际值被隐藏,代码晦涩,不利于维护,因此建议合理使用本地变量。
depends_on 在同一个 Terraform 配置文件中可以包含多个资源。通过在资源中引用其他资源的属性值,Terraform可以自动推断出资源的依赖关系。然而,某些资源的依赖关系对于Terraform是不可见的,这就需要使用 depends_on 来创建显式依赖。您可以使用
lifecycle 每个资源实例都具有创建 、更新和销毁三个阶段,在一个资源实例的生命周期过程中都会经历其中的2至3个阶段。通过元参数 lifecycle 可以对资源实例的生命周期过程进行改变,lifecycle 支持以下参数: create_before_destroy 默认情
输入变量 输入变量可以理解为模块的参数,通过关键字 "variable" 进行声明。通过定义输入变量,您可以无需变更模块的源代码就能灵活修改配置。输入变量的值可以使用默认值,CLI 选项,环境变量等方式来设置。 定义输入变量 按照约定,输入变量通常在名为 variables.tf
count 默认情况下,Terraform的 resource块只配置一个资源。当需要创建多个相同的资源时,如果配置多个独立的 resource块就显得很冗余,且不利于维护。可以使用 count 或 for_each 参数在同一个 resource块中管理多个相同的资源。在同一个
for_each for_each 在功能上与 count 相似,for_each 使用键值对或字符串集合的形式快速地将值填入到对应的属性中,不仅可以优化脚本结构也有利于理解多实例间的关系。 在使用映射类型表达时,您可以使用 "each.key" 和 "each.value" 来
Extension简介 Extension用于承载RFS系统的扩展能力,这些扩展文件用户可以直接操作和编写。 Extension是RFS支持的内置元参数,可以在模板中配置使用,方便用户更好的配置参数。本章节主要介绍Extension相关参数 ,主要包括: i18n:代表要使用多语义化功能 variables:代表要使用参数预加载功能
Extension使用 使用Extension注意: 1.在zip压缩包根目录下新建.extension文件夹 2.".extension"文件夹下新建后缀名为.rfs.json的扩展文件,当前只支持扩展功能写在单个文件中 父主题: Extension
Resource Resource 是Terraform中最重要的元素,通过关键字 "resource" 进行声明。Provider中支持的云服务都有一个或多个资源与之对应,如huaweicloud_compute_instance表示ECS,huaweicloud_vpc表示V
多语义化 参数多语言支持对variable的参数名字、描述和类型进行词条翻译,当前支持zh_cn、en_us两种语义 i18n中示例如下: "i18n": { "zh_cn": [ { "variable_name":
表达式 表达式用于引用或计算配置中的值,最简单的表达式是文字表达式,如 "hello world" 或5。Terraform支持多种表达式,包括运算符、条件表达式以及丰富的内置函数。 通过 "terraform console" 命令可以打开一个交互式的控制台,您可以使用该控制台进行表达式及内置函数的体验和测试。
参数预加载 参数预加载支持输入参数时请求云服务api获取预加载选项,当前支持以下六种api接口: 表1 支持的api接口说明 属性 描述 hwc:ecs:flavors ECS的Flavor hwc:vpc:myVpcs VPC列表 hwc:vpc:mySubnets Subnet子网列表
Provider Provider Terraform的配置文件以 ".tf" 或".tf.json"结尾,主要由provider,resource,data source和变量组成。 每个 Provider 代表一个服务提供商,Terraform 通过插件机制与Provider进行交互。Provider通过关键字
CCE.HelmChart 字段说明 表1 字段说明 属性 是否必选 参数类型 描述 version 是 string chart版本,默认值为空 name 是 string chart名称,默认值为空 父主题: 数据结构
ECS.ExtendParam 字段说明 表1 字段说明 属性 是否必选 参数类型 描述 CB_CSBS_BACKUP 否 string CB CSBS BACKUP 取值说明:用户自定义 使用建议:无 imageproductid 否 string 镜像产品ID 取值说明:用户自定义