(MODULES-5113) Make line support Sensitive
authorReid Vandewiele <reid@puppetlabs.com>
Wed, 28 Jun 2017 20:37:55 +0000 (13:37 -0700)
committerReid Vandewiele <reid@puppetlabs.com>
Wed, 28 Jun 2017 20:37:55 +0000 (13:37 -0700)
Do this by making it a property. The idea is to get rid of the warning
that appears when a Sensitive value is passed to the line attribute.

lib/puppet/type/file_line.rb

index e82b246..3d691bf 100644 (file)
@@ -104,8 +104,16 @@ Puppet::Type.newtype(:file_line) do
          ' This is also takes a regex.'
   end
 
-  newparam(:line) do
+  # The line property never changes; the type only ever performs a create() or
+  # destroy(). line is a property in order to allow it to correctly handle
+  # Sensitive type values. Because it is a property which will never change,
+  # it should never be considered out of sync.
+  newproperty(:line) do
     desc 'The line to be appended to the file or used to replace matches found by the match attribute.'
+
+    def retrieve
+      @resource[:line]
+    end
   end
 
   newparam(:path) do