检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
输入变量 输入变量可以理解为模块的参数,通过关键字 "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:代表要使用多语义化功能
Extension使用 使用Extension注意: 1.在zip压缩包根目录下新建.extension文件夹 2.".extension"文件夹下新建后缀名为.rfs.json的扩展文件,当前只支持扩展功能写在单个文件中 父主题: Extension
身份认证与访问控制 身份认证 租户使用RFS服务通常有两种调用方式:控制台访问和API调用。 1.控制台身份认证方式 RFS对接了统一身份认证服务(Identity and Access Management,IAM)。RFS租户身份认证与访问控制通过IAM权限控制。 统一身份认证
YAML语法 YAML 是一种简洁强大的语言,它的设计目标是便于设计和使用人员阅读。 基本语法规则 大小写敏感。 使用缩进表示层级关系。 缩进时不允许使用Tab键,只允许使用空格。 缩进的空格数目不重要,要求相同层级的元素左侧对齐。 使用#表示注释。 YAML支持三种数据结构 对象
基本语法 RFS配置语言兼容HCL语法,具有配置简单,可读性强等特点,并且兼容JSON语法。本文主要介绍HCL语言的基本语法及常见函数。 RFS配置语言主要由参数(Argument),块(Block),表达式(Experssion)和函数(Functions)组成。 参数 (Argument
模板约束与限制 使用RFS服务进行模板部署,模板文件内容具有如下约束与限制: 模块的数量限制为25,模块嵌套深度限制为3。 不能使用Provisioners功能、Backend Configuration功能和Cloud 功能。 可以使用Module Sources功能,但仅支持Local
资源栈状态 资源栈管理包括两方面的能力,一是对资源栈进行生命周期管理,包括创建、更新、删除、查询等操作;二是对资源栈下的执行计划进行生命周期管理,包括执行计划的创建、删除、查询等操作。 资源栈生命周期中各状态说明如表1所示。 执行计划生命周期中各状态说明如表2所示。 表1 资源栈各个状态说明
查询资源栈 步骤:进入资源编排控制台,单击左侧导航栏中的“资源栈”,进入资源栈列表页面 在资源栈列表上方的输入框中输入要查找的资源栈名称,单击搜索图标即可,如图1: 图1 资源栈搜索 父主题: 入门
表达式 表达式用于引用或计算配置中的值,最简单的表达式是文字表达式,如 "hello world" 或5。Terraform支持多种表达式,包括运算符、条件表达式以及丰富的内置函数。 通过 "terraform console" 命令可以打开一个交互式的控制台,您可以使用该控制台进行表达式及内置函数的体验和测试
创建执行计划 步骤:进入资源栈列表页面,单击资源栈名称进入资源栈详情,单击页面右上角的“更新模板或参数”进入创建执行计划页面如图1: 图1 创建执行计划页面 后续步骤和创建资源栈一致,除了一个区别是,您需要单击创建执行计划,而不是单击直接部署资源栈。 单击“创建执行计划”后 资源栈不会直接部署
Provider Provider Terraform的配置文件以 ".tf" 或".tf.json"结尾,主要由provider,resource,data source和变量组成。 每个 Provider 代表一个服务提供商,Terraform 通过插件机制与Provider进行交互
支持Provider版本列表 Provider是将各类资源的API(比如资源的CRUD操作API)封装而成的插件,供资源编排引擎调用。 资源编排支持Provider类型与版本如下表。 类型 介绍 版本 支持云服务数 支持资源数 terraform-provider-huaweicloud
Metadata说明 Metadata是Terraform支持的内置元参数,可以在 provider,resource,data块中使用。本章节主要介绍 resource块支持的元参数,主要包括: depends_on:用于指定资源的依赖项 count:用于创建多个相同配置的资源
更新模板或参数 部署资源栈没有提供查看变更记录的功能,请谨慎操作,如果需要查看详细的变更内容,优先使用创建执行计划功能。 如果后您需要增加云服务资源,或者变更资源栈中某个资源的规格。需要进入资源栈列表页面,找到刚创建成功的资源栈,单击操作列的“更新”或者进入对应的资源栈详情页,单击页面右上角的
provider 在Terraform中,您可以使用 provider块创建多个配置,其中一个 provider块为默认配置,其它块使用 "alias" 标识为非默认配置。在资源中使用元参数 provider 可以选择非默认的 provider块。例如需要在不同的地区管理资源,首先需要声明多个
get_reference get_reference是get_attribute的简化方式,当要获取到的属性信息是id或name时,将处理替换为get_attribute的refID或refName方式。 在设计器设计模板,建立多个元素之间的关系时,将自动设置get_reference
模板写作技巧 组件启动等待 假设,您要启动A(Application)和S(Service)两个组件,并且A依赖S(即:A -> S),A需要去连接S做业务。以A为Tomcat,S为MySQL为例。 AOS编排时,会根据模板要求先启动S,待S启动成功后(进程启动成功,实际S的业务功能还不可用