icinga2 0.9.0.1 → 0.9.2.1
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 +51 -45
- data/doc/hosts.md +62 -21
- data/doc/services.md +215 -54
- data/doc/statistics.md +28 -10
- data/doc/usergroups.md +49 -11
- data/doc/users.md +64 -13
- data/examples/_blank.rb +72 -0
- data/examples/downtimes.rb +79 -0
- data/examples/hostgroups.rb +91 -0
- data/examples/hosts.rb +180 -0
- data/examples/informations.rb +95 -0
- data/examples/notifications.rb +109 -0
- data/examples/servicegroups.rb +102 -0
- data/examples/services.rb +202 -0
- data/examples/statistics.rb +137 -0
- data/examples/test.rb +32 -377
- data/examples/usergroups.rb +95 -0
- data/examples/users.rb +98 -0
- data/lib/icinga2.rb +4 -394
- data/lib/icinga2/client.rb +431 -0
- data/lib/icinga2/downtimes.rb +40 -20
- data/lib/icinga2/hostgroups.rb +38 -22
- data/lib/icinga2/hosts.rb +308 -92
- data/lib/icinga2/network.rb +211 -213
- data/lib/icinga2/notifications.rb +30 -28
- data/lib/icinga2/servicegroups.rb +43 -24
- data/lib/icinga2/services.rb +218 -130
- data/lib/icinga2/statistics.rb +14 -10
- data/lib/icinga2/tools.rb +1 -1
- data/lib/icinga2/usergroups.rb +12 -15
- data/lib/icinga2/users.rb +16 -17
- data/lib/icinga2/version.rb +1 -15
- data/lib/monkey_patches.rb +89 -0
- metadata +21 -8
data/doc/statistics.md
CHANGED
@@ -1,19 +1,26 @@
|
|
1
1
|
# Icinga2 - Statistics
|
2
2
|
|
3
3
|
|
4
|
-
## <a name="stats-avg"></a
|
5
|
-
|
4
|
+
## <a name="stats-avg"></a>*average_statistics*
|
5
|
+
|
6
|
+
statistic data for latency and execution_time
|
7
|
+
|
8
|
+
The result are an `Hash`
|
6
9
|
|
7
10
|
### Example
|
8
11
|
@icinga.cib_data
|
9
12
|
latency, execution_time = @icinga.average_statistics.values
|
10
13
|
|
11
14
|
or
|
15
|
+
|
12
16
|
h = @icinga.average_statistics
|
13
17
|
latency = h.dig(:latency)
|
14
18
|
|
15
|
-
## <a name="stats-interval"></a
|
16
|
-
|
19
|
+
## <a name="stats-interval"></a>*interval_statistics*
|
20
|
+
|
21
|
+
statistic data for intervall data
|
22
|
+
|
23
|
+
The result are an `Hash`
|
17
24
|
|
18
25
|
### Example
|
19
26
|
@icinga.cib_data
|
@@ -24,8 +31,11 @@ or
|
|
24
31
|
hosts_active_checks = i.dig(:hosts_active_checks)
|
25
32
|
|
26
33
|
|
27
|
-
## <a name="stats-services"></a
|
28
|
-
|
34
|
+
## <a name="stats-services"></a>*service_statistics*
|
35
|
+
|
36
|
+
statistic data for services
|
37
|
+
|
38
|
+
The result are an `Hash`
|
29
39
|
|
30
40
|
### Example
|
31
41
|
@icinga.cib_data
|
@@ -35,19 +45,27 @@ or
|
|
35
45
|
s = @icinga.service_statistics
|
36
46
|
critical = s.dig(:critical)
|
37
47
|
|
38
|
-
## <a name="stats-hosts"></a
|
39
|
-
|
48
|
+
## <a name="stats-hosts"></a>*host_statistics*
|
49
|
+
|
50
|
+
statistic data for hosts
|
51
|
+
|
52
|
+
The result are an `Hash`
|
40
53
|
|
41
54
|
### Example
|
42
55
|
@icinga.cib_data
|
43
56
|
up, down, pending, unreachable, in_downtime, ack = @icinga.host_statistics.values
|
44
57
|
|
45
58
|
or
|
59
|
+
|
46
60
|
h = @icinga.host_statistics
|
47
61
|
pending = h.dig(:pending)
|
48
62
|
|
49
|
-
|
50
|
-
|
63
|
+
|
64
|
+
## <a name="stats-work-queue"></a>work_queue_statistics
|
65
|
+
|
66
|
+
queue statistics from the api
|
67
|
+
|
68
|
+
The result are an `Hash`
|
51
69
|
|
52
70
|
### Example
|
53
71
|
@icinga.work_queue_statistics
|
data/doc/usergroups.md
CHANGED
@@ -1,27 +1,51 @@
|
|
1
1
|
# Icinga2 - Usergroups
|
2
2
|
|
3
3
|
|
4
|
-
## <a name="add-usergroup"></a
|
5
|
-
|
4
|
+
## <a name="add-usergroup"></a>*add_usergroup( params )*
|
5
|
+
|
6
|
+
Creates an Icinga2 Usergroup.
|
7
|
+
|
8
|
+
`params` are an `Hash` with following Parameters:
|
9
|
+
|
10
|
+
| Parameter | Type | Example | Description
|
11
|
+
| :-------------------- | :-----: | :----- | :-----------
|
12
|
+
| `user_group` | String | `foo` | Usergroup they will be created
|
13
|
+
| `display_name` | String | `User Foo` | the displayed Name
|
14
|
+
|
15
|
+
The result are an `Hash`
|
6
16
|
|
7
17
|
### Example
|
8
18
|
@icinga.add_usergroup(user_group: 'foo', display_name: 'FOO')
|
9
19
|
|
10
20
|
|
11
|
-
## <a name="delete-usergroup"></a
|
12
|
-
|
21
|
+
## <a name="delete-usergroup"></a>*delete_usergroup( params )*
|
22
|
+
|
23
|
+
Delete a Usergroup.
|
24
|
+
|
25
|
+
`params` are an `Hash` with following Parameters:
|
26
|
+
|
27
|
+
| Parameter | Type | Example | Description
|
28
|
+
| :-------------------- | :-----: | :----- | :-----------
|
29
|
+
| `user_group` | String | `foo` | Usergroup they will be deleted
|
30
|
+
|
31
|
+
The result are an `Hash`
|
13
32
|
|
14
33
|
### Example
|
15
34
|
@icinga.delete_usergroup(user_group: 'foo')
|
16
35
|
|
17
36
|
|
18
|
-
## <a name="list-usergroups"></a
|
37
|
+
## <a name="list-usergroups"></a>*usergroups* or *usergroups( params )*
|
19
38
|
|
20
|
-
|
21
|
-
|
39
|
+
returns all or a named usergroup.
|
40
|
+
|
41
|
+
the optional `params` is an `Hash` with following Parameters:
|
42
|
+
|
43
|
+
| Parameter | Type | Example | Description
|
44
|
+
| :-------------------- | :-----: | :----- | :-----------
|
45
|
+
| `user_group` | String | `foo` | Usergroup they will be listed
|
46
|
+
|
47
|
+
The result are an `Hash`
|
22
48
|
|
23
|
-
#### Example
|
24
|
-
@icinga.usergroups(user_group: 'icingaadmins')
|
25
49
|
|
26
50
|
### list all usergroups
|
27
51
|
usergroups
|
@@ -30,8 +54,22 @@
|
|
30
54
|
@icinga.usergroups
|
31
55
|
|
32
56
|
|
33
|
-
|
34
|
-
|
57
|
+
### list named usergroup
|
58
|
+
usergroups( params )
|
59
|
+
|
60
|
+
#### Example
|
61
|
+
@icinga.usergroups(user_group: 'icingaadmins')
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
## <a name="usergroup-exists"></a>*exists_usergroup?( user_group )*
|
66
|
+
|
67
|
+
check if the Usergroup exists
|
68
|
+
|
69
|
+
`params` is an `String` with the Usergroupname.
|
70
|
+
|
71
|
+
The result are an `Boolean`
|
35
72
|
|
36
73
|
### Example
|
74
|
+
|
37
75
|
@icinga.exists_usergroup?('icingaadmins')
|
data/doc/users.md
CHANGED
@@ -1,9 +1,24 @@
|
|
1
1
|
# Icinga2 - Users
|
2
2
|
|
3
|
-
## <a name="add-user"></a
|
4
|
-
|
3
|
+
## <a name="add-user"></a>*add_user( params )*
|
4
|
+
|
5
|
+
creates an Icinga2 User.
|
6
|
+
|
7
|
+
`params` are an `Hash` with following Parameters:
|
8
|
+
|
9
|
+
| Parameter | Type | Example | Description
|
10
|
+
| :-------------------- | :-----: | :----- | :-----------
|
11
|
+
| `user_name` | String | `foo` | User they will be created
|
12
|
+
| `display_name` | String | `User Foo` | the displayed Name
|
13
|
+
| `email` | String | `foo@bar.tld` | the Email for this Users
|
14
|
+
| `pager` | String | `+49 000 000000` | an optional Pager Number
|
15
|
+
| `enable_notifications` | Bool | `true` | enable notifications for this user (default: **false**)
|
16
|
+
| `groups` | Array | `['icingaadmins','dba']` | a hash with (existing!) groups
|
17
|
+
|
18
|
+
The result are an `Hash`
|
5
19
|
|
6
20
|
### Example
|
21
|
+
|
7
22
|
params = {
|
8
23
|
user_name: 'foo',
|
9
24
|
display_name: 'FOO',
|
@@ -11,29 +26,65 @@
|
|
11
26
|
pager: '0000',
|
12
27
|
groups: ['icingaadmins']
|
13
28
|
}
|
14
|
-
@icinga.add_user( params )
|
29
|
+
puts @icinga.add_user( params )
|
30
|
+
{"code"=>200, "name"=>nil, "status"=>"Object was created"}
|
31
|
+
|
32
|
+
|
33
|
+
## <a name="delete-user"></a>*delete_user( params )*
|
15
34
|
|
35
|
+
delete an Icinga2 User.
|
16
36
|
|
17
|
-
|
18
|
-
|
37
|
+
`params` is an `Hash` with following Parameters:
|
38
|
+
|
39
|
+
| Parameter | Type | Example | Description
|
40
|
+
| :-------------------- | :-----: | :----- | :-----------
|
41
|
+
| `user_name` | String | `foo` | User they will be deleted
|
42
|
+
|
43
|
+
The result are an `Hash`
|
19
44
|
|
20
45
|
### Example
|
21
|
-
@icinga.delete_user(user_name: 'foo')
|
22
46
|
|
47
|
+
puts @icinga.delete_user(user_name: 'foo')
|
48
|
+
{"code"=>200, "name"=>"foo", "status"=>"Object was deleted."}
|
23
49
|
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
50
|
+
|
51
|
+
## <a name="list-users"></a>*users* or *users( params )*
|
52
|
+
|
53
|
+
returns all or a named user.
|
54
|
+
|
55
|
+
the optional `params` is an `Hash` with following Parameters:
|
56
|
+
|
57
|
+
| Parameter | Type | Example | Description
|
58
|
+
| :-------------------- | :-----: | :----- | :-----------
|
59
|
+
| `user_name` | String | `foo` | User they will be listed
|
60
|
+
|
61
|
+
The result are an `Hash`
|
29
62
|
|
30
63
|
### list all users
|
31
64
|
users
|
65
|
+
|
32
66
|
#### Example
|
33
67
|
@icinga.users
|
68
|
+
{"attrs"=>{"__name"=>"icingaadmin", "active"=>true, "display_name"=>"Icinga 2 Admin", "email"=>"icinga@localhost", "enable_notifications"=>true, "groups"=>["icingaadmins"], "ha_mode"=>0.0, "last_notification"=>0.0, "name"=>"icingaadmin", "original_attributes"=>nil, "package"=>"_etc", "pager"=>"", "paused"=>false, "period"=>"", "source_location"=>{"first_column"=>1.0, "first_line"=>6.0, "last_column"=>25.0, "last_line"=>6.0, "path"=>"/etc/icinga2/conf.d/users.conf"}, "states"=>nil, "templates"=>["icingaadmin", "generic-user"], "type"=>"User", "types"=>nil, "vars"=>nil, "version"=>0.0, "zone"=>""}, "joins"=>{}, "meta"=>{}, "name"=>"icingaadmin", "type"=>"User"}
|
69
|
+
|
70
|
+
### list named user
|
71
|
+
users( params )
|
34
72
|
|
73
|
+
#### Example
|
74
|
+
@icinga.users(user_name: 'foo')
|
75
|
+
{"attrs"=>{"__name"=>"foo", "active"=>true, "display_name"=>"FOO", "email"=>"foo@bar.com", "enable_notifications"=>false, "groups"=>["icingaadmins"], "ha_mode"=>0.0, "last_notification"=>0.0, "name"=>"foo", "original_attributes"=>nil, "package"=>"_api", "pager"=>"0000", "paused"=>false, "period"=>"", "source_location"=>{"first_column"=>0.0, "first_line"=>1.0, "last_column"=>16.0, "last_line"=>1.0, "path"=>"/var/lib/icinga2/api/packages/_api/icinga2-master.matrix.lan-1507365860-1/conf.d/users/foo.conf"}, "states"=>nil, "templates"=>["foo"], "type"=>"User", "types"=>nil, "vars"=>nil, "version"=>1507609817.587105, "zone"=>"icinga2-master.matrix.lan"}, "joins"=>{}, "meta"=>{}, "name"=>"foo", "type"=>"User"}
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
## <a name="user-exists"></a>*exists_user?( params )*
|
35
80
|
|
36
|
-
|
81
|
+
check if an User exists.
|
82
|
+
|
83
|
+
`params` is an `String` with the Username.
|
84
|
+
|
85
|
+
The result are an `Boolean`
|
37
86
|
|
38
87
|
### Example
|
39
|
-
|
88
|
+
|
89
|
+
puts @icinga.exists_user?('icingaadmin')
|
90
|
+
true
|
data/examples/_blank.rb
ADDED
@@ -0,0 +1,72 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
3
|
+
#
|
4
|
+
# 07.10.2017 - Bodo Schulz
|
5
|
+
#
|
6
|
+
#
|
7
|
+
# Examples for Hostgroups
|
8
|
+
|
9
|
+
# -----------------------------------------------------------------------------
|
10
|
+
|
11
|
+
require_relative '../lib/icinga2'
|
12
|
+
|
13
|
+
# -----------------------------------------------------------------------------
|
14
|
+
|
15
|
+
icinga_host = ENV.fetch( 'ICINGA_HOST' , 'icinga2' )
|
16
|
+
icinga_api_port = ENV.fetch( 'ICINGA_API_PORT' , 5665 )
|
17
|
+
icinga_api_user = ENV.fetch( 'ICINGA_API_USER' , 'admin' )
|
18
|
+
icinga_api_pass = ENV.fetch( 'ICINGA_API_PASSWORD' , nil )
|
19
|
+
icinga_api_pki_path = ENV.fetch( 'ICINGA_API_PKI_PATH' , '/etc/icinga2' )
|
20
|
+
icinga_api_node_name = ENV.fetch( 'ICINGA_API_NODE_NAME' , nil )
|
21
|
+
icinga_cluster = ENV.fetch( 'ICINGA_CLUSTER' , false )
|
22
|
+
icinga_satellite = ENV.fetch( 'ICINGA_CLUSTER_SATELLITE', nil )
|
23
|
+
|
24
|
+
|
25
|
+
# convert string to bool
|
26
|
+
icinga_cluster = icinga_cluster.to_s.eql?('true') ? true : false
|
27
|
+
|
28
|
+
config = {
|
29
|
+
icinga: {
|
30
|
+
host: icinga_host,
|
31
|
+
api: {
|
32
|
+
port: icinga_api_port,
|
33
|
+
user: icinga_api_user,
|
34
|
+
password: icinga_api_pass,
|
35
|
+
pki_path: icinga_api_pki_path,
|
36
|
+
node_name: icinga_api_node_name
|
37
|
+
},
|
38
|
+
cluster: icinga_cluster,
|
39
|
+
satellite: icinga_satellite
|
40
|
+
}
|
41
|
+
}
|
42
|
+
|
43
|
+
# ---------------------------------------------------------------------------------------
|
44
|
+
|
45
|
+
i = Icinga2::Client.new( config )
|
46
|
+
|
47
|
+
unless( i.nil? )
|
48
|
+
|
49
|
+
# run tests ...
|
50
|
+
#
|
51
|
+
#
|
52
|
+
|
53
|
+
begin
|
54
|
+
|
55
|
+
puts ' ------------------------------------------------------------- '
|
56
|
+
puts ''
|
57
|
+
|
58
|
+
|
59
|
+
|
60
|
+
puts ' ------------------------------------------------------------- '
|
61
|
+
puts ''
|
62
|
+
|
63
|
+
rescue => e
|
64
|
+
$stderr.puts( e )
|
65
|
+
$stderr.puts( e.backtrace.join("\n") )
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
|
70
|
+
# -----------------------------------------------------------------------------
|
71
|
+
|
72
|
+
# EOF
|
@@ -0,0 +1,79 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
3
|
+
#
|
4
|
+
# 07.10.2017 - Bodo Schulz
|
5
|
+
#
|
6
|
+
#
|
7
|
+
# Examples for Hostgroups
|
8
|
+
|
9
|
+
# -----------------------------------------------------------------------------
|
10
|
+
|
11
|
+
require_relative '../lib/icinga2'
|
12
|
+
|
13
|
+
# -----------------------------------------------------------------------------
|
14
|
+
|
15
|
+
icinga_host = ENV.fetch( 'ICINGA_HOST' , 'icinga2' )
|
16
|
+
icinga_api_port = ENV.fetch( 'ICINGA_API_PORT' , 5665 )
|
17
|
+
icinga_api_user = ENV.fetch( 'ICINGA_API_USER' , 'admin' )
|
18
|
+
icinga_api_pass = ENV.fetch( 'ICINGA_API_PASSWORD' , nil )
|
19
|
+
icinga_api_pki_path = ENV.fetch( 'ICINGA_API_PKI_PATH' , '/etc/icinga2' )
|
20
|
+
icinga_api_node_name = ENV.fetch( 'ICINGA_API_NODE_NAME' , nil )
|
21
|
+
icinga_cluster = ENV.fetch( 'ICINGA_CLUSTER' , false )
|
22
|
+
icinga_satellite = ENV.fetch( 'ICINGA_CLUSTER_SATELLITE', nil )
|
23
|
+
|
24
|
+
|
25
|
+
# convert string to bool
|
26
|
+
icinga_cluster = icinga_cluster.to_s.eql?('true') ? true : false
|
27
|
+
|
28
|
+
config = {
|
29
|
+
icinga: {
|
30
|
+
host: icinga_host,
|
31
|
+
api: {
|
32
|
+
port: icinga_api_port,
|
33
|
+
user: icinga_api_user,
|
34
|
+
password: icinga_api_pass,
|
35
|
+
pki_path: icinga_api_pki_path,
|
36
|
+
node_name: icinga_api_node_name
|
37
|
+
},
|
38
|
+
cluster: icinga_cluster,
|
39
|
+
satellite: icinga_satellite
|
40
|
+
}
|
41
|
+
}
|
42
|
+
|
43
|
+
# ---------------------------------------------------------------------------------------
|
44
|
+
|
45
|
+
i = Icinga2::Client.new( config )
|
46
|
+
|
47
|
+
unless( i.nil? )
|
48
|
+
|
49
|
+
# run tests ...
|
50
|
+
#
|
51
|
+
#
|
52
|
+
|
53
|
+
begin
|
54
|
+
|
55
|
+
puts ' ------------------------------------------------------------- '
|
56
|
+
puts ''
|
57
|
+
|
58
|
+
# puts ' ==> DOWNTIMES'
|
59
|
+
# puts ''
|
60
|
+
# puts 'add Downtime \'test\''
|
61
|
+
# puts i.add_downtime( name: 'test', type: 'service', host: 'foo', comment: 'test downtime', author: 'icingaadmin', start_time: Time.now.to_i, end_time: Time.now.to_i + 20 )
|
62
|
+
# puts ''
|
63
|
+
# puts 'list all Downtimes'
|
64
|
+
# puts i.downtimes
|
65
|
+
# puts ''
|
66
|
+
|
67
|
+
puts ' ------------------------------------------------------------- '
|
68
|
+
puts ''
|
69
|
+
|
70
|
+
rescue => e
|
71
|
+
$stderr.puts( e )
|
72
|
+
$stderr.puts( e.backtrace.join("\n") )
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
|
77
|
+
# -----------------------------------------------------------------------------
|
78
|
+
|
79
|
+
# EOF
|
@@ -0,0 +1,91 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
3
|
+
#
|
4
|
+
# 07.10.2017 - Bodo Schulz
|
5
|
+
#
|
6
|
+
#
|
7
|
+
# Examples for Hostgroups
|
8
|
+
|
9
|
+
# -----------------------------------------------------------------------------
|
10
|
+
|
11
|
+
require_relative '../lib/icinga2'
|
12
|
+
|
13
|
+
# -----------------------------------------------------------------------------
|
14
|
+
|
15
|
+
icinga_host = ENV.fetch( 'ICINGA_HOST' , 'icinga2' )
|
16
|
+
icinga_api_port = ENV.fetch( 'ICINGA_API_PORT' , 5665 )
|
17
|
+
icinga_api_user = ENV.fetch( 'ICINGA_API_USER' , 'admin' )
|
18
|
+
icinga_api_pass = ENV.fetch( 'ICINGA_API_PASSWORD' , nil )
|
19
|
+
icinga_api_pki_path = ENV.fetch( 'ICINGA_API_PKI_PATH' , '/etc/icinga2' )
|
20
|
+
icinga_api_node_name = ENV.fetch( 'ICINGA_API_NODE_NAME' , nil )
|
21
|
+
icinga_cluster = ENV.fetch( 'ICINGA_CLUSTER' , false )
|
22
|
+
icinga_satellite = ENV.fetch( 'ICINGA_CLUSTER_SATELLITE', nil )
|
23
|
+
|
24
|
+
|
25
|
+
# convert string to bool
|
26
|
+
icinga_cluster = icinga_cluster.to_s.eql?('true') ? true : false
|
27
|
+
|
28
|
+
config = {
|
29
|
+
icinga: {
|
30
|
+
host: icinga_host,
|
31
|
+
api: {
|
32
|
+
port: icinga_api_port,
|
33
|
+
user: icinga_api_user,
|
34
|
+
password: icinga_api_pass,
|
35
|
+
pki_path: icinga_api_pki_path,
|
36
|
+
node_name: icinga_api_node_name
|
37
|
+
},
|
38
|
+
cluster: icinga_cluster,
|
39
|
+
satellite: icinga_satellite
|
40
|
+
}
|
41
|
+
}
|
42
|
+
|
43
|
+
# ---------------------------------------------------------------------------------------
|
44
|
+
|
45
|
+
i = Icinga2::Client.new( config )
|
46
|
+
|
47
|
+
unless( i.nil? )
|
48
|
+
|
49
|
+
# run tests ...
|
50
|
+
#
|
51
|
+
#
|
52
|
+
|
53
|
+
begin
|
54
|
+
|
55
|
+
puts ' ------------------------------------------------------------- '
|
56
|
+
puts ''
|
57
|
+
|
58
|
+
puts '= check if Hostgroup \'linux-servers\' exists'
|
59
|
+
puts i.exists_hostgroup?( 'linux-servers' ) ? 'true' : 'false'
|
60
|
+
puts ''
|
61
|
+
puts '= check if Hostgroup \'docker\' exists'
|
62
|
+
puts i.exists_hostgroup?( 'docker' ) ? 'true' : 'false'
|
63
|
+
puts ''
|
64
|
+
puts '= list named Hostgroup \'linux-servers\''
|
65
|
+
puts i.hostgroups( host_group: 'linux-servers' )
|
66
|
+
puts ''
|
67
|
+
puts '= list named Hostgroup \'foo\''
|
68
|
+
puts i.hostgroups( host_group: 'foo' )
|
69
|
+
puts ''
|
70
|
+
puts '= list all Hostgroups'
|
71
|
+
puts i.hostgroups
|
72
|
+
puts ''
|
73
|
+
puts '= add hostgroup \'foo\''
|
74
|
+
puts i.add_hostgroup( host_group: 'foo', display_name: 'FOO' )
|
75
|
+
puts ''
|
76
|
+
puts '= delete Hostgroup \'foo\''
|
77
|
+
puts i.delete_hostgroup( host_group: 'foo' )
|
78
|
+
|
79
|
+
puts ' ------------------------------------------------------------- '
|
80
|
+
puts ''
|
81
|
+
|
82
|
+
rescue => e
|
83
|
+
$stderr.puts( e )
|
84
|
+
$stderr.puts( e.backtrace.join("\n") )
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
|
89
|
+
# -----------------------------------------------------------------------------
|
90
|
+
|
91
|
+
# EOF
|