summaryrefslogtreecommitdiff
path: root/lib/puppet
AgeCommit message (Collapse)Author
2015-10-13(MODULES-2421) improve description of file_lineDavid Schmitt
This mostly needed extraction of the existing doc strings from the type.
2015-09-28Check for numeric values as empty fails on thoseRoman Mueller
2015-09-21Fix backwards compatibility from #511Morgan Haskel
Maintain the old behavior in the case where the optional second parameter isn't passed. Also, adding arity is backwards incompatible since stdlib still supports 2.7, so remove that.
2015-09-17(MAINT) validate_re: Clarify docs and error messageDavid Schmitt
2015-09-14Clarify what an empty intersection looks like.Ben Ford
2015-09-14Merge pull request #523 from DavidS/modules-2516-is_aBryan Jen
(MODULES-2561) add is_a function
2015-09-14Merge pull request #511 from dmitryilyin/parseyaml_defaultBryan Jen
[MODULES-2462] Improve parseyaml function
2015-09-14(MODULES-2516) Adds an is_a() functionDavid Schmitt
The data type system is very hard to understand. Many people don't understand why type_of([1,2,3]) == Array will fail, but type_of([1,2,3]) <= Array passes. This does a simpler validation that doesn't rely on explicit data types. Instead, use $foo = [1,2,3] if $foo.is_a(Array) { notify { 'This is an array': } } This is based on code by Ben Ford <ben.ford@puppetlabs.com>. * Added acceptance tests * Added dispatch * Improved unit tests * Added docs to README
2015-09-04accept any case of boolean stringsCorey Osman
* previously the str2bool function did not accept 'TRUE' as a bool type. This causes the function to now accept TRUE, FALSE strings as a boolean type in order to be converted to a proper boolean. * This would also cause Y,N, YES, NO to be accepted as boolean types as well.
2015-09-02Merge pull request #513 from dmitryilyin/fetchDavid Schmitt
Add a new function "try_get_value"
2015-09-01Add a new function "try_get_value"Dmitry Ilyin
* Extracts a value from a deeply-nested data structure * Returns default if a value could not be extracted
2015-08-27Adds a convert_base function, which can convert numbers between basesfhats
Squashed, improved docs, updated error handling and unit tests by David S.
2015-08-25[MODULES-2462] Improve parseyaml functionDmitry Ilyin
* Add default value support Second argument will be returned if yaml cannot be parsed instead of false value * Update tests
2015-08-24(MODULE-2456) Modify union to accept more than two arraysJetroid
Add spec tests to test the new functionality: *Case for 3 arrays. *Case for 4 arrays. Modify README to note new functionality. This is for issue MODULE-2456, follow the precedent of MODULE-444. This change allows union to be much more useful, unioning many arrays in one line rather than in n lines. Additionally, as this is only added functionality, and does not affect the 2 array case that all modules currently using array are using, it should not affect any existing modules utilizing union. This is now useful, for example, for merging many arrays of resources (eg: packages.) to generate just one list with no duplicates, to avoid duplicate resource declarations.
2015-08-14(MODULES-2410) Add new functions dos2unix and unix2dosNigel Gibbs
2015-08-06allow `match` parameter to influence `ensure => absent` behavior.Johnson Earls
Split the `destroy` method of the file_type::ruby provider into two private methods: `handle_destroy_line` which is the same as the previous `destroy` method, and `handle_destroy_with_match` which will destroy any line which matches the `match` parameter, raising an error if multiple lines match and the `multiple` parameter is not `true`. This new behavior is only used if the new boolean parameter `match_for_absence` is `true` (it defaults to `false`).
2015-08-04(MODULES-2316) Change file_type boolean parameter to symbolsDominic Cleal
Puppet's boolean parameter type is only available in Puppet 3.3 and higher, so change file_type's new "replace" parameter to a regular parameter with true and false as possible values. This matches the existing "multiple" parameter.
2015-07-31Merge pull request #483 from nibalizer/load_metadata_jsonHunter Haugen
Add load_metadata_json function
2015-07-30Add load_metadata_json functionSpencer Krum
This function loads the metadata.json into a puppet variable. This enables a number of neat things such as: * Which version of the module am I using? 2.x? 3.x? * Which author of the module am I using? puppetlabs? example42?
2015-07-30Remove colorful language from module.Zee Alexander
2015-07-30(MODULES-2024) Adding replace attribute to file_lineRaymond Maika
2015-07-22adding support for hash in the size functiongcmalloc
2015-07-20Fix documentation error in upcaseDan Offord
The documentation example shows an incorrect response when using the function, this PR corrects the example to agree with what the function actually does.
2015-07-09Merge pull request #482 from DavidS/document_validate_slength_3rd_argMorgan Haskel
Add validate_slength's optional 3rd arg to README
2015-07-09Add validate_slength's optional 3rd arg to READMEAlexander Fisher
2015-06-24catch and rescue from looking up non-existent facts when looking for 'kind'Mathias Klette
facter (2.x) only provides facts without interface suffix for * ipaddress * netmask 'macaddress' and 'network' facts will always have the related interface name appended. in turns lookupvar throws errors when strict_variables is enabled.
2015-06-05Also catch :undefined_variable as thrown by future parserTomas Doran
2015-06-04Fix time() on 1.8.7Hunter Haugen
The time() function takes an argument of a timezone, and always returns time in epoch format. The epoch format is the number of seconds that have elapsed since January 1, 1970 (midnight UTC/GMT), not counting leap seconds. This means that it is universally the same regardless of timezones. I don't know what the timezone argument is supposed to do, and it is not documented. So lets just make 1.8.7 work like > 1.8.7
2015-06-01fqdn_rotate: Improve documentationEli Young
2015-06-01fqdn_rotate: Don't use the value itself as part of the random seedEli Young
Previously, the random number generator was seeded with the array or string to be rotated in addition to any values specifically provided for seeding. This behavior is potentially insecure in that it allows an attacker who can modify the source data to choose the post-shuffle order.
2015-06-01Convert tests to use plain rspec-puppetDavid Schmitt
Tests in the new style produces the following documentation output: abs should not eq nil should run abs() and raise an Puppet::ParseError should run abs(-34) and return 34 should run abs("-34") and return 34 should run abs(34) and return 34 should run abs("34") and return 34
2015-05-29simplify mac address regexIgor Galić
let the computer do the counting and repetition and case
2015-05-29Merge pull request #463 from CENGN/fix/master/file_line_multiple_afterDavid Schmitt
(MODULES-2071) Patch file_line provider to use multiple with after
2015-05-29 (MODULES-2071) Refactor file_line provider to contain logic to handle ↵Raymond Maika
parameter multiple in function handle_create_with_after Without this, file_line resource without the `match` parameter but with the `after` param will throw an error if there are multiple matches for the after expression. This patch creates the handling for the `multiple` parameter in handle_create_with_after. This allows you to add a line after the `after` expression if it appears at multiple points in a file. Updated reference to `file_line` in the README to reflect that the multiple parameter can be set when using `after` and/or `match` as the matching regex.
2015-05-27validate_integer, validate_numeric: explicitely reject hashes in arraysDavid Schmitt
Without this patch, Ruby 1.8's Hash#to_s behaviour causes [{1=>2}] to be treated as "12" when validating values.
2015-05-26fqdn_rotate: reset srand seed correctly on old ruby versionsDavid Schmitt
Without this, the global seed is reseeded on every use of fqdn_rotate, which is a waste. Older rubies might even use a time-base seed which adversly impacts the quality of the RNG.
2015-05-06range(): fix TypeError(can't convert nil into Integer) when using range syntaxDavid Schmitt
2015-05-06Merge pull request #447 from elyscape/fix_rangeDavid Schmitt
Restore removed functionality to range()
2015-05-05range: Clean up and clarify function contentsEli Young
2015-05-05Revert "range: remove dead code"Eli Young
This reverts commit 063c58a992c1b5441b7e7b2a2e4886531035bb25, which actually removed non-dead code. Specifically, it removed the ability to make calls such as `range('2..3')`, `range('2...3')`, and `range('2-3')`. cf. https://github.com/puppetlabs/puppetlabs-stdlib/pull/443#commitcomment-11055565
2015-05-05pw_hash: Fix functionality on JRuby < 1.7.17Eli Young
The previous change to this function broke it on JRuby before 1.7.17 by attempting to use a variable that wasn't defined (`salt`). To fix this, define `salt` ahead of time and use that instead of building the salt later. cf. https://github.com/puppetlabs/puppetlabs-stdlib/pull/443#discussion_r29718588
2015-05-05validate_augeas: fix URL to docsDavid Schmitt
2015-05-05range: remove dead codeDavid Schmitt
Since a ParseError is always thrown for zero arguments, the if and all dependent code can be removed.
2015-05-05pw_hash: avoid ruby magic when running on javaDavid Schmitt
2015-04-17fqdn_rand_string: fix argument error messageDavid Schmitt
2015-04-16Merge pull request #314 from amateo/feature/loadyaml_check_fileMorgan Haskel
Check if file exists before loading with loadyaml. If not, return nil
2015-04-09Merge pull request #431 from bmjen/file-line-refactorMorgan Haskel
File_line checks provided after param if no match is found
2015-04-09Add spec tests and pulled in PR #427Travis Fields
Changed append line to open in 'w' mode and have to rewrite lines in order to append new line
2015-04-09file_line honors after if match not found.Bryan Jen
2015-04-09Clarifying behaviour of attributes and adding an extra example.Gerrard Geldenhuis