检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
count 默认情况下,Terraform的 resource块只配置一个资源。当需要创建多个相同的资源时,如果配置多个独立的 resource块就显得很冗余,且不利于维护。可以使用 count 或 for_each 参数在同一个 resource块中管理多个相同的资源。在同一个
Extension简介 Extension用于承载RFS系统的扩展能力,这些扩展文件用户可以直接操作和编写。 Extension是RFS支持的内置元参数,可以在模板中配置使用,方便用户更好的配置参数。本章节主要介绍Extension相关参数 ,主要包括: i18n:代表要使用多语义化功能
Extension使用 使用Extension注意: 1.在zip压缩包根目录下新建.extension文件夹 2.".extension"文件夹下新建后缀名为.rfs.json的扩展文件,当前只支持扩展功能写在单个文件中 父主题: Extension
模板结构 模板样例 # 应用模板的版本信息 tosca_definitions_version: huaweicloud_tosca_version_1_0 # 应用模板的描述信息 description: Template for deploying a cloudserver
Resource Resource 是Terraform中最重要的元素,通过关键字 "resource" 进行声明。Provider中支持的云服务都有一个或多个资源与之对应,如huaweicloud_compute_instance表示ECS,huaweicloud_vpc表示V
多语义化 参数多语言支持对variable的参数名字、描述和类型进行词条翻译,当前支持zh_cn、en_us两种语义 i18n中示例如下: "i18n": { "zh_cn": [ { "variable_name":
var.list : upper(str) if length(str) >= 3] [ "bbb", "cccc", ] 参考资料 https://www.terraform.io/docs/configuration/expressions.html 父主题: 语法指南
conditions conditions为可选项,用于定义条件。通过条件可以控制定义在node_templates中的元素是否需要创建部署。 conditions格式: <条件名称>: <条件内置函数> ... 通过conditions控制node_templates中属性生效的格式如下:
输出变量 输出变量可以理解为模块的返回值,通过关键字 "output" 进行声明。输出变量是一种对外公开某些信息的方法,既可以在根模块中运行 terraform apply/output 命令输出特定的值,又可以在子模块中将资源的属性值提供给父模块。 声明输出变量 按照约定,输出变量通常在名为
本地变量 本地变量可以理解为模块中的临时变量,其作用范围在所声明的模块内,通过关键字 "locals" 进行声明。本地变量适用于配置中有重复定义相同值或表达式的场景,可以减少代码冗余,并且易于修改。同时过度使用本地变量会导致变量的实际值被隐藏,代码晦涩,不利于维护,因此建议合理使用本地变量。
depends_on 在同一个 Terraform 配置文件中可以包含多个资源。通过在资源中引用其他资源的属性值,Terraform可以自动推断出资源的依赖关系。然而,某些资源的依赖关系对于Terraform是不可见的,这就需要使用 depends_on 来创建显式依赖。您可以使用
lifecycle 每个资源实例都具有创建 、更新和销毁三个阶段,在一个资源实例的生命周期过程中都会经历其中的2至3个阶段。通过元参数 lifecycle 可以对资源实例的生命周期过程进行改变,lifecycle 支持以下参数: create_before_destroy 默认情
规格) 使用建议:在CCE创建集群页面查询可使用的集群规格名称,请参见:https://support.huaweicloud.com/api-cce/cce_02_0236.html type 否 集群类型 参数类型:HuaweiCloud.CCE.Cluster.Type 默认值:VirtualMachine
AvailabilityZone.Name 取值说明:待创建云服务器所在的可用区,需要指定可用区(AZ)的名称,例如cn-north-1a。请参考地区和终端节点获取:https://developer.huaweicloud.com/endpoint 取值约束:根据所属区域选择,参见https://developer
node_templates node_templates为必填项,用于定义该模板中编排的元素对象集合,其中所有对象均为元素。一个元素可以是一个应用、一个云服务资源。 node_templates格式: <元素名称>: type: <元素类型> properties: <元素属性>
模板写作技巧 组件启动等待 假设,您要启动A(Application)和S(Service)两个组件,并且A依赖S(即:A -> S),A需要去连接S做业务。以A为Tomcat,S为MySQL为例。 AOS编排时,会根据模板要求先启动S,待S启动成功后(进程启动成功,实际S的业务
policies policies为可选项,用于定义安全、监控等策略。目前支持的策略类型元素有: HuaweiCloud.AntiDDos.Service:定义ECS虚拟机、EIP的防攻击策略。 HuaweiCloud.APM.PinPoint:定义Java应用的调用链监控策略。
mappings mappings为可选项,用于定义映射表。在基于模板创建资源栈时,可以根据输入的变量信息,通过get_in_map方法提取特定变量对应的内容。一个模板最多支持定义10个映射。 mappings格式: <映射名称>: <映射对象名称>: <映射对象属性名称>:
evs的k8s原生manifest对象,基于此也可以创建evs资源,替代其余配置项 参数类型:dict 取值约束:符合kubernetes规范 使用建议:根据需求参考示例或CCI服务资料编写 name 否 PVC名称 参数类型:string 取值说明:自定义 取值约束:同一namespace下PVC名称
split split函数一般多与select/get_list_length配合使用。其主要使用场景如下: 将一个字符串拆分成一组字符串,以便从结果字符串列表中获取特定元素。 直接使用结果字符串数组。 语法 split: [delimiter, sourceString ] 参数说明