Resource Type: simp_file_line

Defined in:
lib/puppet/type/simp_file_line.rb
Providers:
ruby

Overview

Ensures that a given line is contained within a file. The implementation matches the full line, including whitespace at the beginning and end. If the line is not contained in the given file, Puppet will add the line to ensure the desired state. Multiple resources may be declared to manage multiple lines in the same file.

Example:

simp_file_line { 'sudo_rule':
  path => '/etc/sudoers',
  line => '%sudo ALL=(ALL) ALL',
}
simp_file_line { 'sudo_rule_nopw':
  path => '/etc/sudoers',
  line => '%sudonopw ALL=(ALL) NOPASSWD: ALL',
}

In this example, Puppet will ensure both of the specified lines are contained in the file /etc/sudoers.

This is an enhancement to the stdlib file_line that allows for the following additional options:

* prepend     => [binary] Prepend the line instead of appending it if not
                 using 'match'
* deconflict  => [binary] Do not execute if there is a file resource that
                 already manipulates the content of the target file.

Properties

  • ensure (defaults to: present)

    Whether the line should be added or removed

    Supported values:
    • present
    • absent

Parameters

  • deconflict (defaults to: false)

    Do not execute this type if there is a file type that already manages the content of the target file unless $replace == false

    Supported values:
    • true
    • false
  • line

    The line to be added to the file located by the path parameter.

  • match

    An optional regular expression to run against existing lines in the file. If a match is found, we replace that line rather than adding a new line.

  • name (namevar)

    An arbitrary name used as the identity of the resource.

  • path

    The file Puppet will ensure contains the line specified by the line parameter.

  • prepend (defaults to: false)

    Prepend the line to the file if not using match

    Supported values:
    • true
    • false
  • provider

    The specific backend to use for this ‘simp_file_line` resource. You will seldom need to specify this — Puppet will usually discover the appropriate provider for your platform.