opsview_rest 0.2.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- metadata +94 -197
- data/Gemfile +0 -15
- data/LICENSE +0 -202
- data/README.rdoc +0 -95
- data/Rakefile +0 -36
- data/TODO.md +0 -20
- data/VERSION +0 -1
- data/lib/opsview_rest/attribute.rb +0 -32
- data/lib/opsview_rest/contact.rb +0 -71
- data/lib/opsview_rest/host.rb +0 -77
- data/lib/opsview_rest/hostcheckcommand.rb +0 -32
- data/lib/opsview_rest/hostgroup.rb +0 -29
- data/lib/opsview_rest/hosttemplate.rb +0 -29
- data/lib/opsview_rest/keyword.rb +0 -39
- data/lib/opsview_rest/mixin.rb +0 -25
- data/lib/opsview_rest/monitoringserver.rb +0 -33
- data/lib/opsview_rest/notificationmethod.rb +0 -31
- data/lib/opsview_rest/role.rb +0 -41
- data/lib/opsview_rest/servicecheck.rb +0 -53
- data/lib/opsview_rest/servicegroup.rb +0 -27
- data/lib/opsview_rest/timeperiod.rb +0 -41
- data/lib/opsview_rest.rb +0 -164
data/TODO.md
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
TODO List
|
2
|
-
=========
|
3
|
-
|
4
|
-
1. Figure out a way to instantiate a ton of methods for all of the different
|
5
|
-
resource types. There isn't a nice way to deal with, say, hosts, and
|
6
|
-
hostgroups at the moment (since they all have different parameters.)
|
7
|
-
The only things that are common between the different resource types
|
8
|
-
are "name" and "id".
|
9
|
-
1a. If not this, then there should be a better way to deal with the plethora
|
10
|
-
of fields that we could possibly update in Opsview for each resource type.
|
11
|
-
I've mostly based the code off of Adam Jacob's dynect_rest gem, which
|
12
|
-
has a much simpler API and a predictable set of parameters - thus, it
|
13
|
-
makes sense to dynamically create a ton of methods and allow stuff like
|
14
|
-
"dynect.record.ip.foobar" as an accessor.
|
15
|
-
|
16
|
-
One thought is to simply choose a functional subset of the parameters we
|
17
|
-
could pass into each type of resource, and add more as the need arises.
|
18
|
-
Another thought is to simply pass in a hash with a bunch of data in it,
|
19
|
-
but I'd rather not do this, as it'd make the user guess how best to format
|
20
|
-
the data.
|
data/VERSION
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
0.2.0
|
@@ -1,32 +0,0 @@
|
|
1
|
-
require 'opsview_rest/mixin'
|
2
|
-
|
3
|
-
class OpsviewRest
|
4
|
-
class Attribute
|
5
|
-
|
6
|
-
include OpsviewRest::Mixin
|
7
|
-
|
8
|
-
attr_accessor :options, :opsview, :resource_type
|
9
|
-
|
10
|
-
def initialize(opsview, options = {})
|
11
|
-
@options = {
|
12
|
-
:name => "PROCESSES",
|
13
|
-
:arg1 => "",
|
14
|
-
:arg2 => "",
|
15
|
-
:arg3 => "",
|
16
|
-
:arg4 => "",
|
17
|
-
:value => "",
|
18
|
-
:servicechecks => [],
|
19
|
-
:save => true,
|
20
|
-
:replace => false
|
21
|
-
}.update options
|
22
|
-
|
23
|
-
@opsview = opsview
|
24
|
-
@resource_type = @options[:type]
|
25
|
-
|
26
|
-
@options[:servicechecks] = @options[:servicechecks].map { |x| { "name" => x } }
|
27
|
-
|
28
|
-
save(@options[:replace]) if @options[:save]
|
29
|
-
end
|
30
|
-
|
31
|
-
end
|
32
|
-
end
|
data/lib/opsview_rest/contact.rb
DELETED
@@ -1,71 +0,0 @@
|
|
1
|
-
require 'opsview_rest/mixin'
|
2
|
-
|
3
|
-
class OpsviewRest
|
4
|
-
class Contact
|
5
|
-
|
6
|
-
include OpsviewRest::Mixin
|
7
|
-
|
8
|
-
attr_accessor :options, :opsview, :resource_type
|
9
|
-
|
10
|
-
def initialize(opsview, options = {})
|
11
|
-
@options = {
|
12
|
-
:name => "foobar",
|
13
|
-
:fullname => "",
|
14
|
-
:description => "",
|
15
|
-
:encrypted_password => "$apr1$HTQogYE7$09TNcZWa/WzoBXdUF6Iyr1",
|
16
|
-
:realm => "local",
|
17
|
-
:language => "",
|
18
|
-
:role => "View all, change none",
|
19
|
-
:variables => [
|
20
|
-
{ :value => "", :name => "EMAIL" },
|
21
|
-
{ :value => 1, :name => "RSS_COLLAPSED" },
|
22
|
-
{ :value => 1440, :name => "RSS_MAXIMUM_AGE" },
|
23
|
-
{ :value => 30, :name => "RSS_MAXIMUM_ITEMS" }
|
24
|
-
],
|
25
|
-
:notificationprofiles => [
|
26
|
-
{ :name => "24x7",
|
27
|
-
:host_notification_options => "u,d,r,f",
|
28
|
-
:notificationmethods => [
|
29
|
-
{ :name => "Email" }
|
30
|
-
],
|
31
|
-
:servicegroups => [],
|
32
|
-
:all_servicegroups => 1,
|
33
|
-
:all_hostgroups => 0,
|
34
|
-
:keywords => [],
|
35
|
-
:service_notification_options => "w,c,r,u,f",
|
36
|
-
:hostgroups => [],
|
37
|
-
:notification_level => 1,
|
38
|
-
:notification_period => { :name => "24x7" } },
|
39
|
-
{ :name => "8x5",
|
40
|
-
:host_notification_options => "u,d,r,f",
|
41
|
-
:notificationmethods => [
|
42
|
-
{ :name => "Email" }
|
43
|
-
],
|
44
|
-
:servicegroups => [],
|
45
|
-
:all_servicegroups => 1,
|
46
|
-
:all_hostgroups => 0,
|
47
|
-
:keywords => [],
|
48
|
-
:service_notification_options => "w,c,r,u,f",
|
49
|
-
:hostgroups => [],
|
50
|
-
:notification_level => 1,
|
51
|
-
:notification_period => { :name => "workhours" } }
|
52
|
-
],
|
53
|
-
:save => true,
|
54
|
-
:replace => false
|
55
|
-
}.update options
|
56
|
-
|
57
|
-
@opsview = opsview
|
58
|
-
@resource_type = @options[:type]
|
59
|
-
|
60
|
-
@options[:all_servicegroups] = if @options[:all_servicegroups] then 1 else 0 end
|
61
|
-
@options[:all_hostgroups] = if @options[:all_hostgroups] then 1 else 0 end
|
62
|
-
@options[:servicegroups] = @options[:servicegroups].map { |x| { "name" => x } }
|
63
|
-
@options[:keywords] = @options[:keywords].map { |x| { "name" => x } }
|
64
|
-
@options[:hostgroups] = @options[:hostgroups].map { |x| { "name" => x } }
|
65
|
-
@options[:role] = { "name" => @options[:role] }
|
66
|
-
|
67
|
-
save(@options[:replace]) if @options[:save]
|
68
|
-
end
|
69
|
-
|
70
|
-
end
|
71
|
-
end
|
data/lib/opsview_rest/host.rb
DELETED
@@ -1,77 +0,0 @@
|
|
1
|
-
require 'opsview_rest/mixin'
|
2
|
-
|
3
|
-
class OpsviewRest
|
4
|
-
class Host
|
5
|
-
|
6
|
-
include OpsviewRest::Mixin
|
7
|
-
|
8
|
-
attr_accessor :options, :opsview, :resource_type
|
9
|
-
|
10
|
-
def initialize(opsview, options = {})
|
11
|
-
# Default set of attributes to send to Opsview:
|
12
|
-
@options = {
|
13
|
-
:flap_detection_enabled => false,
|
14
|
-
:snmpv3_privprotocol => nil,
|
15
|
-
:hosttemplates => [],
|
16
|
-
:keywords => [],
|
17
|
-
:check_period => "24x7",
|
18
|
-
:hostattributes => [],
|
19
|
-
:notification_period => "24x7",
|
20
|
-
:name => "unknown",
|
21
|
-
:rancid_vendor => nil,
|
22
|
-
:snmp_community => "public",
|
23
|
-
:hostgroup => "Unknown",
|
24
|
-
:enable_snmp => false,
|
25
|
-
:monitored_by => "Master Monitoring Server",
|
26
|
-
:alias => "Managed Host",
|
27
|
-
:uncommitted => false,
|
28
|
-
:parents => [],
|
29
|
-
:icon => { "name" => "LOGO - Opsview" },
|
30
|
-
:retry_check_interval => 1,
|
31
|
-
:ip => "localhost",
|
32
|
-
:use_mrtg => false,
|
33
|
-
:servicechecks => [],
|
34
|
-
:use_rancid => false,
|
35
|
-
:nmis_node_type => "router",
|
36
|
-
:snmp_version => "2c",
|
37
|
-
:snmp_authpassword => "",
|
38
|
-
:use_nmis => false,
|
39
|
-
:rancid_connection_type => "ssh",
|
40
|
-
:snmpv3_authprotocol => nil,
|
41
|
-
:rancid_username => nil,
|
42
|
-
:rancid_password => nil,
|
43
|
-
:check_command => "ping",
|
44
|
-
:check_attempts => 2,
|
45
|
-
:check_interval => 0,
|
46
|
-
:notification_interval => 60,
|
47
|
-
:snmp_port => 161,
|
48
|
-
:snmpv3_username => "",
|
49
|
-
:snmpv3_privpassword => "",
|
50
|
-
:other_addresses => "",
|
51
|
-
:save => true,
|
52
|
-
:replace => false
|
53
|
-
}.update options
|
54
|
-
|
55
|
-
@opsview = opsview
|
56
|
-
@resource_type = @options[:type]
|
57
|
-
|
58
|
-
# Add any weird exceptions here (like hostgroups having to be mapped
|
59
|
-
# to "name" => hostgroup, etc.):
|
60
|
-
@options[:flap_detection_enabled] = if @options[:flap_detection_enabled] then 1 else 0 end
|
61
|
-
@options[:enable_snmp] = if @options[:enable_snmp] then 1 else 0 end
|
62
|
-
@options[:use_mrtg] = if @options[:use_mrtg] then 1 else 0 end
|
63
|
-
@options[:use_rancid] = if @options[:use_rancid] then 1 else 0 end
|
64
|
-
@options[:use_nmis] = if @options[:use_nmis] then 1 else 0 end
|
65
|
-
@options[:uncommitted] = if @options[:uncommitted] then 1 else 0 end
|
66
|
-
@options[:check_period] = { "name" => @options[:check_period] }
|
67
|
-
@options[:hostgroup] = { "name" => @options[:hostgroup] }
|
68
|
-
@options[:notification_period] = { "name" => @options[:notification_period] }
|
69
|
-
@options[:monitored_by] = { "name" => @options[:monitored_by] }
|
70
|
-
@options[:servicechecks] = @options[:servicechecks].map { |x| { "name" => x } }
|
71
|
-
@options[:check_command] = { "name" => @options[:check_command] }
|
72
|
-
|
73
|
-
save(@options[:replace]) if @options[:save]
|
74
|
-
end
|
75
|
-
|
76
|
-
end
|
77
|
-
end
|
@@ -1,32 +0,0 @@
|
|
1
|
-
require 'opsview_rest/mixin'
|
2
|
-
|
3
|
-
class OpsviewRest
|
4
|
-
class Hostcheckcommand
|
5
|
-
|
6
|
-
include OpsviewRest::Mixin
|
7
|
-
|
8
|
-
attr_accessor :opsview, :options, :resource_type
|
9
|
-
|
10
|
-
def initialize(opsview, options = {})
|
11
|
-
@options = {
|
12
|
-
:name => "ping",
|
13
|
-
:args => "-H $HOSTADDRESS$ -t 3 -w 500.0,80% -c 1000.0,100%",
|
14
|
-
:priority => 1,
|
15
|
-
:plugin => "check_icmp",
|
16
|
-
:uncommitted => false,
|
17
|
-
:save => true,
|
18
|
-
:replace => false
|
19
|
-
}.update options
|
20
|
-
|
21
|
-
@opsview = opsview
|
22
|
-
@resource_type = @options[:type]
|
23
|
-
|
24
|
-
@options[:plugin] = { "name" => @options[:plugin] }
|
25
|
-
@options[:hosts] = @options[:hosts].map { |x| { "name" => x } }
|
26
|
-
@options[:uncommitted] = if @options[:uncommitted] then 1 else 0 end
|
27
|
-
|
28
|
-
save(@options[:replace]) if @options[:save]
|
29
|
-
end
|
30
|
-
|
31
|
-
end
|
32
|
-
end
|
@@ -1,29 +0,0 @@
|
|
1
|
-
require 'opsview_rest/mixin'
|
2
|
-
|
3
|
-
class OpsviewRest
|
4
|
-
class Hostgroup
|
5
|
-
|
6
|
-
include OpsviewRest::Mixin
|
7
|
-
|
8
|
-
attr_accessor :opsview, :options, :resource_type
|
9
|
-
|
10
|
-
def initialize(opsview, options = {})
|
11
|
-
@options = {
|
12
|
-
:parent => "Opsview",
|
13
|
-
:name => "unknown",
|
14
|
-
:save => true,
|
15
|
-
:replace => false
|
16
|
-
}.update options
|
17
|
-
|
18
|
-
@opsview = opsview
|
19
|
-
@resource_type = @options[:type]
|
20
|
-
|
21
|
-
@options[:parent] = { "name" => @options[:parent] }
|
22
|
-
@options[:hosts] = @options[:hosts].map { |x| { "name" => x } }
|
23
|
-
@options[:children] = @options[:children].map { |x| { "name" => x } }
|
24
|
-
|
25
|
-
save(@options[:replace]) if @options[:save]
|
26
|
-
end
|
27
|
-
|
28
|
-
end
|
29
|
-
end
|
@@ -1,29 +0,0 @@
|
|
1
|
-
require 'opsview_rest/mixin'
|
2
|
-
|
3
|
-
class OpsviewRest
|
4
|
-
class Hosttemplate
|
5
|
-
|
6
|
-
include OpsviewRest::Mixin
|
7
|
-
|
8
|
-
attr_accessor :options, :opsview, :resource_type
|
9
|
-
|
10
|
-
def initialize(opsview, options = {})
|
11
|
-
@options = {
|
12
|
-
:name => "Unknown",
|
13
|
-
:description => "Unknown",
|
14
|
-
:servicechecks => [],
|
15
|
-
:managementurls => [],
|
16
|
-
:save => true,
|
17
|
-
:replace => false
|
18
|
-
}.update options
|
19
|
-
|
20
|
-
@opsview = opsview
|
21
|
-
@resource_type = @options[:type]
|
22
|
-
|
23
|
-
@options[:servicechecks] = @options[:servicechecks].map { |x| { "name" => x } }
|
24
|
-
|
25
|
-
save(@options[:replace]) if @options[:save]
|
26
|
-
end
|
27
|
-
|
28
|
-
end
|
29
|
-
end
|
data/lib/opsview_rest/keyword.rb
DELETED
@@ -1,39 +0,0 @@
|
|
1
|
-
require 'opsview_rest/mixin'
|
2
|
-
|
3
|
-
class OpsviewRest
|
4
|
-
class Keyword
|
5
|
-
|
6
|
-
include OpsviewRest::Mixin
|
7
|
-
|
8
|
-
attr_accessor :options, :opsview, :resource_type
|
9
|
-
|
10
|
-
def initialize(opsview, options = {})
|
11
|
-
@options = {
|
12
|
-
:name => "Unknown",
|
13
|
-
:all_hosts => false,
|
14
|
-
:hosts => [],
|
15
|
-
:roles => [ "View some, change none" ],
|
16
|
-
:all_servicechecks => false,
|
17
|
-
:servicechecks => [],
|
18
|
-
:description => "",
|
19
|
-
:style => "group_by_host",
|
20
|
-
:enabled => true,
|
21
|
-
:save => true,
|
22
|
-
:replace => false
|
23
|
-
}.update options
|
24
|
-
|
25
|
-
@opsview = opsview
|
26
|
-
@resource_type = @options[:type]
|
27
|
-
|
28
|
-
@options[:all_hosts] = if @options[:all_hosts] then 1 else 0 end
|
29
|
-
@options[:all_servicechecks] = if @options[:all_servicechecks] then 1 else 0 end
|
30
|
-
@options[:enabled] = if @options[:enabled] then 1 else 0 end
|
31
|
-
@options[:servicechecks] = @options[:servicechecks].map { |x| { "name" => x } }
|
32
|
-
@options[:hosts] = @options[:hosts].map { |x| { "name" => x } }
|
33
|
-
@options[:roles] = @options[:roles].map { |x| { "name" => x } }
|
34
|
-
|
35
|
-
save(@options[:replace]) if @options[:save]
|
36
|
-
end
|
37
|
-
|
38
|
-
end
|
39
|
-
end
|
data/lib/opsview_rest/mixin.rb
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
class OpsviewRest
|
2
|
-
module Mixin
|
3
|
-
|
4
|
-
def resource_path(full=false)
|
5
|
-
if (full == true || full == :full)
|
6
|
-
"/rest/config/#{self.resource_type}"
|
7
|
-
else
|
8
|
-
"config/#{self.resource_type}"
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
def save(replace=false)
|
13
|
-
if replace == true || replace == :replace
|
14
|
-
self.opsview.put(self.resource_path, self)
|
15
|
-
else
|
16
|
-
self.opsview.post(self.resource_path, self)
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
def to_json
|
21
|
-
self.options.to_json
|
22
|
-
end
|
23
|
-
|
24
|
-
end
|
25
|
-
end
|
@@ -1,33 +0,0 @@
|
|
1
|
-
require 'opsview_rest/mixin'
|
2
|
-
|
3
|
-
class OpsviewRest
|
4
|
-
class MonitoringServer
|
5
|
-
|
6
|
-
include OpsviewRest::Mixin
|
7
|
-
|
8
|
-
attr_accessor :options, :opsview, :resource_type
|
9
|
-
|
10
|
-
def initialize(opsview, options = {})
|
11
|
-
@options = {
|
12
|
-
:name => "Slave",
|
13
|
-
:roles => [],
|
14
|
-
:activated => true,
|
15
|
-
:monitors => [],
|
16
|
-
:nodes => [],
|
17
|
-
:save => true,
|
18
|
-
:replace => false
|
19
|
-
}.update options
|
20
|
-
|
21
|
-
@opsview = opsview
|
22
|
-
@resource_type = @options[:type]
|
23
|
-
|
24
|
-
@option[:roles] = @option[:roles].map { |x| { "name" => x } }
|
25
|
-
@option[:monitors] = @option[:monitors].map { |x| { "name" => x } }
|
26
|
-
@option[:nodes] = @option[:nodes].map { |x| { "host" => { "name" => x } } }
|
27
|
-
@options[:activated] = if @options[:activated] then 1 else 0 end
|
28
|
-
|
29
|
-
save(@options[:replace]) if @options[:save]
|
30
|
-
end
|
31
|
-
|
32
|
-
end
|
33
|
-
end
|
@@ -1,31 +0,0 @@
|
|
1
|
-
require 'opsview_rest/mixin'
|
2
|
-
|
3
|
-
class OpsviewRest
|
4
|
-
class NotificationMethod
|
5
|
-
|
6
|
-
include OpsviewRest::Mixin
|
7
|
-
|
8
|
-
attr_accessor :options, :opsview, :resource_type
|
9
|
-
|
10
|
-
def initialize(opsview, options = {})
|
11
|
-
@options = {
|
12
|
-
:name => "Unknown",
|
13
|
-
:master => false,
|
14
|
-
:active => true,
|
15
|
-
:command => "notify_by_email",
|
16
|
-
:contact_variables => "EMAIL"
|
17
|
-
:save => true,
|
18
|
-
:replace => false
|
19
|
-
}.update options
|
20
|
-
|
21
|
-
@opsview = opsview
|
22
|
-
@resource_type = @options[:type]
|
23
|
-
|
24
|
-
@options[:master] = if @options[:master] then 1 else 0 end
|
25
|
-
@options[:active] = if @options[:active] then 1 else 0 end
|
26
|
-
|
27
|
-
save(@options[:replace]) if @options[:save]
|
28
|
-
end
|
29
|
-
|
30
|
-
end
|
31
|
-
end
|
data/lib/opsview_rest/role.rb
DELETED
@@ -1,41 +0,0 @@
|
|
1
|
-
require 'opsview_rest/mixin'
|
2
|
-
|
3
|
-
class OpsviewRest
|
4
|
-
class Role
|
5
|
-
|
6
|
-
include OpsviewRest::Mixin
|
7
|
-
|
8
|
-
attr_accessor :options, :opsview, :resource_type
|
9
|
-
|
10
|
-
def initialize(opsview, options = {})
|
11
|
-
@options = {
|
12
|
-
:name => "Unknown",
|
13
|
-
:description => "",
|
14
|
-
:all_hostgroups => true,
|
15
|
-
:all_servicegroups => true,
|
16
|
-
:all_keywords => false,
|
17
|
-
:access_hostgroups => [],
|
18
|
-
:access_servicegroups => [],
|
19
|
-
:access_keywords => [],
|
20
|
-
:hostgroups => [],
|
21
|
-
:monitoringservers => [],
|
22
|
-
:accesses => [ "NOTIFYSOME", "PASSWORDSAVE", "VIEWALL" ],
|
23
|
-
:save => true,
|
24
|
-
:replace => false
|
25
|
-
}.update options
|
26
|
-
|
27
|
-
@opsview = opsview
|
28
|
-
@resource_type = @options[:type]
|
29
|
-
|
30
|
-
@options[:hostgroups] = @options[:hostgroups].map { |x| { "name" => x } }
|
31
|
-
@options[:monitoringservers] = @options[:monitoringservers].map { |x| { "name" => x } }
|
32
|
-
@options[:accesses] = @options[:accesses].map { |x| { "name" => x } }
|
33
|
-
@options[:all_hostgroups] = if @options[:all_hostgroups] then 1 else 0 end
|
34
|
-
@options[:all_servicegroups] = if @options[:all_servicegroups] then 1 else 0 end
|
35
|
-
@options[:all_keywords] = if @options[:all_keywords] then 1 else 0 end
|
36
|
-
|
37
|
-
save(@options[:replace]) if @options[:save]
|
38
|
-
end
|
39
|
-
|
40
|
-
end
|
41
|
-
end
|
@@ -1,53 +0,0 @@
|
|
1
|
-
require 'opsview_rest/mixin'
|
2
|
-
|
3
|
-
class OpsviewRest
|
4
|
-
class Servicecheck
|
5
|
-
|
6
|
-
include OpsviewRest::Mixin
|
7
|
-
|
8
|
-
attr_accessor :options, :opsview, :resource_type
|
9
|
-
|
10
|
-
def initialize(opsview, options = {})
|
11
|
-
@options = {
|
12
|
-
:name => "Unknown",
|
13
|
-
:description => "Unknown",
|
14
|
-
:keywords => [],
|
15
|
-
:attribute => nil,
|
16
|
-
:servicegroup => "Unknown",
|
17
|
-
:dependencies => [ "Opsview Agent" ],
|
18
|
-
:check_period => "24x7",
|
19
|
-
:check_interval => "5",
|
20
|
-
:check_attempts => "3",
|
21
|
-
:retry_check_interval => "1",
|
22
|
-
:plugin => "check_nrpe",
|
23
|
-
:args => "",
|
24
|
-
:stalking => nil,
|
25
|
-
:volatile => false,
|
26
|
-
:invertresults => false,
|
27
|
-
:notification_options => "w,c,r",
|
28
|
-
:notification_period => nil,
|
29
|
-
:notification_interval => nil,
|
30
|
-
:flap_detection_enabled => true,
|
31
|
-
:checktype => "Active Plugin",
|
32
|
-
:save => true,
|
33
|
-
:replace => false
|
34
|
-
}.update options
|
35
|
-
|
36
|
-
@opsview = opsview
|
37
|
-
@resource_type = @options[:type]
|
38
|
-
|
39
|
-
@options[:keywords] = @options[:keywords].map { |x| { "name" => x } }
|
40
|
-
@options[:servicegroup] = { "name" => @options[:servicegroup] }
|
41
|
-
@options[:dependencies] = @options[:dependencies].map { |x| { "name" => x } }
|
42
|
-
@options[:check_period] = { "name" => @options[:check_period] }
|
43
|
-
@options[:plugin] = { "name" => @options[:plugin] }
|
44
|
-
@options[:volatile] = if @options[:volatile] then 1 else 0 end
|
45
|
-
@options[:invertresults] = if @options[:invertresults] then 1 else 0 end
|
46
|
-
@options[:flap_detection_enabled] = if @options[:flap_detection_enabled] then 1 else 0 end
|
47
|
-
@options[:checktype] = { "name" => @options[:checktype] }
|
48
|
-
|
49
|
-
save(@options[:replace]) if @options[:save]
|
50
|
-
end
|
51
|
-
|
52
|
-
end
|
53
|
-
end
|
@@ -1,27 +0,0 @@
|
|
1
|
-
require 'opsview_rest/mixin'
|
2
|
-
|
3
|
-
class OpsviewRest
|
4
|
-
class Servicegroup
|
5
|
-
|
6
|
-
include OpsviewRest::Mixin
|
7
|
-
|
8
|
-
attr_accessor :options, :opsview, :resource_type
|
9
|
-
|
10
|
-
def initialize(opsview, options = {})
|
11
|
-
@options = {
|
12
|
-
:name => "Unknown",
|
13
|
-
:servicechecks => [ "" ],
|
14
|
-
:save => true,
|
15
|
-
:replace => false
|
16
|
-
}.update options
|
17
|
-
|
18
|
-
@opsview = opsview
|
19
|
-
@resource_type = @options[:type]
|
20
|
-
|
21
|
-
@options[:servicechecks] = @options[:servicechecks].map { |x| { "name" => x } }
|
22
|
-
|
23
|
-
save(@options[:replace]) if @options[:save]
|
24
|
-
end
|
25
|
-
|
26
|
-
end
|
27
|
-
end
|
@@ -1,41 +0,0 @@
|
|
1
|
-
require 'opsview_rest/mixin'
|
2
|
-
|
3
|
-
class OpsviewRest
|
4
|
-
class Timeperiod
|
5
|
-
|
6
|
-
include OpsviewRest::Mixin
|
7
|
-
|
8
|
-
attr_accessor :options, :opsview, :resource_type
|
9
|
-
|
10
|
-
def initialize(opsview, options = {})
|
11
|
-
@options = {
|
12
|
-
:name => "nonworkhours",
|
13
|
-
:monday => "00:00-09:00,17:00-24:00",
|
14
|
-
:tuesday => "00:00-09:00,17:00-24:00",
|
15
|
-
:wednesday => "00:00-09:00,17:00-24:00",
|
16
|
-
:thursday => "00:00-09:00,17:00-24:00",
|
17
|
-
:friday => "00:00-09:00,17:00-24:00",
|
18
|
-
:saturday => "00:00-24:00",
|
19
|
-
:sunday => "00:00-24:00",
|
20
|
-
:servicecheck_notification_periods => [],
|
21
|
-
:servicecheck_check_periods => [],
|
22
|
-
:host_check_periods => [],
|
23
|
-
:alias => "Non-work hours",
|
24
|
-
:host_notification_periods => [],
|
25
|
-
:save => true,
|
26
|
-
:replace => false
|
27
|
-
}.update options
|
28
|
-
|
29
|
-
@opsview = opsview
|
30
|
-
@resource_type = @options[:type]
|
31
|
-
|
32
|
-
@option[:servicecheck_notification_periods] = @option[:servicecheck_notification_periods].map { |x| { "name" => x } }
|
33
|
-
@option[:servicecheck_check_periods] = @option[:servicecheck_check_periods].map { |x| { "name" => x } }
|
34
|
-
@option[:host_check_periods] = @option[:host_check_periods].map { |x| { "name" => x } }
|
35
|
-
@option[:host_notification_periods] = @option[:host_notification_periods].map { |x| { "name" => x } }
|
36
|
-
|
37
|
-
save(@options[:replace]) if @options[:save]
|
38
|
-
end
|
39
|
-
|
40
|
-
end
|
41
|
-
end
|