检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
YAML语法 YAML 是一种简洁强大的语言,它的设计目标是便于设计和使用人员阅读。 基本语法规则 大小写敏感。 使用缩进表示层级关系。 缩进时不允许使用Tab键,只允许使用空格。 缩进的空格数目不重要,要求相同层级的元素左侧对齐。 使用#表示注释。 YAML支持三种数据结构 对
} 列表类型和集合类型的表示方式相同,其中元素为基本类型的列表/集合使用 [] 封装,元素为块类型的列表/集合使用重复块的形式表示,例如: # 基本类型的列表 security_groups = ["default", "internal"] # 块类型的列表 network {
语法指南 基本语法 样式约定 表达式 常见函数 父主题: 资源编排
HCL支持丰富的内置函数,用于处理字符串、数值计算、加密,类型转换等操作,您可以通过函数名称进行调用,其语法如下: <函数名称>(<参数1>, <参数2> ...) 本文主要对HCL中常见的函数进行总结并通过样例说明其用法。您可以通过Terraform 官方文档查看完整的函数支持列表。
取值说明:该字段可填值以RDS服务支持情况为准,如utf8, gbk。 使用建议:1. 可通过RDS界面在参数组管理选项卡中查看character_set_database字段的属性 https://console.huaweicloud.com/newrds/?locale=zh-cn#/rds/management/params
字段说明 属性 是否必选 参数类型 描述 dbtype 是 string 数据库的类型 取值说明:MySQL 取值约束:仅可填写MySQL 使用建议:根据规格按需选择 version 是 string 数据库的版本 取值说明:MySQL引擎支持5.6、5.7、8.0版本。取值示例:5.7。
关系型数据库MySQL的访问IP地址 refPort integer 关系型数据库MySQL的访问端口 refName string 关系型数据库MySQL实例的名称 refID string 关系型数据库MySQL实例的ID chargeMode string 关系型数据库MySQL的包周期类型
RDS.MySQL.DataBase 模型说明 一个数据库实例可以包含多个由数据库用户创建的数据库,并且可以使用与独立数据库实例相同的客户端工具和应用程序进行访问。该元素的作用便是在指定的RDS实例内创建一个数据库。 模型属性 表1 模型定义属性说明 属性 是否必选 描述 instanceId
"false" 取值约束:1. 此处填写的HA参数必须与规格参数一致。 2. 注意此处应填写字符串格式的参数,而在使用yaml格式模板的时候需要加上双引号,因为yaml格式默认将 true/false 两个值认为是布尔类型 使用建议:如果实例规格的名称中有HA参数,则此处需要填写true,反之为false
表达式用于引用或计算配置中的值,最简单的表达式是文字表达式,如 "hello world" 或5。Terraform支持多种表达式,包括运算符、条件表达式以及丰富的内置函数。 通过 "terraform console" 命令可以打开一个交互式的控制台,您可以使用该控制台进行表达式及内置函数的体验和测试。
样式约定 样式约定 HCL约定了一些惯用的风格样式,以确保不同团队编写的文件和模块的风格一致性。建议用户遵循这些约定,推荐的样式约定如下: 对于每个嵌套级别,缩进两个空格。 当多个单行的参数在同一嵌套级别连续出现时,建议将等号对齐。 name = "myinstance"
填写空值表示不创建用户 取值约束:符合MySQL对于用户名的要求即可 使用建议:用户自定义 userDatabase 否 MySQL.UserDatabase 用户可访问数据库的配置 使用建议:在“组成部分”中选择 dbUser 字段根据提示的字段进行扩充填写 父主题: 数据结构
userPassword 是 password 数据库用户的密码。参数非空,由大小写字母、数字和特殊符号~!@#%^*-_=+?组成,长度8~32位,非弱密码。 取值说明:用户自定义 取值约束:1. 参数必须写入inputs内,通过get_input的方式传入 2. 由大小写字母、数字和特殊符号~
MySQL.UserDatabase 字段说明 表1 字段说明 属性 是否必选 参数类型 描述 name 是 string 用户可访问的数据库名称 父主题: 数据结构
创建执行计划,创建资源栈,更新资源栈的区别 创建执行计划:生成一个执行计划,通过提前浏览整个计划,可以评估对正在进行的资源造成的影响。创建后不会改变资源栈,只有进行了执行操作时,系统才会对您的资源栈进行更改。 创建资源栈:提供初始模板,创建并且部署资源栈。 更新资源栈:用户可以提供新的模板、参数等,触发一个新的部署,对资源栈直接进行更改。
description: 实例的root用户密码 availabilityZone: description: 实例所属的可用区 subnetId: description: 实例所属的子网ID dbVersion: description: 数据库的版本
一个叫HelloWorld的资源栈,删除,再重新创建一个同名资源栈。 对于团队并行开发,用户可能希望确保,当前我操作的资源栈就是我认为的那个,而不是其他队友删除后创建的同名资源栈。因此,使用ID就可以做到强匹配。 资源编排服务保证每次创建的资源栈所对应的ID都不相同,更新不会影响
concat 在编写模板时,经常会使用到字符串拼接功能。例如,从虚拟机的结果中获取一个IP,从APP的结果中获取一个监听Port,并在模板的输出中打印出最终的、直观的访问http地址。 字符串拼接是一个内置函数,concat用于将描述字段转换成字符串并进行拼接,支持内嵌get_a
aform(HCL + Provider)的新一代云服务资源终态编排引擎。基于业界开放生态HCL语法模板,实现云服务资源的自动化批量构建,帮助用户高效、安全、一致创建、管理和升级云服务资源,能有效提升资源管理效率,并降低资源管理变更带来的安全风险。 产品介绍 立即使用 成长地图 由浅入深,带您玩转RFS
这种方法虽然可以直截了当的解决问题,但效果并不是很好。因为带入了重复,从而使模板的可维护性和易用性变差。 方式二:使用concat内置函数 通过concat内置函数将多个小字符串拼接为一个更长、更完整的字符串。concat内置函数的参数可以是任意类型的变量,支持将数字和字符串混合拼接。示例如下: