Puppet Function: qdr_ssl_certificate

Defined in:
lib/puppet/functions/qdr_ssl_certificate.rb
Function type:
Ruby 4.x API

Overview

qdr_ssl_certificate(Array $ssl_profiles, String $cert_dir)Array

This adds to ssl profile hash a proper value of “caCertFile” key for “caCertFileContent” key.

Given:

ssl_profiles = [{"name": "test", "caCertFileContent": "cert content", ...}, ...]
cert_dir = "/etc/pki/tls/certs/"

Returns:

ssl_profiles = [
  {"name": "test",
   "caCertFileContent": "cert content",
   "caCertFile": "/etc/pki/tls/certs/CA_test.pem",
   ... },
  ...
]

Parameters:

  • ssl_profiles (Array)
  • cert_dir (String)

Returns:

  • (Array)


14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/puppet/functions/qdr_ssl_certificate.rb', line 14

Puppet::Functions.create_function(:qdr_ssl_certificate) do

  dispatch :qdr_ssl_certificate do
    param 'Array', :ssl_profiles
    param 'String', :cert_dir
    return_type 'Array'
  end

  def qdr_ssl_certificate(ssl_profiles, cert_dir)
    processed_profiles = Array.new
    ssl_profiles.each do |profile|
      if profile.key?("caCertFileContent")
        processed = profile.clone
        # create certificate path
        path = File.join(cert_dir, "CA_#{processed["name"]}.pem")
        # update profile
        processed["caCertFile"] = path
        processed_profiles.append(processed)
      else
        processed_profiles.append(profile)
      end
    end
    return processed_profiles
  end

end