zabbixapi_mgx 5.0.0.pre.alpha1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +58 -0
  3. data/LICENSE.md +20 -0
  4. data/README.md +98 -0
  5. data/lib/zabbixapi/basic/basic_alias.rb +37 -0
  6. data/lib/zabbixapi/basic/basic_func.rb +103 -0
  7. data/lib/zabbixapi/basic/basic_init.rb +46 -0
  8. data/lib/zabbixapi/basic/basic_logic.rb +181 -0
  9. data/lib/zabbixapi/classes/actions.rb +41 -0
  10. data/lib/zabbixapi/classes/applications.rb +43 -0
  11. data/lib/zabbixapi/classes/configurations.rb +42 -0
  12. data/lib/zabbixapi/classes/drules.rb +55 -0
  13. data/lib/zabbixapi/classes/errors.rb +28 -0
  14. data/lib/zabbixapi/classes/events.rb +17 -0
  15. data/lib/zabbixapi/classes/graphs.rb +111 -0
  16. data/lib/zabbixapi/classes/hostgroups.rb +24 -0
  17. data/lib/zabbixapi/classes/hosts.rb +80 -0
  18. data/lib/zabbixapi/classes/httptests.rb +54 -0
  19. data/lib/zabbixapi/classes/items.rb +83 -0
  20. data/lib/zabbixapi/classes/maintenance.rb +17 -0
  21. data/lib/zabbixapi/classes/mediatypes.rb +109 -0
  22. data/lib/zabbixapi/classes/problems.rb +101 -0
  23. data/lib/zabbixapi/classes/proxies.rb +48 -0
  24. data/lib/zabbixapi/classes/roles.rb +114 -0
  25. data/lib/zabbixapi/classes/screens.rb +94 -0
  26. data/lib/zabbixapi/classes/scripts.rb +35 -0
  27. data/lib/zabbixapi/classes/server.rb +16 -0
  28. data/lib/zabbixapi/classes/templates.rb +106 -0
  29. data/lib/zabbixapi/classes/triggers.rb +105 -0
  30. data/lib/zabbixapi/classes/unusable.rb +8 -0
  31. data/lib/zabbixapi/classes/usergroups.rb +73 -0
  32. data/lib/zabbixapi/classes/usermacros.rb +228 -0
  33. data/lib/zabbixapi/classes/users.rb +64 -0
  34. data/lib/zabbixapi/classes/valuemaps.rb +50 -0
  35. data/lib/zabbixapi/client.rb +167 -0
  36. data/lib/zabbixapi/version.rb +3 -0
  37. data/lib/zabbixapi.rb +194 -0
  38. data/zabbixapi.gemspec +29 -0
  39. metadata +124 -0
data/lib/zabbixapi.rb ADDED
@@ -0,0 +1,194 @@
1
+ require 'zabbixapi/version'
2
+ require 'zabbixapi/client'
3
+
4
+ require 'zabbixapi/basic/basic_alias'
5
+ require 'zabbixapi/basic/basic_func'
6
+ require 'zabbixapi/basic/basic_init'
7
+ require 'zabbixapi/basic/basic_logic'
8
+
9
+ require 'zabbixapi/classes/actions'
10
+ require 'zabbixapi/classes/applications'
11
+ require 'zabbixapi/classes/configurations'
12
+ require 'zabbixapi/classes/errors'
13
+ require 'zabbixapi/classes/events'
14
+ require 'zabbixapi/classes/graphs'
15
+ require 'zabbixapi/classes/hostgroups'
16
+ require 'zabbixapi/classes/hosts'
17
+ require 'zabbixapi/classes/httptests'
18
+ require 'zabbixapi/classes/items'
19
+ require 'zabbixapi/classes/maintenance'
20
+ require 'zabbixapi/classes/mediatypes'
21
+ require 'zabbixapi/classes/proxies'
22
+ require 'zabbixapi/classes/problems'
23
+ require 'zabbixapi/classes/roles'
24
+ require 'zabbixapi/classes/screens'
25
+ require 'zabbixapi/classes/scripts'
26
+ require 'zabbixapi/classes/server'
27
+ require 'zabbixapi/classes/templates'
28
+ require 'zabbixapi/classes/triggers'
29
+ require 'zabbixapi/classes/unusable'
30
+ require 'zabbixapi/classes/usergroups'
31
+ require 'zabbixapi/classes/usermacros'
32
+ require 'zabbixapi/classes/users'
33
+ require 'zabbixapi/classes/valuemaps'
34
+ require 'zabbixapi/classes/drules'
35
+
36
+ class ZabbixApi
37
+ # @return [ZabbixApi::Client]
38
+ attr_reader :client
39
+
40
+ # Initializes a new ZabbixApi object
41
+ #
42
+ # @param options [Hash]
43
+ # @return [ZabbixApi]
44
+ def self.connect(options = {})
45
+ new(options)
46
+ end
47
+
48
+ # @return [ZabbixApi]
49
+ def self.current
50
+ @current ||= ZabbixApi.new
51
+ end
52
+
53
+ # Executes an API request directly using a custom query
54
+ #
55
+ # @param data [Hash]
56
+ # @return [Hash]
57
+ def query(data)
58
+ @client.api_request(method: data[:method], params: data[:params])
59
+ end
60
+
61
+ # Invalidate current authentication token
62
+ # @return [Boolean]
63
+ def logout
64
+ @client.logout
65
+ end
66
+
67
+ # Initializes a new ZabbixApi object
68
+ #
69
+ # @param options [Hash]
70
+ # @return [ZabbixApi::Client]
71
+ def initialize(options = {})
72
+ @client = Client.new(options)
73
+ end
74
+
75
+ # @return [ZabbixApi::Actions]
76
+ def actions
77
+ @actions ||= Actions.new(@client)
78
+ end
79
+
80
+ # @return [ZabbixApi::Applications]
81
+ def applications
82
+ @applications ||= Applications.new(@client)
83
+ end
84
+
85
+ # @return [ZabbixApi::Configurations]
86
+ def configurations
87
+ @configurations ||= Configurations.new(@client)
88
+ end
89
+
90
+ # @return [ZabbixApi::Events]
91
+ def events
92
+ @events ||= Events.new(@client)
93
+ end
94
+
95
+ # @return [ZabbixApi::Graphs]
96
+ def graphs
97
+ @graphs ||= Graphs.new(@client)
98
+ end
99
+
100
+ # @return [ZabbixApi::HostGroups]
101
+ def hostgroups
102
+ @hostgroups ||= HostGroups.new(@client)
103
+ end
104
+
105
+ # @return [ZabbixApi::Hosts]
106
+ def hosts
107
+ @hosts ||= Hosts.new(@client)
108
+ end
109
+
110
+ # @return [ZabbixApi::HttpTests]
111
+ def httptests
112
+ @httptests ||= HttpTests.new(@client)
113
+ end
114
+
115
+ # @return [ZabbixApi::Items]
116
+ def items
117
+ @items ||= Items.new(@client)
118
+ end
119
+
120
+ # @return [ZabbixApi::Maintenance]
121
+ def maintenance
122
+ @maintenance ||= Maintenance.new(@client)
123
+ end
124
+
125
+ # @return [ZabbixApi::Mediatypes]
126
+ def mediatypes
127
+ @mediatypes ||= Mediatypes.new(@client)
128
+ end
129
+
130
+ # @return [ZabbixApi::Problems]
131
+ def problems
132
+ @problems ||= Problems.new(@client)
133
+ end
134
+
135
+ # @return [ZabbixApi::Proxies]
136
+ def proxies
137
+ @proxies ||= Proxies.new(@client)
138
+ end
139
+
140
+ # @return [ZabbixApi::Roles]
141
+ def roles
142
+ @roles ||= Roles.new(@client)
143
+ end
144
+
145
+ # @return [ZabbixApi::Screens]
146
+ def screens
147
+ @screens ||= Screens.new(@client)
148
+ end
149
+
150
+ # @return [ZabbixApi::Scripts]
151
+ def scripts
152
+ @scripts ||= Scripts.new(@client)
153
+ end
154
+
155
+ # @return [ZabbixApi::Server]
156
+ def server
157
+ @server ||= Server.new(@client)
158
+ end
159
+
160
+ # @return [ZabbixApi::Templates]
161
+ def templates
162
+ @templates ||= Templates.new(@client)
163
+ end
164
+
165
+ # @return [ZabbixApi::Triggers]
166
+ def triggers
167
+ @triggers ||= Triggers.new(@client)
168
+ end
169
+
170
+ # @return [ZabbixApi::Usergroups]
171
+ def usergroups
172
+ @usergroups ||= Usergroups.new(@client)
173
+ end
174
+
175
+ # @return [ZabbixApi::Usermacros]
176
+ def usermacros
177
+ @usermacros ||= Usermacros.new(@client)
178
+ end
179
+
180
+ # @return [ZabbixApi::Users]
181
+ def users
182
+ @users ||= Users.new(@client)
183
+ end
184
+
185
+ # @return [ZabbixApi::ValueMaps]
186
+ def valuemaps
187
+ @valuemaps ||= ValueMaps.new(@client)
188
+ end
189
+
190
+ # @return [ZabbixApi::Drules]
191
+ def drules
192
+ @drules ||= Drules.new(@client)
193
+ end
194
+ end
data/zabbixapi.gemspec ADDED
@@ -0,0 +1,29 @@
1
+ # coding: utf-8
2
+
3
+ lib = File.expand_path('../lib', __FILE__)
4
+
5
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
6
+
7
+ require 'zabbixapi/version'
8
+
9
+ Gem::Specification.new do |spec|
10
+ spec.add_dependency 'http', '~> 2.0'
11
+ spec.add_dependency 'json', '~> 2.0'
12
+ spec.add_development_dependency 'bundler'
13
+
14
+ spec.name = 'zabbixapi_mgx'
15
+ spec.version = ZabbixApi::VERSION
16
+ spec.authors = ['Vasiliev D.V.', 'Ivan Evtuhovich']
17
+ spec.email = ['vadv.mkn@gmail.com', 'evtuhovich@gmail.com']
18
+
19
+ spec.summary = 'Simple and lightweight ruby module for working with the Zabbix API'
20
+ spec.description = 'Allows you to work with zabbix api from ruby.'
21
+ spec.homepage = 'https://github.com/express42/zabbixapi'
22
+ spec.licenses = 'MIT'
23
+
24
+ spec.rubyforge_project = 'zabbixapi'
25
+
26
+ spec.files = ['CHANGELOG.md', 'LICENSE.md', 'README.md', 'zabbixapi.gemspec'] + Dir['lib/**/*.rb']
27
+ spec.require_paths = 'lib'
28
+ spec.required_ruby_version = '>= 2.0.0'
29
+ end
metadata ADDED
@@ -0,0 +1,124 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: zabbixapi_mgx
3
+ version: !ruby/object:Gem::Version
4
+ version: 5.0.0.pre.alpha1
5
+ platform: ruby
6
+ authors:
7
+ - Vasiliev D.V.
8
+ - Ivan Evtuhovich
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2022-12-18 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: http
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: '2.0'
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - "~>"
26
+ - !ruby/object:Gem::Version
27
+ version: '2.0'
28
+ - !ruby/object:Gem::Dependency
29
+ name: json
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - "~>"
33
+ - !ruby/object:Gem::Version
34
+ version: '2.0'
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - "~>"
40
+ - !ruby/object:Gem::Version
41
+ version: '2.0'
42
+ - !ruby/object:Gem::Dependency
43
+ name: bundler
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: '0'
49
+ type: :development
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ description: Allows you to work with zabbix api from ruby.
57
+ email:
58
+ - vadv.mkn@gmail.com
59
+ - evtuhovich@gmail.com
60
+ executables: []
61
+ extensions: []
62
+ extra_rdoc_files: []
63
+ files:
64
+ - CHANGELOG.md
65
+ - LICENSE.md
66
+ - README.md
67
+ - lib/zabbixapi.rb
68
+ - lib/zabbixapi/basic/basic_alias.rb
69
+ - lib/zabbixapi/basic/basic_func.rb
70
+ - lib/zabbixapi/basic/basic_init.rb
71
+ - lib/zabbixapi/basic/basic_logic.rb
72
+ - lib/zabbixapi/classes/actions.rb
73
+ - lib/zabbixapi/classes/applications.rb
74
+ - lib/zabbixapi/classes/configurations.rb
75
+ - lib/zabbixapi/classes/drules.rb
76
+ - lib/zabbixapi/classes/errors.rb
77
+ - lib/zabbixapi/classes/events.rb
78
+ - lib/zabbixapi/classes/graphs.rb
79
+ - lib/zabbixapi/classes/hostgroups.rb
80
+ - lib/zabbixapi/classes/hosts.rb
81
+ - lib/zabbixapi/classes/httptests.rb
82
+ - lib/zabbixapi/classes/items.rb
83
+ - lib/zabbixapi/classes/maintenance.rb
84
+ - lib/zabbixapi/classes/mediatypes.rb
85
+ - lib/zabbixapi/classes/problems.rb
86
+ - lib/zabbixapi/classes/proxies.rb
87
+ - lib/zabbixapi/classes/roles.rb
88
+ - lib/zabbixapi/classes/screens.rb
89
+ - lib/zabbixapi/classes/scripts.rb
90
+ - lib/zabbixapi/classes/server.rb
91
+ - lib/zabbixapi/classes/templates.rb
92
+ - lib/zabbixapi/classes/triggers.rb
93
+ - lib/zabbixapi/classes/unusable.rb
94
+ - lib/zabbixapi/classes/usergroups.rb
95
+ - lib/zabbixapi/classes/usermacros.rb
96
+ - lib/zabbixapi/classes/users.rb
97
+ - lib/zabbixapi/classes/valuemaps.rb
98
+ - lib/zabbixapi/client.rb
99
+ - lib/zabbixapi/version.rb
100
+ - zabbixapi.gemspec
101
+ homepage: https://github.com/express42/zabbixapi
102
+ licenses:
103
+ - MIT
104
+ metadata: {}
105
+ post_install_message:
106
+ rdoc_options: []
107
+ require_paths:
108
+ - lib
109
+ required_ruby_version: !ruby/object:Gem::Requirement
110
+ requirements:
111
+ - - ">="
112
+ - !ruby/object:Gem::Version
113
+ version: 2.0.0
114
+ required_rubygems_version: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - ">"
117
+ - !ruby/object:Gem::Version
118
+ version: 1.3.1
119
+ requirements: []
120
+ rubygems_version: 3.3.5
121
+ signing_key:
122
+ specification_version: 4
123
+ summary: Simple and lightweight ruby module for working with the Zabbix API
124
+ test_files: []