应用用户变量

目录结构

|-- user_variables/
  |-- user_variables.yaml
  |-- ...

YAML 文件中可以包含一个或多个应用用户变量定义。

配置说明

每个用户变量是一个包含以下参数的对象:

参数名数据类型是否必选描述
namestring变量名称,必须唯一
typestring变量类型,可选值:string, enum, num, int, bool
defaultstring变量默认值
valuesarray仅 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 来指定只操作应用用户变量相关的配置。

注意事项

  1. 每个用户变量必须有一个唯一的名称。

  2. 变量类型必须是有效的类型之一:string, enum, num, int, bool。

  3. 对于 enum 类型的变量,必须提供 values 列表,且默认值必须在该列表中。

  4. 对于 num 类型的变量,默认值必须是有效的浮点数。

  5. 对于 int 类型的变量,默认值必须是有效的整数。

  6. 对于 bool 类型的变量,默认值必须是 ’true’ 或 ‘false’(不区分大小写)。

  7. 在更新配置时,工具会比较新旧配置来确定是否需要更新。如果配置有变化,则会执行更新操作。

  8. 在导入配置时,工具会先检查配置的有效性,然后再执行添加或更新操作。

  9. 如果配置中删除了某个变量,工具会自动从应用中移除该变量。

  10. 在处理配置时,如果发生错误,工具会自动清除已经进行的更改,以保持配置的一致性。

变量使用

用户变量可以在 Edgelang 规则中使用,格式为 $or_user_variable_<变量名>。例如:

$or_user_variable_var1

在导入和导出配置时,工具会自动处理变量的替换和还原。

相关文档