Skip to content

Commit ca93a65

Browse files
authored
[improve] Implement cascading parameter list for SNMP protocol (apache#1976)
1 parent 9263727 commit ca93a65

File tree

13 files changed

+387
-265
lines changed

13 files changed

+387
-265
lines changed

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,13 @@ public class ParamDefine {
186186
@LastModifiedDate
187187
private LocalDateTime gmtUpdate;
188188

189+
/**
190+
* Depends on which parameters
191+
*/
192+
@Schema(title = "Depends on which parameters", example = "{0, 1}", accessMode = READ_WRITE)
193+
@Convert(converter = JsonStringListAttributeConverter.class)
194+
private List<Object> parent;
195+
189196
/**
190197
* Parameter option configuration
191198
*/

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

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ params:
5656
# default value
5757
defaultValue: 161
5858
# field-param field key
59-
- field: version
59+
- field: snmpVersion
6060
# name-param field display i18n name
6161
name:
6262
zh-CN: SNMP 版本
@@ -87,6 +87,8 @@ params:
8787
required: false
8888
# param field input placeholder
8989
placeholder: 'Snmp community for v1 v2c'
90+
# dependent parameter values list
91+
parent: [ 0,1 ]
9092
# field-param field key
9193
- field: username
9294
# name-param field display i18n name
@@ -101,6 +103,8 @@ params:
101103
required: false
102104
# param field input placeholder
103105
placeholder: 'Snmp username for v3'
106+
# dependent parameter values list
107+
parent: [ 3 ]
104108
# field-param field key
105109
- field: contextName
106110
# name-param field display i18n name
@@ -115,6 +119,8 @@ params:
115119
required: false
116120
# param field input placeholder
117121
placeholder: 'Snmp contextName for v3'
122+
# dependent parameter values list
123+
parent: [ 3 ]
118124
# field-param field key
119125
- field: authPassphrase
120126
# name-param field display i18n name
@@ -129,6 +135,8 @@ params:
129135
required: false
130136
# param field input placeholder
131137
placeholder: 'Snmp authPassword for v3'
138+
# dependent parameter values list
139+
parent: [ 3 ]
132140
# field-param field key
133141
- field: authPasswordEncryption
134142
# name-param field display i18n name
@@ -145,6 +153,8 @@ params:
145153
value: 0
146154
- label: SHA1
147155
value: 1
156+
# dependent parameter values list
157+
parent: [ 3 ]
148158
# field-param field key
149159
- field: privPassphrase
150160
# name-param field display i18n name
@@ -159,6 +169,8 @@ params:
159169
required: false
160170
# param field input placeholder
161171
placeholder: 'Snmp authPassword for v3'
172+
# dependent parameter values list
173+
parent: [ 3 ]
162174
# field-param field key
163175
- field: privPasswordEncryption
164176
# name-param field display i18n name
@@ -175,6 +187,8 @@ params:
175187
value: 0
176188
- label: AES128
177189
value: 1
190+
# dependent parameter values list
191+
parent: [ 3 ]
178192
# field-param field key
179193
- field: timeout
180194
# name-param field display i18n name
@@ -261,7 +275,7 @@ metrics:
261275
# snmp community
262276
community: ^_^community^_^
263277
# snmp version
264-
version: ^_^version^_^
278+
version: ^_^snmpVersion^_^
265279
# snmp operation: get, walk
266280
operation: get
267281
# metrics oids: metric_name - oid_value
@@ -389,7 +403,7 @@ metrics:
389403
contextName: ^_^contextName^_^
390404
timeout: ^_^timeout^_^
391405
community: ^_^community^_^
392-
version: ^_^version^_^
406+
version: ^_^snmpVersion^_^
393407
operation: walk
394408
oids:
395409
ifIndex: 1.3.6.1.2.1.2.2.1.1

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

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ params:
5656
# default value
5757
defaultValue: 161
5858
# field-param field key
59-
- field: version
59+
- field: snmpVersion
6060
# name-param field display i18n name
6161
name:
6262
zh-CN: SNMP 版本
@@ -87,6 +87,8 @@ params:
8787
required: false
8888
# param field input placeholder
8989
placeholder: 'Snmp community for v1 v2c'
90+
# dependent parameter values list
91+
parent: [ 0,1 ]
9092
# field-param field key
9193
- field: username
9294
# name-param field display i18n name
@@ -101,6 +103,8 @@ params:
101103
required: false
102104
# param field input placeholder
103105
placeholder: 'Snmp username for v3'
106+
# dependent parameter values list
107+
parent: [ 3 ]
104108
# field-param field key
105109
- field: contextName
106110
# name-param field display i18n name
@@ -115,6 +119,8 @@ params:
115119
required: false
116120
# param field input placeholder
117121
placeholder: 'Snmp contextName for v3'
122+
# dependent parameter values list
123+
parent: [ 3 ]
118124
# field-param field key
119125
- field: authPassphrase
120126
# name-param field display i18n name
@@ -129,6 +135,8 @@ params:
129135
required: false
130136
# param field input placeholder
131137
placeholder: 'Snmp authPassword for v3'
138+
# dependent parameter values list
139+
parent: [ 3 ]
132140
# field-param field key
133141
- field: authPasswordEncryption
134142
# name-param field display i18n name
@@ -145,6 +153,8 @@ params:
145153
value: 0
146154
- label: SHA1
147155
value: 1
156+
# dependent parameter values list
157+
parent: [ 3 ]
148158
# field-param field key
149159
- field: privPassphrase
150160
# name-param field display i18n name
@@ -159,6 +169,8 @@ params:
159169
required: false
160170
# param field input placeholder
161171
placeholder: 'Snmp authPassword for v3'
172+
# dependent parameter values list
173+
parent: [ 3 ]
162174
# field-param field key
163175
- field: privPasswordEncryption
164176
# name-param field display i18n name
@@ -175,6 +187,8 @@ params:
175187
value: 0
176188
- label: AES128
177189
value: 1
190+
# dependent parameter values list
191+
parent: [ 3 ]
178192
# field-param field key
179193
- field: timeout
180194
# name-param field display i18n name
@@ -261,7 +275,7 @@ metrics:
261275
# snmp 团体字
262276
community: ^_^community^_^
263277
# snmp version
264-
version: ^_^version^_^
278+
version: ^_^snmpVersion^_^
265279
# snmp operation: get, walk
266280
operation: get
267281
# metrics oids: metric_name - oid_value
@@ -388,7 +402,7 @@ metrics:
388402
contextName: ^_^contextName^_^
389403
timeout: ^_^timeout^_^
390404
community: ^_^community^_^
391-
version: ^_^version^_^
405+
version: ^_^snmpVersion^_^
392406
operation: walk
393407
oids:
394408
ifIndex: 1.3.6.1.2.1.2.2.1.1

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

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ params:
5656
# default value
5757
defaultValue: 161
5858
# field-param field key
59-
- field: version
59+
- field: snmpVersion
6060
# name-param field display i18n name
6161
name:
6262
zh-CN: SNMP 版本
@@ -87,6 +87,8 @@ params:
8787
required: false
8888
# param field input placeholder
8989
placeholder: 'Snmp community for v1 v2c'
90+
# dependent parameter values list
91+
parent: [ 0,1 ]
9092
# field-param field key
9193
- field: username
9294
# name-param field display i18n name
@@ -101,6 +103,8 @@ params:
101103
required: false
102104
# param field input placeholder
103105
placeholder: 'Snmp username for v3'
106+
# dependent parameter values list
107+
parent: [ 3 ]
104108
# field-param field key
105109
- field: contextName
106110
# name-param field display i18n name
@@ -115,6 +119,8 @@ params:
115119
required: false
116120
# param field input placeholder
117121
placeholder: 'Snmp contextName for v3'
122+
# dependent parameter values list
123+
parent: [ 3 ]
118124
# field-param field key
119125
- field: authPassphrase
120126
# name-param field display i18n name
@@ -129,6 +135,8 @@ params:
129135
required: false
130136
# param field input placeholder
131137
placeholder: 'Snmp authPassword for v3'
138+
# dependent parameter values list
139+
parent: [ 3 ]
132140
# field-param field key
133141
- field: authPasswordEncryption
134142
# name-param field display i18n name
@@ -145,6 +153,8 @@ params:
145153
value: 0
146154
- label: SHA1
147155
value: 1
156+
# dependent parameter values list
157+
parent: [ 3 ]
148158
# field-param field key
149159
- field: privPassphrase
150160
# name-param field display i18n name
@@ -159,6 +169,8 @@ params:
159169
required: false
160170
# param field input placeholder
161171
placeholder: 'Snmp authPassword for v3'
172+
# dependent parameter values list
173+
parent: [ 3 ]
162174
# field-param field key
163175
- field: privPasswordEncryption
164176
# name-param field display i18n name
@@ -175,6 +187,8 @@ params:
175187
value: 0
176188
- label: AES128
177189
value: 1
190+
# dependent parameter values list
191+
parent: [ 3 ]
178192
# field-param field key
179193
- field: timeout
180194
# name-param field display i18n name
@@ -261,7 +275,7 @@ metrics:
261275
# snmp 团体字
262276
community: ^_^community^_^
263277
# snmp version
264-
version: ^_^version^_^
278+
version: ^_^snmpVersion^_^
265279
# snmp operation: get, walk
266280
operation: get
267281
# metrics oids: metric_name - oid_value
@@ -389,7 +403,7 @@ metrics:
389403
contextName: ^_^contextName^_^
390404
timeout: ^_^timeout^_^
391405
community: ^_^community^_^
392-
version: ^_^version^_^
406+
version: ^_^snmpVersion^_^
393407
operation: walk
394408
oids:
395409
ifIndex: 1.3.6.1.2.1.2.2.1.1

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

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ params:
5656
# default value
5757
defaultValue: 161
5858
# field-param field key
59-
- field: version
59+
- field: snmpVersion
6060
# name-param field display i18n name
6161
name:
6262
zh-CN: SNMP 版本
@@ -87,6 +87,8 @@ params:
8787
required: false
8888
# param field input placeholder
8989
placeholder: 'Snmp community for v1 v2c'
90+
# dependent parameter values list
91+
parent: [ 0,1 ]
9092
# field-param field key
9193
- field: username
9294
# name-param field display i18n name
@@ -101,6 +103,8 @@ params:
101103
required: false
102104
# param field input placeholder
103105
placeholder: 'Snmp username for v3'
106+
# dependent parameter values list
107+
parent: [ 3 ]
104108
# field-param field key
105109
- field: contextName
106110
# name-param field display i18n name
@@ -115,6 +119,8 @@ params:
115119
required: false
116120
# param field input placeholder
117121
placeholder: 'Snmp contextName for v3'
122+
# dependent parameter values list
123+
parent: [ 3 ]
118124
# field-param field key
119125
- field: authPassphrase
120126
# name-param field display i18n name
@@ -129,6 +135,8 @@ params:
129135
required: false
130136
# param field input placeholder
131137
placeholder: 'Snmp authPassword for v3'
138+
# dependent parameter values list
139+
parent: [ 3 ]
132140
# field-param field key
133141
- field: authPasswordEncryption
134142
# name-param field display i18n name
@@ -145,6 +153,8 @@ params:
145153
value: 0
146154
- label: SHA1
147155
value: 1
156+
# dependent parameter values list
157+
parent: [ 3 ]
148158
# field-param field key
149159
- field: privPassphrase
150160
# name-param field display i18n name
@@ -159,6 +169,8 @@ params:
159169
required: false
160170
# param field input placeholder
161171
placeholder: 'Snmp authPassword for v3'
172+
# dependent parameter values list
173+
parent: [ 3 ]
162174
# field-param field key
163175
- field: privPasswordEncryption
164176
# name-param field display i18n name
@@ -175,6 +187,8 @@ params:
175187
value: 0
176188
- label: AES128
177189
value: 1
190+
# dependent parameter values list
191+
parent: [ 3 ]
178192
# field-param field key
179193
- field: timeout
180194
# name-param field display i18n name
@@ -260,7 +274,7 @@ metrics:
260274
# snmp community
261275
community: ^_^community^_^
262276
# snmp version
263-
version: ^_^version^_^
277+
version: ^_^snmpVersion^_^
264278
# snmp operation: get, walk
265279
operation: get
266280
# metrics oids: metric_name - oid_value
@@ -387,7 +401,7 @@ metrics:
387401
contextName: ^_^contextName^_^
388402
timeout: ^_^timeout^_^
389403
community: ^_^community^_^
390-
version: ^_^version^_^
404+
version: ^_^snmpVersion^_^
391405
operation: walk
392406
oids:
393407
ifIndex: 1.3.6.1.2.1.2.2.1.1

0 commit comments

Comments
 (0)