Skip to content

Commit 1a8808e

Browse files
authored
Merge pull request voxpupuli#572 from syseleven/feature/proper_require
Properly require zabbixapi gem
2 parents 09f50f8 + bfea868 commit 1a8808e

File tree

11 files changed

+30
-51
lines changed

11 files changed

+30
-51
lines changed

.sync.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,4 @@ Gemfile:
1616
- gem: 'fakefs'
1717
ruby-operator: '>='
1818
ruby-version: '2.3.0'
19+
- gem: 'zabbixapi'

Gemfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ group :test do
3131
gem 'parallel_tests', :require => false
3232
gem 'fakefs', '0.13.3', :require => false if RUBY_VERSION < '2.3.0'
3333
gem 'fakefs', :require => false if RUBY_VERSION >= '2.3.0'
34+
gem 'zabbixapi', :require => false
3435
end
3536

3637
group :development do

lib/puppet/feature/zabbixapi.rb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
require 'puppet/util/feature'
2+
3+
Puppet.features.add(:zabbixapi, libs: 'zabbixapi')

lib/puppet/provider/zabbix.rb

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,5 @@
11
# zabbix provider type for puppet
22
class Puppet::Provider::Zabbix < Puppet::Provider
3-
# Require the zabbixapi gem
4-
def self.require_zabbix
5-
require 'zabbixapi'
6-
end
7-
83
# Create the api connection
94
def self.create_connection(zabbix_url, zabbix_user, zabbix_pass, apache_use_ssl)
105
protocol = apache_use_ssl ? 'https' : 'http'
@@ -37,7 +32,6 @@ def self.check_host(host, zabbix_url, zabbix_user, zabbix_pass, apache_use_ssl)
3732

3833
# Check if proxy exists. When error raised, return false.
3934
def self.check_proxy(host, zabbix_url, zabbix_user, zabbix_pass, apache_use_ssl)
40-
require_zabbix
4135
zbx = create_connection(zabbix_url, zabbix_user, zabbix_pass, apache_use_ssl)
4236
zbx.proxies.get_id(host: host)
4337
rescue Puppet::ExecutionFailure

lib/puppet/provider/zabbix_application/ruby.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'zabbix'))
1+
require_relative '../zabbix'
22
Puppet::Type.type(:zabbix_application).provide(:ruby, parent: Puppet::Provider::Zabbix) do
3-
def connect
4-
self.class.require_zabbix if @resource[:zabbix_url] != ''
3+
confine feature: :zabbixapi
54

5+
def connect
66
@zbx ||= self.class.create_connection(@resource[:zabbix_url], @resource[:zabbix_user], @resource[:zabbix_pass], @resource[:apache_use_ssl])
77
@zbx
88
end

lib/puppet/provider/zabbix_host/ruby.rb

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
1-
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'zabbix'))
1+
require_relative '../zabbix'
22
Puppet::Type.type(:zabbix_host).provide(:ruby, parent: Puppet::Provider::Zabbix) do
3-
def create
4-
zabbix_url = @resource[:zabbix_url]
5-
6-
self.class.require_zabbix if zabbix_url != ''
3+
confine feature: :zabbixapi
74

5+
def create
86
# Set some vars
97
host = @resource[:hostname]
108
ipaddress = @resource[:ipaddress]
@@ -77,11 +75,8 @@ def create
7775
end
7876

7977
def exists?
80-
zabbix_url = @resource[:zabbix_url]
81-
82-
self.class.require_zabbix if zabbix_url != ''
83-
8478
host = @resource[:hostname]
79+
zabbix_url = @resource[:zabbix_url]
8580
zabbix_user = @resource[:zabbix_user]
8681
zabbix_pass = @resource[:zabbix_pass]
8782
apache_use_ssl = @resource[:apache_use_ssl]
@@ -108,11 +103,8 @@ def exists?
108103
end
109104

110105
def destroy
111-
zabbix_url = @resource[:zabbix_url]
112-
113-
self.class.require_zabbix if zabbix_url != ''
114-
115106
host = @resource[:hostname]
107+
zabbix_url = @resource[:zabbix_url]
116108
zabbix_user = @resource[:zabbix_user]
117109
zabbix_pass = @resource[:zabbix_pass]
118110
apache_use_ssl = @resource[:apache_use_ssl]

lib/puppet/provider/zabbix_hostgroup/ruby.rb

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'zabbix'))
1+
require_relative '../zabbix'
22
Puppet::Type.type(:zabbix_hostgroup).provide(:ruby, parent: Puppet::Provider::Zabbix) do
33
def connect
4-
self.class.require_zabbix if @resource[:zabbix_url] != ''
5-
64
@zbx ||= self.class.create_connection(@resource[:zabbix_url], @resource[:zabbix_user], @resource[:zabbix_pass], @resource[:apache_use_ssl])
75
@zbx
86
end

lib/puppet/provider/zabbix_proxy/ruby.rb

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,8 @@
11
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'zabbix'))
22
Puppet::Type.type(:zabbix_proxy).provide(:ruby, parent: Puppet::Provider::Zabbix) do
3-
def create
4-
zabbix_url = @resource[:zabbix_url]
5-
6-
# Check if we have an zabbix_url. If so, we are about
7-
# to run on the zabbix-server.
8-
self.class.require_zabbix if zabbix_url != ''
3+
confine feature: :zabbixapi
94

5+
def create
106
# Set some vars
117
host = @resource[:hostname]
128
ipaddress = @resource[:ipaddress]
@@ -17,6 +13,7 @@ def create
1713
use_ip = @resource[:use_ip]
1814
port = @resource[:port]
1915
templates = @resource[:templates]
16+
zabbix_url = @resource[:zabbix_url]
2017
zabbix_user = @resource[:zabbix_user]
2118
zabbix_pass = @resource[:zabbix_pass]
2219
apache_use_ssl = @resource[:apache_use_ssl]
@@ -50,11 +47,8 @@ def create
5047
end
5148

5249
def exists?
53-
zabbix_url = @resource[:zabbix_url]
54-
55-
self.class.require_zabbix if zabbix_url != ''
56-
5750
host = @resource[:hostname]
51+
zabbix_url = @resource[:zabbix_url]
5852
zabbix_user = @resource[:zabbix_user]
5953
zabbix_pass = @resource[:zabbix_pass]
6054
apache_use_ssl = @resource[:apache_use_ssl]

lib/puppet/provider/zabbix_template/ruby.rb

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'zabbix'))
1+
require_relative '../zabbix'
22
Puppet::Type.type(:zabbix_template).provide(:ruby, parent: Puppet::Provider::Zabbix) do
3+
confine feature: :zabbixapi
4+
35
def connect
4-
self.class.require_zabbix if @resource[:zabbix_url] != ''
56
@zbx ||= self.class.create_connection(@resource[:zabbix_url], @resource[:zabbix_user], @resource[:zabbix_pass], @resource[:apache_use_ssl])
67
@zbx
78
end

lib/puppet/provider/zabbix_template_host/ruby.rb

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'zabbix'))
1+
require_relative '../zabbix'
22
Puppet::Type.type(:zabbix_template_host).provide(:ruby, parent: Puppet::Provider::Zabbix) do
3+
confine feature: :zabbixapi
34
def template_name
45
@template_name ||= @resource[:name].split('@')[0]
56
end
@@ -19,8 +20,6 @@ def hostid
1920
end
2021

2122
def connect
22-
self.class.require_zabbix if @resource[:zabbix_url] != ''
23-
2423
@zbx ||= self.class.create_connection(@resource[:zabbix_url], @resource[:zabbix_user], @resource[:zabbix_pass], @resource[:apache_use_ssl])
2524
@zbx
2625
end
Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
1-
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'zabbix'))
1+
require_relative '../zabbix'
22
Puppet::Type.type(:zabbix_userparameters).provide(:ruby, parent: Puppet::Provider::Zabbix) do
3-
def create
4-
zabbix_url = @resource[:zabbix_url]
5-
6-
self.class.require_zabbix if zabbix_url != ''
3+
confine feature: :zabbixapi
74

5+
def create
86
host = @resource[:hostname]
97
template = @resource[:template]
8+
zabbix_url = @resource[:zabbix_url]
109
zabbix_user = @resource[:zabbix_user]
1110
zabbix_pass = @resource[:zabbix_pass]
1211
apache_use_ssl = @resource[:apache_use_ssl]
@@ -23,12 +22,9 @@ def create
2322
end
2423

2524
def exists?
26-
zabbix_url = @resource[:zabbix_url]
27-
28-
self.class.require_zabbix if zabbix_url != ''
29-
3025
host = @resource[:hostname]
3126
template = @resource[:template]
27+
zabbix_url = @resource[:zabbix_url]
3228
zabbix_user = @resource[:zabbix_user]
3329
zabbix_pass = @resource[:zabbix_pass]
3430
apache_use_ssl = @resource[:apache_use_ssl]
@@ -37,7 +33,7 @@ def exists?
3733
end
3834

3935
def destroy
40-
zabbix_url = @resource[:zabbix_url]
41-
self.class.require_zabbix if zabbix_url != ''
36+
# TODO: Implement?!
37+
true
4238
end
4339
end

0 commit comments

Comments
 (0)