icinga2 0.9.2.1 → 0.9.2.8
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.
- checksums.yaml +4 -4
- data/README.md +25 -22
- data/doc/Array.html +4 -6
- data/doc/Boolean.html +4 -6
- data/doc/FalseClass.html +4 -6
- data/doc/Hash.html +126 -8
- data/doc/Icinga2.html +7 -9
- data/doc/Logging.html +5 -7
- data/doc/Object.html +8 -10
- data/doc/Time.html +4 -6
- data/doc/TrueClass.html +4 -6
- data/doc/_index.html +20 -7
- data/doc/class_list.html +1 -1
- data/doc/file.README.html +32 -30
- data/doc/frames.html +1 -1
- data/doc/index.html +32 -30
- data/doc/method_list.html +34 -2
- data/doc/services.md +45 -62
- data/doc/top-level-namespace.html +4 -6
- data/examples/_blank.rb +2 -2
- data/examples/config.rb +23 -0
- data/examples/downtimes.rb +4 -33
- data/examples/hostgroups.rb +4 -33
- data/examples/hosts.rb +18 -33
- data/examples/informations.rb +4 -33
- data/examples/notifications.rb +4 -33
- data/examples/servicegroups.rb +4 -25
- data/examples/services.rb +46 -67
- data/examples/statistics.rb +4 -33
- data/examples/test.rb +7 -28
- data/examples/usergroups.rb +4 -33
- data/examples/users.rb +4 -33
- data/lib/icinga2/client.rb +16 -42
- data/lib/icinga2/converts.rb +16 -54
- data/lib/icinga2/downtimes.rb +46 -44
- data/lib/icinga2/hostgroups.rb +35 -35
- data/lib/icinga2/hosts.rb +235 -228
- data/lib/icinga2/network.rb +53 -125
- data/lib/icinga2/notifications.rb +37 -46
- data/lib/icinga2/servicegroups.rb +31 -41
- data/lib/icinga2/services.rb +211 -236
- data/lib/icinga2/tools.rb +10 -9
- data/lib/icinga2/usergroups.rb +22 -32
- data/lib/icinga2/users.rb +64 -59
- data/lib/icinga2/validator.rb +59 -0
- data/lib/icinga2/version.rb +1 -1
- metadata +78 -7
- data/lib/icinga2/network.rb-SAVE +0 -1004
data/lib/icinga2/tools.rb
CHANGED
@@ -45,7 +45,7 @@ module Icinga2
|
|
45
45
|
|
46
46
|
# return count of handled problems
|
47
47
|
#
|
48
|
-
# @param [
|
48
|
+
# @param [Array] objects
|
49
49
|
# @param [Integer] state (nil)
|
50
50
|
#
|
51
51
|
# @example for host objects
|
@@ -66,16 +66,17 @@ module Icinga2
|
|
66
66
|
#
|
67
67
|
def count_problems( objects, state = nil )
|
68
68
|
|
69
|
-
|
69
|
+
raise ArgumentError.new(format('wrong type. \'objects\' must be an Array, given \'%s\'', objects.class.to_s)) unless( objects.is_a?(Array) )
|
70
|
+
#raise ArgumentError.new('missing objects') if( objects.size.zero? )
|
70
71
|
|
71
|
-
unless( state.nil? )
|
72
|
+
raise ArgumentError.new(format('wrong type. \'state\' must be an Integer, given \'%s\'', state.class.to_s)) unless( state.nil? || state.is_a?(Integer) )
|
72
73
|
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
74
|
+
# 0 = "Up" or "OK"
|
75
|
+
# 1 = "Down" or "Warning"
|
76
|
+
# 2 = "Critical"
|
77
|
+
# 3 = "Unknown"
|
78
|
+
compare_states = []
|
79
|
+
compare_states = [1, 2, 3] unless( state.nil? )
|
79
80
|
|
80
81
|
compare_states.push(state) if( state.is_a?(Integer) )
|
81
82
|
|
data/lib/icinga2/usergroups.rb
CHANGED
@@ -9,8 +9,8 @@ module Icinga2
|
|
9
9
|
# add a usergroup
|
10
10
|
#
|
11
11
|
# @param [Hash] params
|
12
|
-
# @option params [String]
|
13
|
-
# @option params [String]
|
12
|
+
# @option params [String] user_group usergroup to create
|
13
|
+
# @option params [String] display_name the displayed name
|
14
14
|
#
|
15
15
|
# @example
|
16
16
|
# @icinga.add_usergroup(user_group: 'foo', display_name: 'FOO')
|
@@ -22,17 +22,19 @@ module Icinga2
|
|
22
22
|
raise ArgumentError.new(format('wrong type. \'params\' must be an Hash, given \'%s\'', params.class.to_s)) unless( params.is_a?(Hash) )
|
23
23
|
raise ArgumentError.new('missing \'params\'') if( params.size.zero? )
|
24
24
|
|
25
|
-
user_group = params
|
26
|
-
display_name = params
|
27
|
-
|
28
|
-
raise ArgumentError.new('Missing user_group') if( user_group.nil? )
|
25
|
+
user_group = validate( params, required: true, var: 'user_group', type: String )
|
26
|
+
display_name = validate( params, required: false, var: 'display_name', type: String )
|
29
27
|
|
30
28
|
payload = {
|
31
|
-
|
32
|
-
|
29
|
+
attrs: {
|
30
|
+
display_name: display_name
|
33
31
|
}
|
34
32
|
}
|
35
33
|
|
34
|
+
# remove all empty attrs
|
35
|
+
payload.reject!{ |_k, v| v.nil? }
|
36
|
+
payload[:attrs].reject!{ |_k, v| v.nil? }
|
37
|
+
|
36
38
|
put(
|
37
39
|
url: format( '%s/objects/usergroups/%s', @icinga_api_url_base, user_group ),
|
38
40
|
headers: @headers,
|
@@ -43,22 +45,17 @@ module Icinga2
|
|
43
45
|
|
44
46
|
# delete a usergroup
|
45
47
|
#
|
46
|
-
# @param [
|
47
|
-
# @option params [String] :user_group usergroup to delete
|
48
|
+
# @param [String] user_group usergroup to delete
|
48
49
|
#
|
49
50
|
# @example
|
50
|
-
# @icinga.delete_usergroup(
|
51
|
+
# @icinga.delete_usergroup('foo')
|
51
52
|
#
|
52
53
|
# @return [Hash] result
|
53
54
|
#
|
54
|
-
def delete_usergroup(
|
55
|
-
|
56
|
-
raise ArgumentError.new(format('wrong type. \'params\' must be an Hash, given \'%s\'', params.class.to_s)) unless( params.is_a?(Hash) )
|
57
|
-
raise ArgumentError.new('missing \'params\'') if( params.size.zero? )
|
58
|
-
|
59
|
-
user_group = params.dig(:user_group)
|
55
|
+
def delete_usergroup( user_group )
|
60
56
|
|
61
|
-
raise ArgumentError.new('
|
57
|
+
raise ArgumentError.new(format('wrong type. \'user_group\' must be an String, given \'%s\'', user_group.class.to_s)) unless( user_group.is_a?(String) )
|
58
|
+
raise ArgumentError.new('missing \'user_group\'') if( user_group.size.zero? )
|
62
59
|
|
63
60
|
delete(
|
64
61
|
url: format( '%s/objects/usergroups/%s?cascade=1', @icinga_api_url_base, user_group ),
|
@@ -69,27 +66,20 @@ module Icinga2
|
|
69
66
|
|
70
67
|
# returns all usersgroups
|
71
68
|
#
|
72
|
-
# @param [
|
73
|
-
# @option params [String] :user_group ('') optional for a single usergroup
|
69
|
+
# @param [String] user_group (nil) optional for a single usergroup
|
74
70
|
#
|
75
71
|
# @example to get all users
|
76
72
|
# @icinga.usergroups
|
77
73
|
#
|
78
74
|
# @example to get one user
|
79
|
-
# @icinga.usergroups(
|
75
|
+
# @icinga.usergroups('icingaadmins')
|
80
76
|
#
|
81
77
|
# @return [Hash] returns a hash with all usergroups
|
82
78
|
#
|
83
|
-
def usergroups(
|
84
|
-
|
85
|
-
user_group = params.dig(:user_group)
|
79
|
+
def usergroups( user_group = nil )
|
86
80
|
|
87
|
-
url =
|
88
|
-
|
89
|
-
format( '%s/objects/usergroups' , @icinga_api_url_base )
|
90
|
-
else
|
91
|
-
format( '%s/objects/usergroups/%s', @icinga_api_url_base, user_group )
|
92
|
-
end
|
81
|
+
url = format( '%s/objects/usergroups' , @icinga_api_url_base )
|
82
|
+
url = format( '%s/objects/usergroups/%s', @icinga_api_url_base, user_group ) unless( user_group.nil? )
|
93
83
|
|
94
84
|
api_data(
|
95
85
|
url: url,
|
@@ -112,8 +102,8 @@ module Icinga2
|
|
112
102
|
raise ArgumentError.new(format('wrong type. \'user_group\' must be an String, given \'%s\'', user_group.class.to_s)) unless( user_group.is_a?(String) )
|
113
103
|
raise ArgumentError.new('Missing \'user_group\'') if( user_group.size.zero? )
|
114
104
|
|
115
|
-
result = usergroups( user_group
|
116
|
-
result = JSON.parse( result ) if
|
105
|
+
result = usergroups( user_group )
|
106
|
+
result = JSON.parse( result ) if result.is_a?( String )
|
117
107
|
result = result.first if( result.is_a?(Array) )
|
118
108
|
|
119
109
|
return false if( result.is_a?(Hash) && result.dig('code') == 404 )
|
data/lib/icinga2/users.rb
CHANGED
@@ -9,43 +9,47 @@ module Icinga2
|
|
9
9
|
# add a user
|
10
10
|
#
|
11
11
|
# @param [Hash] params
|
12
|
-
# @option params [String]
|
13
|
-
# @option params [String]
|
14
|
-
# @option params [String]
|
15
|
-
# @option params [String]
|
16
|
-
# @option params [Bool]
|
17
|
-
# @option params [Array]
|
12
|
+
# @option params [String] user_name user to create
|
13
|
+
# @option params [String] display_name ('') the displayed name
|
14
|
+
# @option params [String] email ('') the user email
|
15
|
+
# @option params [String] pager ('') optional a pager
|
16
|
+
# @option params [Bool] enable_notifications (false) enable notifications for this user
|
17
|
+
# @option params [Array] groups ([]) a hash with groups
|
18
|
+
# @option params [String] period
|
19
|
+
# @option params [Array] states
|
20
|
+
# @option params [Array] types
|
21
|
+
# @option params [Hash] vars
|
18
22
|
#
|
19
23
|
# @example
|
20
|
-
#
|
24
|
+
# param = {
|
25
|
+
# user_name: 'foo',
|
26
|
+
# display_name: 'FOO',
|
27
|
+
# email: 'foo@bar.com',
|
28
|
+
# pager: '0000',
|
29
|
+
# groups: ['icingaadmins']
|
30
|
+
# }
|
31
|
+
# @icinga.add_user(param)
|
21
32
|
#
|
22
33
|
# @return [Hash] result
|
34
|
+
# * code [Integer]
|
35
|
+
# * message [String]
|
36
|
+
# * data (optional)
|
23
37
|
#
|
24
38
|
def add_user( params )
|
25
39
|
|
26
40
|
raise ArgumentError.new(format('wrong type. \'params\' must be an Hash, given \'%s\'', params.class.to_s)) unless( params.is_a?(Hash) )
|
27
41
|
raise ArgumentError.new('missing \'params\'') if( params.size.zero? )
|
28
42
|
|
29
|
-
user_name
|
30
|
-
display_name
|
31
|
-
email
|
32
|
-
pager
|
33
|
-
notifications = params
|
34
|
-
groups
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
payload = {
|
40
|
-
'attrs' => {
|
41
|
-
'display_name' => display_name,
|
42
|
-
'email' => email,
|
43
|
-
'pager' => pager,
|
44
|
-
'enable_notifications' => notifications
|
45
|
-
}
|
46
|
-
}
|
47
|
-
|
48
|
-
payload['attrs']['groups'] = groups unless groups.empty?
|
43
|
+
user_name = validate( params, required: true, var: 'user_name', type: String )
|
44
|
+
display_name = validate( params, required: false, var: 'display_name', type: String )
|
45
|
+
email = validate( params, required: false, var: 'email', type: String )
|
46
|
+
pager = validate( params, required: false, var: 'pager', type: String )
|
47
|
+
notifications = validate( params, required: false, var: 'enable_notifications', type: Boolean ) || false
|
48
|
+
groups = validate( params, required: false, var: 'groups', type: Array ) || []
|
49
|
+
period = validate( params, required: false, var: 'period', type: String )
|
50
|
+
states = validate( params, required: false, var: 'states', type: Array )
|
51
|
+
types = validate( params, required: false, var: 'types', type: Array )
|
52
|
+
vars = validate( params, required: false, var: 'vars', type: Hash ) || {}
|
49
53
|
|
50
54
|
group_validate = []
|
51
55
|
|
@@ -54,16 +58,31 @@ module Icinga2
|
|
54
58
|
end
|
55
59
|
|
56
60
|
if( group_validate.count != 0 )
|
57
|
-
|
58
|
-
groups = group_validate.join(', ')
|
59
|
-
|
60
61
|
return {
|
61
|
-
|
62
|
-
message
|
63
|
-
data
|
62
|
+
'code' => 404,
|
63
|
+
'message' => format('these groups are not exists: \'%s\'', group_validate.join(', ')),
|
64
|
+
'data' => params
|
64
65
|
}
|
65
66
|
end
|
66
67
|
|
68
|
+
payload = {
|
69
|
+
attrs: {
|
70
|
+
display_name: display_name,
|
71
|
+
email: email,
|
72
|
+
pager: pager,
|
73
|
+
enable_notifications: notifications,
|
74
|
+
groups: groups,
|
75
|
+
period: period,
|
76
|
+
states: states,
|
77
|
+
types: types,
|
78
|
+
vars: vars
|
79
|
+
}
|
80
|
+
}
|
81
|
+
|
82
|
+
# remove all empty attrs
|
83
|
+
payload.reject!{ |_k, v| v.nil? }
|
84
|
+
payload[:attrs].reject!{ |_k, v| v.nil? }
|
85
|
+
|
67
86
|
put(
|
68
87
|
url: format( '%s/objects/users/%s', @icinga_api_url_base, user_name ),
|
69
88
|
headers: @headers,
|
@@ -74,22 +93,17 @@ module Icinga2
|
|
74
93
|
|
75
94
|
# delete a user
|
76
95
|
#
|
77
|
-
# @param [
|
78
|
-
# @option params [String] :user_name user to delete
|
96
|
+
# @param [String] user_name user to delete
|
79
97
|
#
|
80
98
|
# @example
|
81
|
-
# @icinga.delete_user(
|
99
|
+
# @icinga.delete_user('foo')
|
82
100
|
#
|
83
101
|
# @return [Hash] result
|
84
102
|
#
|
85
|
-
def delete_user(
|
86
|
-
|
87
|
-
raise ArgumentError.new(format('wrong type. \'params\' must be an Hash, given \'%s\'', params.class.to_s)) unless( params.is_a?(Hash) )
|
88
|
-
raise ArgumentError.new('missing \'params\'') if( params.size.zero? )
|
89
|
-
|
90
|
-
user_name = params.dig(:user_name)
|
103
|
+
def delete_user( user_name )
|
91
104
|
|
92
|
-
raise ArgumentError.new('
|
105
|
+
raise ArgumentError.new(format('wrong type. \'user_name\' must be an String, given \'%s\'',user_name.class.to_s)) unless( user_name.is_a?(String) )
|
106
|
+
raise ArgumentError.new('Missing user_name') if( user_name.size.zero? )
|
93
107
|
|
94
108
|
delete(
|
95
109
|
url: format( '%s/objects/users/%s?cascade=1', @icinga_api_url_base, user_name ),
|
@@ -100,29 +114,20 @@ module Icinga2
|
|
100
114
|
|
101
115
|
# returns a named or all users
|
102
116
|
#
|
103
|
-
# @param [
|
104
|
-
# @option params [String] :user_name ('') optional for a single user
|
117
|
+
# @param [String] user_name ('') optional for a single user
|
105
118
|
#
|
106
119
|
# @example to get all users
|
107
120
|
# @icinga.users
|
108
121
|
#
|
109
122
|
# @example to get one user
|
110
|
-
# @icinga.users(
|
123
|
+
# @icinga.users('icingaadmin')
|
111
124
|
#
|
112
125
|
# @return [Array]
|
113
126
|
#
|
114
|
-
def users(
|
115
|
-
|
116
|
-
raise ArgumentError.new(format('wrong type. \'params\' must be an Hash, given \'%s\'', params.class.to_s)) unless( params.is_a?(Hash) )
|
127
|
+
def users( user_name = nil )
|
117
128
|
|
118
|
-
|
119
|
-
|
120
|
-
url =
|
121
|
-
if( user_name.nil? )
|
122
|
-
format( '%s/objects/users' , @icinga_api_url_base )
|
123
|
-
else
|
124
|
-
format( '%s/objects/users/%s', @icinga_api_url_base, user_name )
|
125
|
-
end
|
129
|
+
url = format( '%s/objects/users' , @icinga_api_url_base )
|
130
|
+
url = format( '%s/objects/users/%s', @icinga_api_url_base, user_name ) unless( user_name.nil? )
|
126
131
|
|
127
132
|
api_data(
|
128
133
|
url: url,
|
@@ -145,8 +150,8 @@ module Icinga2
|
|
145
150
|
raise ArgumentError.new(format('wrong type. \'user_name\' must be an String, given \'%s\'', user_name.class.to_s)) unless( user_name.is_a?(String) )
|
146
151
|
raise ArgumentError.new('Missing \'user_name\'') if( user_name.size.zero? )
|
147
152
|
|
148
|
-
result = users( user_name
|
149
|
-
result = JSON.parse( result ) if
|
153
|
+
result = users( user_name )
|
154
|
+
result = JSON.parse( result ) if result.is_a?( String )
|
150
155
|
result = result.first if( result.is_a?(Array) )
|
151
156
|
|
152
157
|
return false if( result.is_a?(Hash) && result.dig('code') == 404 )
|
@@ -0,0 +1,59 @@
|
|
1
|
+
|
2
|
+
class Hash
|
3
|
+
def assert_required_keys(*keys)
|
4
|
+
keys.flatten.each do |key|
|
5
|
+
raise ArgumentError.new("Required key: #{key.inspect}") unless key?(key)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
def assert_valid_keys(params, *valid_keys)
|
10
|
+
valid_keys.flatten!
|
11
|
+
params.each_key do |k|
|
12
|
+
unless valid_keys.include?(k)
|
13
|
+
raise ArgumentError.new("Unknown key: #{k.inspect}. Valid keys are: #{valid_keys.map(&:inspect).join(', ')}")
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
|
20
|
+
module Icinga2
|
21
|
+
|
22
|
+
# namespace for validate options
|
23
|
+
module Validator
|
24
|
+
|
25
|
+
def validate_options!(params, options)
|
26
|
+
options[:optional] ||= []
|
27
|
+
options[:required] ||= []
|
28
|
+
|
29
|
+
params = params.deep_symbolize_keys
|
30
|
+
params.assert_required_keys(options[:required])
|
31
|
+
params.assert_valid_keys(params, options[:required] + options[:optional])
|
32
|
+
end
|
33
|
+
|
34
|
+
# validate( params, { required: true, var: name, type: String } )
|
35
|
+
def validate( params, options )
|
36
|
+
required = options.dig(:required) || false
|
37
|
+
var = options.dig(:var)
|
38
|
+
type = options.dig(:type)
|
39
|
+
|
40
|
+
params = params.deep_symbolize_keys
|
41
|
+
|
42
|
+
variable = params.dig(var.to_sym)
|
43
|
+
|
44
|
+
# puts params
|
45
|
+
# puts options
|
46
|
+
|
47
|
+
clazz = Object.const_get(type.to_s)
|
48
|
+
|
49
|
+
if(required == true )
|
50
|
+
raise ArgumentError.new(format('\'%s\' is requiered and missing!', var)) if(variable.nil?)
|
51
|
+
end
|
52
|
+
|
53
|
+
raise ArgumentError.new(format('wrong type. \'%s\' must be an %s, given \'%s\'', var, type, variable.class.to_s)) unless( variable.nil? || variable.is_a?(clazz) )
|
54
|
+
|
55
|
+
variable
|
56
|
+
end
|
57
|
+
|
58
|
+
end
|
59
|
+
end
|
data/lib/icinga2/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: icinga2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.2.
|
4
|
+
version: 0.9.2.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bodo Schulz
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-12-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ruby_dig
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: json
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '2.1'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '2.1'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: rest-client
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -39,19 +53,61 @@ dependencies:
|
|
39
53
|
- !ruby/object:Gem::Version
|
40
54
|
version: '2.0'
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
56
|
+
name: rake
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
44
58
|
requirements:
|
45
59
|
- - "~>"
|
46
60
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
48
|
-
type: :
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
49
63
|
prerelease: false
|
50
64
|
version_requirements: !ruby/object:Gem::Requirement
|
51
65
|
requirements:
|
52
66
|
- - "~>"
|
53
67
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rake-notes
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rubocop
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 0.49.0
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 0.49.0
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: rubocop-checkstyle_formatter
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
55
111
|
- !ruby/object:Gem::Dependency
|
56
112
|
name: rspec
|
57
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -66,6 +122,20 @@ dependencies:
|
|
66
122
|
- - "~>"
|
67
123
|
- !ruby/object:Gem::Version
|
68
124
|
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: rspec_junit_formatter
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - "~>"
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
69
139
|
- !ruby/object:Gem::Dependency
|
70
140
|
name: rspec-nc
|
71
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -187,6 +257,7 @@ files:
|
|
187
257
|
- doc/usergroups.md
|
188
258
|
- doc/users.md
|
189
259
|
- examples/_blank.rb
|
260
|
+
- examples/config.rb
|
190
261
|
- examples/downtimes.rb
|
191
262
|
- examples/hostgroups.rb
|
192
263
|
- examples/hosts.rb
|
@@ -205,7 +276,6 @@ files:
|
|
205
276
|
- lib/icinga2/hostgroups.rb
|
206
277
|
- lib/icinga2/hosts.rb
|
207
278
|
- lib/icinga2/network.rb
|
208
|
-
- lib/icinga2/network.rb-SAVE
|
209
279
|
- lib/icinga2/notifications.rb
|
210
280
|
- lib/icinga2/servicegroups.rb
|
211
281
|
- lib/icinga2/services.rb
|
@@ -213,6 +283,7 @@ files:
|
|
213
283
|
- lib/icinga2/tools.rb
|
214
284
|
- lib/icinga2/usergroups.rb
|
215
285
|
- lib/icinga2/users.rb
|
286
|
+
- lib/icinga2/validator.rb
|
216
287
|
- lib/icinga2/version.rb
|
217
288
|
- lib/logging.rb
|
218
289
|
- lib/monkey_patches.rb
|