Skip to content

Commit 4a77aaf

Browse files
[feature] Implement cascading parameter list (apache#1978)
Co-authored-by: tomsun28 <[email protected]>
1 parent 280770e commit 4a77aaf

File tree

15 files changed

+459
-327
lines changed

15 files changed

+459
-327
lines changed

common/src/main/java/org/apache/hertzbeat/common/entity/manager/ParamDefine.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -189,9 +189,9 @@ public class ParamDefine {
189189
/**
190190
* Depends on which parameters
191191
*/
192-
@Schema(title = "Depends on which parameters", example = "{0, 1}", accessMode = READ_WRITE)
193-
@Convert(converter = JsonStringListAttributeConverter.class)
194-
private List<Object> parent;
192+
@Schema(title = "Depends on which parameters", example = "{field:[value1, value2, ...]}", accessMode = READ_WRITE)
193+
@Convert(converter = JsonMapAttributeConverter.class)
194+
private Map<String, List<Object>> depend;
195195

196196
/**
197197
* Parameter option configuration

manager/src/main/resources/define/app-api.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ params:
5656
# default value
5757
defaultValue: 80
5858
# field-param field key
59-
- field: method
59+
- field: httpMethod
6060
# name-param field display i18n name
6161
name:
6262
zh-CN: 请求方式
@@ -164,6 +164,11 @@ params:
164164
# 参数输入框提示信息
165165
# param field input placeholder
166166
placeholder: 'Available When POST PUT'
167+
# dependent parameter values list
168+
depend:
169+
httpMethod:
170+
- POST
171+
- PUT
167172
# required-true or false
168173
required: false
169174
# hide param-true or false
@@ -278,7 +283,7 @@ metrics:
278283
# http connect timeout
279284
timeout: ^_^timeout^_^
280285
# http method: GET POST PUT DELETE PATCH
281-
method: ^_^method^_^
286+
method: ^_^httpMethod^_^
282287
# if enabled https
283288
ssl: ^_^ssl^_^
284289
# http request payload

manager/src/main/resources/define/app-api_code.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ params:
5656
# default value
5757
defaultValue: 80
5858
# field-param field key
59-
- field: method
59+
- field: httpMethod
6060
# name-param field display i18n name
6161
name:
6262
zh-CN: 请求方式
@@ -180,6 +180,11 @@ params:
180180
type: textarea
181181
# param field input placeholder
182182
placeholder: 'Available When POST PUT'
183+
# dependent parameter values list
184+
depend:
185+
httpMethod:
186+
- POST
187+
- PUT
183188
# required-true or false
184189
required: false
185190
# hide param-true or false
@@ -291,7 +296,7 @@ metrics:
291296
port: ^_^port^_^
292297
url: ^_^uri^_^
293298
timeout: ^_^timeout^_^
294-
method: ^_^method^_^
299+
method: ^_^httpMethod^_^
295300
ssl: ^_^ssl^_^
296301
payload: ^_^payload^_^
297302
headers:

manager/src/main/resources/define/app-cisco_switch.yml

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,10 @@ params:
8888
# param field input placeholder
8989
placeholder: 'Snmp community for v1 v2c'
9090
# dependent parameter values list
91-
parent: [ 0,1 ]
91+
depend:
92+
snmpVersion:
93+
- 0
94+
- 1
9295
# field-param field key
9396
- field: username
9497
# name-param field display i18n name
@@ -104,7 +107,9 @@ params:
104107
# param field input placeholder
105108
placeholder: 'Snmp username for v3'
106109
# dependent parameter values list
107-
parent: [ 3 ]
110+
depend:
111+
snmpVersion:
112+
- 3
108113
# field-param field key
109114
- field: contextName
110115
# name-param field display i18n name
@@ -120,7 +125,9 @@ params:
120125
# param field input placeholder
121126
placeholder: 'Snmp contextName for v3'
122127
# dependent parameter values list
123-
parent: [ 3 ]
128+
depend:
129+
snmpVersion:
130+
- 3
124131
# field-param field key
125132
- field: authPassphrase
126133
# name-param field display i18n name
@@ -136,7 +143,9 @@ params:
136143
# param field input placeholder
137144
placeholder: 'Snmp authPassword for v3'
138145
# dependent parameter values list
139-
parent: [ 3 ]
146+
depend:
147+
snmpVersion:
148+
- 3
140149
# field-param field key
141150
- field: authPasswordEncryption
142151
# name-param field display i18n name
@@ -154,7 +163,9 @@ params:
154163
- label: SHA1
155164
value: 1
156165
# dependent parameter values list
157-
parent: [ 3 ]
166+
depend:
167+
snmpVersion:
168+
- 3
158169
# field-param field key
159170
- field: privPassphrase
160171
# name-param field display i18n name
@@ -170,7 +181,9 @@ params:
170181
# param field input placeholder
171182
placeholder: 'Snmp authPassword for v3'
172183
# dependent parameter values list
173-
parent: [ 3 ]
184+
depend:
185+
snmpVersion:
186+
- 3
174187
# field-param field key
175188
- field: privPasswordEncryption
176189
# name-param field display i18n name
@@ -188,7 +201,9 @@ params:
188201
- label: AES128
189202
value: 1
190203
# dependent parameter values list
191-
parent: [ 3 ]
204+
depend:
205+
snmpVersion:
206+
- 3
192207
# field-param field key
193208
- field: timeout
194209
# name-param field display i18n name

manager/src/main/resources/define/app-h3c_switch.yml

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,10 @@ params:
8888
# param field input placeholder
8989
placeholder: 'Snmp community for v1 v2c'
9090
# dependent parameter values list
91-
parent: [ 0,1 ]
91+
depend:
92+
snmpVersion:
93+
- 0
94+
- 1
9295
# field-param field key
9396
- field: username
9497
# name-param field display i18n name
@@ -104,7 +107,9 @@ params:
104107
# param field input placeholder
105108
placeholder: 'Snmp username for v3'
106109
# dependent parameter values list
107-
parent: [ 3 ]
110+
depend:
111+
snmpVersion:
112+
- 3
108113
# field-param field key
109114
- field: contextName
110115
# name-param field display i18n name
@@ -120,7 +125,9 @@ params:
120125
# param field input placeholder
121126
placeholder: 'Snmp contextName for v3'
122127
# dependent parameter values list
123-
parent: [ 3 ]
128+
depend:
129+
snmpVersion:
130+
- 3
124131
# field-param field key
125132
- field: authPassphrase
126133
# name-param field display i18n name
@@ -136,7 +143,9 @@ params:
136143
# param field input placeholder
137144
placeholder: 'Snmp authPassword for v3'
138145
# dependent parameter values list
139-
parent: [ 3 ]
146+
depend:
147+
snmpVersion:
148+
- 3
140149
# field-param field key
141150
- field: authPasswordEncryption
142151
# name-param field display i18n name
@@ -154,7 +163,9 @@ params:
154163
- label: SHA1
155164
value: 1
156165
# dependent parameter values list
157-
parent: [ 3 ]
166+
depend:
167+
snmpVersion:
168+
- 3
158169
# field-param field key
159170
- field: privPassphrase
160171
# name-param field display i18n name
@@ -170,7 +181,9 @@ params:
170181
# param field input placeholder
171182
placeholder: 'Snmp authPassword for v3'
172183
# dependent parameter values list
173-
parent: [ 3 ]
184+
depend:
185+
snmpVersion:
186+
- 3
174187
# field-param field key
175188
- field: privPasswordEncryption
176189
# name-param field display i18n name
@@ -188,7 +201,9 @@ params:
188201
- label: AES128
189202
value: 1
190203
# dependent parameter values list
191-
parent: [ 3 ]
204+
depend:
205+
snmpVersion:
206+
- 3
192207
# field-param field key
193208
- field: timeout
194209
# name-param field display i18n name

manager/src/main/resources/define/app-hpe_switch.yml

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,10 @@ params:
8888
# param field input placeholder
8989
placeholder: 'Snmp community for v1 v2c'
9090
# dependent parameter values list
91-
parent: [ 0,1 ]
91+
depend:
92+
snmpVersion:
93+
- 0
94+
- 1
9295
# field-param field key
9396
- field: username
9497
# name-param field display i18n name
@@ -104,7 +107,9 @@ params:
104107
# param field input placeholder
105108
placeholder: 'Snmp username for v3'
106109
# dependent parameter values list
107-
parent: [ 3 ]
110+
depend:
111+
snmpVersion:
112+
- 3
108113
# field-param field key
109114
- field: contextName
110115
# name-param field display i18n name
@@ -120,7 +125,9 @@ params:
120125
# param field input placeholder
121126
placeholder: 'Snmp contextName for v3'
122127
# dependent parameter values list
123-
parent: [ 3 ]
128+
depend:
129+
snmpVersion:
130+
- 3
124131
# field-param field key
125132
- field: authPassphrase
126133
# name-param field display i18n name
@@ -136,7 +143,9 @@ params:
136143
# param field input placeholder
137144
placeholder: 'Snmp authPassword for v3'
138145
# dependent parameter values list
139-
parent: [ 3 ]
146+
depend:
147+
snmpVersion:
148+
- 3
140149
# field-param field key
141150
- field: authPasswordEncryption
142151
# name-param field display i18n name
@@ -154,7 +163,9 @@ params:
154163
- label: SHA1
155164
value: 1
156165
# dependent parameter values list
157-
parent: [ 3 ]
166+
depend:
167+
snmpVersion:
168+
- 3
158169
# field-param field key
159170
- field: privPassphrase
160171
# name-param field display i18n name
@@ -170,7 +181,9 @@ params:
170181
# param field input placeholder
171182
placeholder: 'Snmp authPassword for v3'
172183
# dependent parameter values list
173-
parent: [ 3 ]
184+
depend:
185+
snmpVersion:
186+
- 3
174187
# field-param field key
175188
- field: privPasswordEncryption
176189
# name-param field display i18n name
@@ -188,7 +201,9 @@ params:
188201
- label: AES128
189202
value: 1
190203
# dependent parameter values list
191-
parent: [ 3 ]
204+
depend:
205+
snmpVersion:
206+
- 3
192207
# field-param field key
193208
- field: timeout
194209
# name-param field display i18n name

manager/src/main/resources/define/app-huawei_switch.yml

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,10 @@ params:
8888
# param field input placeholder
8989
placeholder: 'Snmp community for v1 v2c'
9090
# dependent parameter values list
91-
parent: [ 0,1 ]
91+
depend:
92+
snmpVersion:
93+
- 0
94+
- 1
9295
# field-param field key
9396
- field: username
9497
# name-param field display i18n name
@@ -104,8 +107,10 @@ params:
104107
# param field input placeholder
105108
placeholder: 'Snmp username for v3'
106109
# dependent parameter values list
107-
parent: [ 3 ]
108-
# field-param field key
110+
depend:
111+
snmpVersion:
112+
- 3
113+
# field-param field key
109114
- field: contextName
110115
# name-param field display i18n name
111116
name:
@@ -120,7 +125,9 @@ params:
120125
# param field input placeholder
121126
placeholder: 'Snmp contextName for v3'
122127
# dependent parameter values list
123-
parent: [ 3 ]
128+
depend:
129+
snmpVersion:
130+
- 3
124131
# field-param field key
125132
- field: authPassphrase
126133
# name-param field display i18n name
@@ -136,7 +143,9 @@ params:
136143
# param field input placeholder
137144
placeholder: 'Snmp authPassword for v3'
138145
# dependent parameter values list
139-
parent: [ 3 ]
146+
depend:
147+
snmpVersion:
148+
- 3
140149
# field-param field key
141150
- field: authPasswordEncryption
142151
# name-param field display i18n name
@@ -154,7 +163,9 @@ params:
154163
- label: SHA1
155164
value: 1
156165
# dependent parameter values list
157-
parent: [ 3 ]
166+
depend:
167+
snmpVersion:
168+
- 3
158169
# field-param field key
159170
- field: privPassphrase
160171
# name-param field display i18n name
@@ -170,7 +181,9 @@ params:
170181
# param field input placeholder
171182
placeholder: 'Snmp authPassword for v3'
172183
# dependent parameter values list
173-
parent: [ 3 ]
184+
depend:
185+
snmpVersion:
186+
- 3
174187
# field-param field key
175188
- field: privPasswordEncryption
176189
# name-param field display i18n name
@@ -188,7 +201,9 @@ params:
188201
- label: AES128
189202
value: 1
190203
# dependent parameter values list
191-
parent: [ 3 ]
204+
depend:
205+
snmpVersion:
206+
- 3
192207
# field-param field key
193208
- field: timeout
194209
# name-param field display i18n name

0 commit comments

Comments
 (0)