應用使用者變數

目錄結構

|-- 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

在匯入和匯出配置時,工具會自動處理變數的替換和還原。

相關文件