应用用户变量
目录结构
|-- user_variables/
|-- user_variables.yaml
|-- ...
YAML 文件中可以包含一个或多个应用用户变量定义。
配置说明
每个用户变量是一个包含以下参数的对象:
参数名 | 数据类型 | 是否必选 | 描述 |
---|---|---|---|
name | string | 是 | 变量名称,必须唯一 |
type | string | 是 | 变量类型,可选值:string, enum, num, int, bool |
default | string | 是 | 变量默认值 |
values | array | 仅 enum 类型必选 | 枚举类型的可选值列表 |
配置示例
- name: var1
type: string
default: '-'
- name: var2
type: enum
default: abc
values:
- abc
- bcd
- name: var3
type: num
default: '1'
- name: var4
type: int
default: '1'
- name: var5
type: bool
default: 'true'
此配置定义了五个不同类型的用户变量。
使用示例
更新配置到 OpenResty Edge 中:
edge-config https://192.168.1.1 -s -t 2051e780-1897-4ea0-92b4-2c2f0169aa94 -l user_variables -i /root/oredge-configs -d test.com
从 OpenResty Edge 中导出配置:
edge-config -u https://192.168.1.1 -s -t 2051e780-1897-4ea0-92b4-2c2f0169aa94 -E -l user_variables -d test.com
清理 OpenResty Edge 中的配置:
edge-config -u https://192.168.1.1 -s -t 2051e780-1897-4ea0-92b4-2c2f0169aa94 -c -l user_variables -d test.com
示例中均使用 -l user_variables
来指定只操作应用用户变量相关的配置。
注意事项
每个用户变量必须有一个唯一的名称。
变量类型必须是有效的类型之一:string, enum, num, int, bool。
对于 enum 类型的变量,必须提供
values
列表,且默认值必须在该列表中。对于 num 类型的变量,默认值必须是有效的浮点数。
对于 int 类型的变量,默认值必须是有效的整数。
对于 bool 类型的变量,默认值必须是 ’true’ 或 ‘false’(不区分大小写)。
在更新配置时,工具会比较新旧配置来确定是否需要更新。如果配置有变化,则会执行更新操作。
在导入配置时,工具会先检查配置的有效性,然后再执行添加或更新操作。
如果配置中删除了某个变量,工具会自动从应用中移除该变量。
在处理配置时,如果发生错误,工具会自动清除已经进行的更改,以保持配置的一致性。
变量使用
用户变量可以在 Edgelang 规则中使用,格式为 $or_user_variable_<变量名>
。例如:
$or_user_variable_var1
在导入和导出配置时,工具会自动处理变量的替换和还原。