> On 19 Jul 2018, at 21:19, Henrik Lindberg <[email protected]> wrote:
>
>> On 2018-07-19 17:15, Helmut Schneider wrote:
>> Hi,
>> ---
>> profiles:
>> vpn:
>> openvpn:
>> defaults:
>> client:
>> dev: 'tun'
>> proto: 'udp'
>> resolv-retry: 'infinite'
>> nobind:
>> user: 'nobody'
>> group: 'nogroup'
>> persist-key:
>> persist-tun:
>> ca: '/etc/openvpn/ca-charlieroot.de.crt'
>> cert: '/etc/openvpn/mail.helmut-ritter.de.crt'
>> key: '/etc/openvpn/mail.helmut-ritter.de.key'
>> ns-cert-type: 'server'
>> # OpenVPN <= 2.3
>> comp-lzo: 'yes'
>> # OpenVPN > 2.3
>> # compress: 'lz4'
>> log-append: '/var/log/openvpn.log'
>> verb: '4'
>> script-security: '2'
>> up: '/etc/openvpn/update-resolv-conf'
>> The eep is called by
>> content => epp("openvpn/etc/openvpn/config.epp", { openvpnConf =>
>> $openvpnConf, openvpnMode => $openvpnMode, instance => $instance }),
>> The epp:
>> <%- | Hash $openvpnConf, String $openvpnMode, String $instance | -%>
>> <% ({
>> 'Mode' => [
>> "$openvpnMode",
>> ],
>> 'Connection' => [
>> 'remote',
>> 'proto',
>> 'dev',
>> 'persist-tun',
>> 'nobind',
>> 'resolv-retry',
>> 'compress',
>> 'comp-lzo',
>> ],
>> 'Privileges' => [
>> 'user',
>> 'group',
>> 'persist-key',
>> ],
>> 'Authentication' => [
>> 'cert',
>> 'key',
>> 'ca',
>> 'ns-cert-type',
>> ],
>> 'Logging' => [
>> 'verb',
>> 'log-append',
>> ],
>> 'Misc' => [
>> 'script-security',
>> 'plugin',
>> 'up',
>> 'down',
>> ],
>> }).each |$category, $parameters| { -%>
>> ### <%= $category %> ###
>> <%#= $openvpnConf %>
>> <% $parameters.each |$parameter| { -%>
>> <% if $parameter == 'remote' { -%>
>> <%= $parameter %> <%= $openvpnConf['server'] %> <%=
>> $openvpnConf['port'] %>
>> <% } elsif $openvpnConf[$parameter] { -%>
>> <%= $parameter %> <%= regsubst($openvpnConf[$parameter],
>> '__INSTANCE__', $instance) %>
>> <% } elsif defined($openvpnConf[$parameter]) { -%>
>> <%= $parameter %>
>> <% } -%>
>> <% } %>
>> <% } -%>
>> The problem: compress does not exist in the hiera but is printed in the
>> epp. How can I test if the key "compress" exists in the
>> $openvpnConf-Hash?
>
> You can simply check if the hash has an Undef value for that key.
>
> $openvpnConf['compress'] == undef
Another option:
If “compress” in $openvpnConf { }
>
> The stdlib module has a function named has_key() that you can use which
> checks if the key is present and returns true even if value is set to undef.
> If it really does not matter to you if key is set to undef or simply missing
> it is enough to check if you get an undef value back.
>
> If you are asking how you lookup a key to see if it is in hiera - call
> the lookup() function and use an undef default - then check if value was
> undef.
>
> Hope that helps.
> - henrik
>
>> Thank you.
>
>
> --
>
> Visit my Blog "Puppet on the Edge"
> http://puppet-on-the-edge.blogspot.se/
>
> --
> You received this message because you are subscribed to the Google Groups
> "Puppet Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/puppet-users/piqkjf%24si1%241%40blaine.gmane.org.
> For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/puppet-users/3016CD28-FC20-49CB-B296-CFE7E74E4B5C%40devco.net.
For more options, visit https://groups.google.com/d/optout.