title: puppet epp conditional always evaluating to true
body: <p>I'm using (open source) puppet 3.8.5 with future parser.</p>
  
  <p>In an epp file, I say this:</p>
  
  <pre><code>&lt;%= $telegraf_mysql %&gt;
  &lt;%= $telegraf_mysql == true %&gt;
  &lt;% if $telegraf_mysql == true { -%&gt;
  yes, my sql
  &lt;% } else { -%&gt;
  no
  &lt;% } -%&gt;
  </code></pre>
  
  <p>If I set <code>$telegraf_mysql</code> to false, I see</p>
  
  <pre><code>false
  false
  no
  </code></pre>
  
  <p>But if I set <code>$telegraf_mysql</code> to true, I see</p>
  
  <pre><code>true
  false
  no
  </code></pre>
  
  <p>where I would have expected to see</p>
  
  <pre><code>true
  true
  yes, my sql
  </code></pre>
  
  <p>Any pointers?  Did I misunderstand the syntax?  Was the syntax different in 3.8 with future than in 4 but the docs I read didn't reflect that?</p>
  
  <h2>Update</h2>
  
  <p>The value is being set in hiera thus:</p>
  
  <pre><code>telegraf:
    monitor_mysql: false
  </code></pre>
  
  <p>and then in puppet (.pp file) thus:</p>
  
  <pre><code>$telegraf = hiera('telegraf')
  $telegraf_mysql = $telegraf['monitor_mysql']
  </code></pre>