Commit graph

18 commits

Author SHA1 Message Date
Dmitry Ilyin
357ecf8e8e Add insert_type and subsetting_key_val_separator
* Insert_type and insert value can define where
  a new subsetting element will be placed.
* subsetting_key_val_separator allows you to have
  a separator character between a subsetting name
  and its value.
* Refactor ini_subsetting and its spec.
2016-07-01 13:49:10 +03:00
Alan Petersen
ede74d1a67 Added refreshonly Parameter
Working with a recent customer, they had a product whose ini files have timestamps in them associated with particular settings. When those settings are updated, it is expected that the timestamp be updated as well. To do this with ini_setting, we need it to respond to refresh events and have a way of only updating a value if a refresh event occurs. Hence the little modification to make this possible.
2016-05-16 16:09:53 +01:00
Hunter Haugen
072accdb1e (MODULES-3145) Cast values to strings before passing to provider
Puppet gets confused when false values get passed to the provider
because of
https://github.com/puppetlabs/puppet/blob/4.4.0/lib/puppet/property.rb#L247-L248
so lets just cast them all to strings; ini files are untyped anyway.
2016-03-17 15:39:58 -07:00
Stepan Stipl
4b8336ad23 Convert boolean to :true & :false PR #152 2016-01-15 20:47:07 +00:00
Stepan Stipl
4853927093 Implemented show_diff parameter, with similar behaviour as show_diff on
type file

show_diff => true (default) prints diff to logs
show_diff => md5 prints only md5 hashes instead of actual values
show_diff => false redacts any information about values

Global show_diff config takes priotiry over this one.
2016-01-15 20:47:07 +00:00
Travis Fields
48965fb01c (MODULES-1908) Munge the setting to ensure we always strip the whitespace 2015-08-03 09:41:11 -07:00
Morgan Haskel
2ab47100c7 MODULES-2212 - Add use_exact_match parameter for subsettings
There's no way to distinguish between a subsetting with a value and a
subsetting with no value, so add a parameter to allow that to be
specified.
2015-07-31 16:11:27 -07:00
WhatsARanjit
b0fb47d4ec Added ability to specify section_prefix and section_suffix to accomodate files with sections that don't follow [section_name] format. AIX for example uses section_name: format. 2015-04-15 03:56:08 -04:00
Chris Barker
af78845467 Adds default values for section
Our documentation says to use "" for section if you want top of file
global settings, this defaults to that assumption if the user doesn't
provide a section parameter at all.
2015-03-30 13:27:25 -07:00
Igor Galić
3288d415e9 WIP: Allow changing key value separator beyond indentation
We have many ini-style configuration files which use : as key value
separator. We'd like to be able to manage them with ini_setting as well.
This here is a naïve first attempt in that direction.

Please note that despite the fact that this *should* match, it's failing
unit tests.. This is a work in progress.
2014-12-18 10:22:20 -08:00
Ashley Penney
a5b34eac5a Quick typo fix. 2014-05-16 18:57:55 +02:00
Michal Růžička
560bbc622f Add quote_char parameter to the ini_subsetting resource type
The quote_char is used to quote the entire setting when it is modified
as a result of changes to some subsettings.

For an example let's assume we have a setting of this form:
  JAVA_ARGS=-Xmx256m
and we want to add the '-Xms' parameter to the setting, for that purpose
we define a resource like this:
  ini_subsetting { '-Xms':
    ensure     => present,
    path       => '/some/config/file',
    section    => '',
    setting    => 'JAVA_ARGS',
    subsetting => '-Xms'
    value      => '256m',
  }
which results into the following setting:
  JAVA_ARGS=-Xmx256m -Xms256m
But this is not what we intended - if this setting is read by the bash
shell the '-Xms256m' parameter is interpreted as a command to be
executed rather than a value to be assigned to the JAVA_ARGS variable.

To fix this problem the quote_char parameter was added to the
ini_subsetting resource type, and we'll take advantage of it to fix the
problem in the above example like so:
  ini_subsetting { '-Xms':
    ensure     => present,
    path       => '/some/config/file',
    section    => '',
    setting    => 'JAVA_ARGS',
    quote_char => '"',
    subsetting => '-Xms'
    value      => '256m',
  }
which will result into:
  JAVA_ARGS="-Xmx256m -Xms256m"
which is what we intended.
2014-05-07 17:04:43 +02:00
Karel Brezina
4351d8b9c8 Added 'ini_subsetting' custom resource type 2013-03-25 11:34:37 +01:00
Dan Bode
cbc90d3834 Make value a property
This commit converts value to a property so that it
can be managed and modified when a file already has
a value set.

It was previously treating the line creation state
the same as the update case, which is not in
alignment with Puppet's model.
2012-10-02 18:53:53 -07:00
Chris Price
e527908b7c Add validation for key_val_separator
For now, the key_val_separator is required to contain
exactly one '=' character.  This commit simply validates
that that is the case.
2012-09-20 11:35:45 -07:00
Chris Price
8d1fdc5c29 Allow overriding separator string between key/val pairs
This introduces a new parameter, 'key_val_separator', which
can be set in order to override the string that is used
as a separator between the key/value pair of a setting line.
The default is ' = ', but you could set the param to '=' if
you don't want to include whitespace in your settings file.
2012-09-19 15:42:16 -07:00
Chris Price
9c76b6af12 First (basic) working version of ini_setting provider 2012-07-28 21:59:54 -07:00
Chris Price
91273a5a2b Started writing some tests, work has been punted 2012-06-14 11:42:49 -07:00