zabbix_manager 5.0.9 → 5.1.1.pre.alpha1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +10 -2
  3. data/{LICENSE.txt → LICENSE} +6 -6
  4. data/README.md +3 -2
  5. data/lib/zabbix_manager/basic/basic_alias.rb +6 -8
  6. data/lib/zabbix_manager/basic/basic_func.rb +17 -18
  7. data/lib/zabbix_manager/basic/basic_init.rb +21 -18
  8. data/lib/zabbix_manager/basic/basic_logic.rb +143 -139
  9. data/lib/zabbix_manager/classes/actions.rb +1 -1
  10. data/lib/zabbix_manager/classes/applications.rb +8 -7
  11. data/lib/zabbix_manager/classes/configurations.rb +2 -2
  12. data/lib/zabbix_manager/classes/drules.rb +6 -6
  13. data/lib/zabbix_manager/classes/errors.rb +1 -1
  14. data/lib/zabbix_manager/classes/graphs.rb +6 -6
  15. data/lib/zabbix_manager/classes/hostgroups.rb +0 -34
  16. data/lib/zabbix_manager/classes/hostinterfaces.rb +26 -0
  17. data/lib/zabbix_manager/classes/hosts.rb +35 -153
  18. data/lib/zabbix_manager/classes/httptests.rb +3 -3
  19. data/lib/zabbix_manager/classes/items.rb +51 -49
  20. data/lib/zabbix_manager/classes/mediatypes.rb +5 -5
  21. data/lib/zabbix_manager/classes/problems.rb +43 -61
  22. data/lib/zabbix_manager/classes/proxies.rb +4 -24
  23. data/lib/zabbix_manager/classes/roles.rb +7 -7
  24. data/lib/zabbix_manager/classes/screens.rb +3 -3
  25. data/lib/zabbix_manager/classes/templates.rb +17 -33
  26. data/lib/zabbix_manager/classes/triggers.rb +31 -73
  27. data/lib/zabbix_manager/classes/usergroups.rb +6 -6
  28. data/lib/zabbix_manager/classes/usermacros.rb +38 -37
  29. data/lib/zabbix_manager/classes/users.rb +4 -4
  30. data/lib/zabbix_manager/classes/valuemaps.rb +8 -7
  31. data/lib/zabbix_manager/client.rb +70 -45
  32. data/lib/zabbix_manager/version.rb +2 -1
  33. data/lib/zabbix_manager.rb +18 -38
  34. data/zabbix_manager.gemspec +6 -15
  35. metadata +21 -153
  36. data/lib/zabbix_manager/basic/basic_extend.rb +0 -40
metadata CHANGED
@@ -1,189 +1,58 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zabbix_manager
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.0.9
4
+ version: 5.1.1.pre.alpha1
5
5
  platform: ruby
6
6
  authors:
7
7
  - WENWU YAN
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-03-21 00:00:00.000000000 Z
11
+ date: 2023-03-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: http
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: '4.0'
19
+ version: 5.1.1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: '4.0'
26
+ version: 5.1.1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: json
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: '2.0'
33
+ version: 2.6.3
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: '2.0'
41
- - !ruby/object:Gem::Dependency
42
- name: bundler
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '2.3'
48
- - - ">="
49
- - !ruby/object:Gem::Version
50
- version: 2.3.9
51
- type: :development
52
- prerelease: false
53
- version_requirements: !ruby/object:Gem::Requirement
54
- requirements:
55
- - - "~>"
56
- - !ruby/object:Gem::Version
57
- version: '2.3'
58
- - - ">="
59
- - !ruby/object:Gem::Version
60
- version: 2.3.9
61
- - !ruby/object:Gem::Dependency
62
- name: rspec
63
- requirement: !ruby/object:Gem::Requirement
64
- requirements:
65
- - - "~>"
66
- - !ruby/object:Gem::Version
67
- version: '3.11'
68
- type: :development
69
- prerelease: false
70
- version_requirements: !ruby/object:Gem::Requirement
71
- requirements:
72
- - - "~>"
73
- - !ruby/object:Gem::Version
74
- version: '3.11'
75
- - !ruby/object:Gem::Dependency
76
- name: yard
77
- requirement: !ruby/object:Gem::Requirement
78
- requirements:
79
- - - "~>"
80
- - !ruby/object:Gem::Version
81
- version: 0.9.27
82
- type: :development
83
- prerelease: false
84
- version_requirements: !ruby/object:Gem::Requirement
85
- requirements:
86
- - - "~>"
87
- - !ruby/object:Gem::Version
88
- version: 0.9.27
89
- - !ruby/object:Gem::Dependency
90
- name: yardstick
91
- requirement: !ruby/object:Gem::Requirement
92
- requirements:
93
- - - "~>"
94
- - !ruby/object:Gem::Version
95
- version: 0.9.9
96
- type: :development
97
- prerelease: false
98
- version_requirements: !ruby/object:Gem::Requirement
99
- requirements:
100
- - - "~>"
101
- - !ruby/object:Gem::Version
102
- version: 0.9.9
103
- - !ruby/object:Gem::Dependency
104
- name: rubocop
105
- requirement: !ruby/object:Gem::Requirement
106
- requirements:
107
- - - "~>"
108
- - !ruby/object:Gem::Version
109
- version: '1.25'
110
- - - ">="
111
- - !ruby/object:Gem::Version
112
- version: 1.25.1
113
- type: :development
114
- prerelease: false
115
- version_requirements: !ruby/object:Gem::Requirement
116
- requirements:
117
- - - "~>"
118
- - !ruby/object:Gem::Version
119
- version: '1.25'
120
- - - ">="
121
- - !ruby/object:Gem::Version
122
- version: 1.25.1
123
- - !ruby/object:Gem::Dependency
124
- name: rubocop-minitest
125
- requirement: !ruby/object:Gem::Requirement
126
- requirements:
127
- - - "~>"
128
- - !ruby/object:Gem::Version
129
- version: 0.18.0
130
- type: :development
131
- prerelease: false
132
- version_requirements: !ruby/object:Gem::Requirement
133
- requirements:
134
- - - "~>"
135
- - !ruby/object:Gem::Version
136
- version: 0.18.0
137
- - !ruby/object:Gem::Dependency
138
- name: rubocop-performance
139
- requirement: !ruby/object:Gem::Requirement
140
- requirements:
141
- - - "~>"
142
- - !ruby/object:Gem::Version
143
- version: '1.13'
144
- type: :development
145
- prerelease: false
146
- version_requirements: !ruby/object:Gem::Requirement
147
- requirements:
148
- - - "~>"
38
+ - - '='
149
39
  - !ruby/object:Gem::Version
150
- version: '1.13'
40
+ version: 2.6.3
151
41
  - !ruby/object:Gem::Dependency
152
- name: rubocop-rails
42
+ name: activesupport
153
43
  requirement: !ruby/object:Gem::Requirement
154
44
  requirements:
155
45
  - - "~>"
156
46
  - !ruby/object:Gem::Version
157
- version: '2.13'
158
- - - ">="
159
- - !ruby/object:Gem::Version
160
- version: 2.13.2
161
- type: :development
162
- prerelease: false
163
- version_requirements: !ruby/object:Gem::Requirement
164
- requirements:
165
- - - "~>"
166
- - !ruby/object:Gem::Version
167
- version: '2.13'
168
- - - ">="
169
- - !ruby/object:Gem::Version
170
- version: 2.13.2
171
- - !ruby/object:Gem::Dependency
172
- name: rubocop-packaging
173
- requirement: !ruby/object:Gem::Requirement
174
- requirements:
175
- - - "~>"
176
- - !ruby/object:Gem::Version
177
- version: 0.5.1
178
- type: :development
47
+ version: 7.0.4
48
+ type: :runtime
179
49
  prerelease: false
180
50
  version_requirements: !ruby/object:Gem::Requirement
181
51
  requirements:
182
52
  - - "~>"
183
53
  - !ruby/object:Gem::Version
184
- version: 0.5.1
185
- description: Most codes borrowed from ZabbixApi, But changed some logic for everyday
186
- jobs.
54
+ version: 7.0.4
55
+ description: A Ruby interface to the Zabbix API
187
56
  email:
188
57
  - careline@foxmail.com
189
58
  executables: []
@@ -191,11 +60,10 @@ extensions: []
191
60
  extra_rdoc_files: []
192
61
  files:
193
62
  - CHANGELOG.md
194
- - LICENSE.txt
63
+ - LICENSE
195
64
  - README.md
196
65
  - lib/zabbix_manager.rb
197
66
  - lib/zabbix_manager/basic/basic_alias.rb
198
- - lib/zabbix_manager/basic/basic_extend.rb
199
67
  - lib/zabbix_manager/basic/basic_func.rb
200
68
  - lib/zabbix_manager/basic/basic_init.rb
201
69
  - lib/zabbix_manager/basic/basic_logic.rb
@@ -207,6 +75,7 @@ files:
207
75
  - lib/zabbix_manager/classes/events.rb
208
76
  - lib/zabbix_manager/classes/graphs.rb
209
77
  - lib/zabbix_manager/classes/hostgroups.rb
78
+ - lib/zabbix_manager/classes/hostinterfaces.rb
210
79
  - lib/zabbix_manager/classes/hosts.rb
211
80
  - lib/zabbix_manager/classes/httptests.rb
212
81
  - lib/zabbix_manager/classes/items.rb
@@ -247,13 +116,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
247
116
  version: 2.7.0
248
117
  required_rubygems_version: !ruby/object:Gem::Requirement
249
118
  requirements:
250
- - - ">="
119
+ - - ">"
251
120
  - !ruby/object:Gem::Version
252
- version: '0'
121
+ version: 1.3.1
253
122
  requirements: []
254
- rubygems_version: 3.3.3
123
+ rubygems_version: 3.4.6
255
124
  signing_key:
256
125
  specification_version: 4
257
- summary: Simple and lightweight ruby module for working with the Zabbix API, support
258
- 4.0 5.0 6.0
126
+ summary: Common code for Zabbix API clients
259
127
  test_files: []
@@ -1,40 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class ZabbixManager
4
- class Basic
5
- # 新增 get_hostgroup_ids 方法,使用列表 flatten 功能拉平属组对象
6
- def get_hostgroup_ids(data)
7
- result = @client.api_request(
8
- method: "hostgroup.get",
9
- params: {
10
- output: "extend",
11
- filter: {
12
- name: [data].flatten
13
- }
14
- }
15
- ).map { |item| { groupid: item["groupid"] } }
16
-
17
- # 检查是是否存在
18
- result.empty? ? nil : result.flatten
19
- end
20
-
21
- # 新增 get_or_create_hostgroups 方法,查询或创建新的对象
22
- def get_or_create_hostgroups(data)
23
- [data].flatten.each do |item|
24
- # 是否存在设备属组,不存在则新建
25
-
26
- result = get_hostgroup_ids(item)
27
- if result.nil?
28
- @client.api_request(
29
- method: "hostgroup.create",
30
- params: {
31
- name: item
32
- }
33
- )
34
- end
35
- rescue StandardError => e
36
- ap e
37
- end
38
- end
39
- end
40
- end