Explorar o código

Add globalconf defined type

DarkMorford %!s(int64=6) %!d(string=hai) anos
pai
achega
823215efdc
Modificáronse 2 ficheiros con 49 adicións e 0 borrados
  1. 33 0
      manifests/server/globalconf.pp
  2. 16 0
      spec/defines/server/globalconf_spec.rb

+ 33 - 0
manifests/server/globalconf.pp

@@ -0,0 +1,33 @@
+# A description of what this defined type does
+#
+# @summary A short summary of the purpose of this defined type.
+#
+# @example
+#   openldap::server::globalconf { 'namevar': }
+define openldap::server::globalconf(
+  $value,
+  $ensure = present,
+) {
+  # Ensure the main server class has been defined
+  if !defined(Class['openldap::server']) {
+    fail 'Class openldap::server not defined'
+  }
+
+  # Set processing order
+  if $openldap::server::provider == 'olc' {
+    Class['openldap::server::service']
+    -> Openldap::Server::Globalconf[$title]
+    -> Class['openldap::server']
+  } else {
+    Openldap::Server::Globalconf[$title]
+    ~> Class['openldap::server::service']
+  }
+
+  # Create an instance of the Ruby type
+  openldap_global_conf { $name:
+    ensure   => $ensure,
+    provider => $openldap::server::provider,
+    target   => $openldap::server::config_file,
+    value    => $value,
+  }
+}

+ 16 - 0
spec/defines/server/globalconf_spec.rb

@@ -0,0 +1,16 @@
+require 'spec_helper'
+
+describe 'openldap::server::globalconf' do
+  let(:title) { 'namevar' }
+  let(:params) do
+    {}
+  end
+
+  on_supported_os.each do |os, os_facts|
+    context "on #{os}" do
+      let(:facts) { os_facts }
+
+      it { is_expected.to compile }
+    end
+  end
+end