應用使用者變數
目錄結構
|-- 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
在匯入和匯出配置時,工具會自動處理變數的替換和還原。