6fd83b9631
Adds function for transforming SSL certificate/key content values into path values with creating the appropriate files. Change-Id: Idaee3c5fcc90f8107eac7c2ada94c1e5180abce5
40 lines
1.1 KiB
Ruby
40 lines
1.1 KiB
Ruby
# 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",
|
|
# ... },
|
|
# ...
|
|
# ]
|
|
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
|