summaryrefslogtreecommitdiff
path: root/lib/puppet/parser/functions
AgeCommit message (Collapse)Author
2016-10-12(MODULES-3969) Update getvar to work on ruby 1.8.7David Schmitt
2016-10-12(MODULES-3961) emit more deprecation warningsDavid Schmitt
This now emits one deprecation warning for each function used (but not for each call-site). Prior to this, only a single deprecation warning would have been triggered, potentially misleading users. Additionally this adds v4 deprecation stubs for the functions that were missed.
2016-10-08Revert "Addition of logging with file and line numbers"David Schmitt
This reverts commit b63862ff43194194f7428739a32cfe13bad1e7ed, as it would only show the irrelevant first entry of the ruby stack trace. The puppetserver log does contain the full trace information, or you can use --strict=error to cause a hard failure when hitting a deprecation. # Conflicts: # lib/puppet/functions/validate_legacy.rb
2016-10-08Ignore :undefined_variable "reason" in getvarMaksym Melnychok
`catch` returns value of second argument to `throw`, which until 860a2761f334c964068038b3ef6853f08beb1df5 was `nil`, but now is non-falsey reason for error. short-circuit using return and eval to nil if `throw` was caught.
2016-10-07(FM-5703, PUP-6717) Remove the dynamic deprecation_genDavid Schmitt
This was not working when the puppet master did not have the newest stdlib version in its environment.
2016-10-04(MODULES-3933) Fix getparam for 'false' valuesDavid Schmitt
This is the idiomatic version of #634, and also addresses the test failures. Original-Fix-By: Michiel Brandenburg <michiel@silverstreet.com>
2016-10-04Permit undef passed as `nil` to validate_stringDominic Cleal
When validate_string is called via the Puppet 4 deprecation wrappers from deprecation_gen (introduced in 970852d), `undef` is passed as `nil` where it was previously passed as `''` from the Puppet 3-style function API. This change explicitly permits a `nil` value in validate_string, and adds a test case to `is_string` which also accepts the same. Fixes test failures in apt, concat etc: Error while evaluating a Function Call, nil is not a string. It looks to be a NilClass at apt/manifests/source.pp:23:3 [..] # ./spec/fixtures/modules/stdlib/lib/puppet/parser/functions/validate_string.rb:34:in `block (2 levels) in <module:Functions>' # ./spec/fixtures/modules/stdlib/lib/puppet/parser/functions/validate_string.rb:32:in `each' # ./spec/fixtures/modules/stdlib/lib/puppet/parser/functions/validate_string.rb:32:in `block in <module:Functions>' # puppet-4.7.0/lib/puppet/parser/functions.rb:174:in `block (2 levels) in newfunction' # puppet-4.7.0/lib/puppet/util/profiler/around_profiler.rb:58:in `profile' # puppet-4.7.0/lib/puppet/util/profiler.rb:51:in `profile' # puppet-4.7.0/lib/puppet/parser/functions.rb:167:in `block in newfunction' # ./spec/fixtures/modules/stdlib/lib/puppet_x/puppetlabs/stdlib/deprecation_gen.rb:13:in `block (2 levels) in deprecation_gen'
2016-09-26Remove duplicate deprecation warningsHelen Campbell
2016-09-26Merge pull request #656 from HelenCampbell/hashFupdateHunter Haugen
Add deprecation warnings to remaining validates
2016-09-26Add deprecation warnings to remaining validatesHelen Campbell
2016-09-15Fix whitespaceHunter Haugen
2016-09-15Merge pull request #644 from dmitryilyin/masterBryan Jen
Refactor dig44 function
2016-09-06Addition of logging with file and line numbersHelen Campbell
2016-09-05Deprecation function to be mutable in all casesHelen Campbell
2016-08-30Refactor dig44 functionDmitry Ilyin
The current implementation of the dig44 function has the following problems: * Doesn't recognise Puppet4's :undef value as an empty value and doesn't return the default value. * Doesn't make a different between false and nil value and returns the default value for a non-empty false value
2016-08-17Merge pull request #637 from HelenCampbell/ipdeprecationDavid Schmitt
(MODULES-3534) Deprecation of ip functions
2016-08-17Deprecation of ip functionsHelen Campbell
2016-08-15(maint) Switch 3.x deprecation() to use Puppet warning loggerDominic Cleal
The deprecation function was calling the `Kernel#warn` function which prints to stderr, rather than the Puppet logger. This causes problems for Puppet module tests on Travis CI, which has a cap on the amount of stdout/err permitted in its logs and also prevents users from finding the deprecation warnings when running under a Puppet master.
2016-08-08(modules-3532) deprecate string type checkstphoney
2016-08-08Merge pull request #629 from tphoney/MODULES-3533David Schmitt
(modules-3533) deprecation for 3.x number function
2016-08-08(modules-3533) deprecation for 3.x number functiontphoney
2016-07-27Fix str2bool error messageLoic Antoine-Gombeaud
2016-07-22Added the regexpescape function.Steve Moore
2016-07-19(MODULES-2143) document edge behaviour of range.tphoney
2016-07-13Merge pull request #618 from ntpttr/fix/master/modules-3568David Schmitt
(MODULES-3568) Move dig to dig44 and deprecate dig
2016-07-08(MODULES-3568) Move dig to dig44 and deprecate digNate Potter
A new version of dig was introduced in Puppet 4.5.0 that isn't compatible with the stdlib version of dig. To maintain backwards compatibility and ensure that tests for stdlib aren't broken, this patch renames dig to dig44 and adds a deprecation warning to the stdlib dig function.
2016-06-30(MODULES-3543) Fixup defined_with_params to work on all puppet versionsDavid Schmitt
2016-06-29(MODULES-3543) Fix define_with_params to handle undef properlyDavid Schmitt
As described in PUP-6422, ensure_resources('File[/tmp/a]', { owner => undef }) would not actually create the file. This fixes it, and adds tests to prove it.
2016-05-13Add a delete_regex functionJoseph Yaworski
To maintain backwards compatibility, add a delete_regex function instead of modifying delete itself.
2016-05-12Merge pull request #600 from dmitryilyin/masterBryan Jen
Add the default value to the "loadyaml" function
2016-05-11(MODULES-3354) Use 1.8.7 hash in validate_email_address functionStephen Benjamin
2016-05-05Merge pull request #601 from petems/MODULES-1439-any2bool_addedBryan Jen
(MODULES-1439) Adds any2bool function
2016-05-04Use reject instead of delete_ifJoseph Yaworski
2016-05-03Merge pull request #603 from puppetlabs/4.12.xBryan Jen
Mergeback 4.12.x
2016-05-02(MODULES-1439) Adds any2bool functionPeter Souter
* Basically a combination of `string2bool` and `num2bool`
2016-04-28Expose the functions of ruby's built-in Shellwords module (#580)Joris
* Add shell_escape function, shell_join function & shell_split function
2016-04-26Add the default value to the "loadyaml" functionDmitry Ilyin
This value will be returned if the is no file to load or a file could not be parsed. It's similar to the "parseyaml" function's default value. Add the "loadjson" function too
2016-04-25Revert "Add support for regular expressions to delete"Hunter Haugen
This reverts commit 0d46515b57cea60d4d5f1e4d81a75a448a7a73a8. It introduced backwards-incompatible functionality.
2016-04-18(MODULES-3271) Ensure that is_email_address works on unsupported rubiesDavid Schmitt
2016-04-12Add support for regular expressions to deleteJoseph Yaworski
2016-04-11Merge pull request #590 from alext/fix_concat_with_hashHunter Haugen
(MODULES-3246) Fix concat with Hash arguments.
2016-04-11Merge pull request #583 from jyaworski/validate_email_addressTP Honey
Add validate_email_address function
2016-04-10Add validate_email_address functionJoseph Yaworski
2016-04-08(MODULES-3246) Fix concat with Hash arguments.Alex Tomlins
85d5ead Updated the concat function so that it wouldn't modify the original array. A side-effect of this change is that it now always calls `Array()` on the second argument. If thit is a Hash, this results in `to_a` being called on the hash, which converts it to an array or tuples. This is undesired. Update the behaviour so that it doesn't (indirectly) call `to_a` on anything, instead test for the type of the argument, wrapping it in an array if it's not already an array.
2016-04-07(maint) also catch Psych::SyntaxErrorDavid Schmitt
Psych::SyntaxError is a RuntimeException. This still needs to catch that. This was uncovered by the recent move to catch StandardError rather than the catchall Exception that was here before.
2016-03-29catch StandardError rather than the gratuitous ExceptionFelix Frank
2016-03-22improve suffix function to support the same feature set as prefixReinhard Vicinus
2016-03-17Merge pull request #576 from yadavnikhil/masterHunter Haugen
ensure_packages.rb: Modifed to pass hiera parameters (as hash,array) as first argument
2016-03-15Add ensure_resources() functionNikhil Yadav
New function "ensure_resources()" to support passing hash as parameter OR from hiera backend This new function is extension of ensure_resource() which will now support to pass multiple values as hash/array OR from hiera backend variables in title argument with additional parameters needed. It will process multiple values for a resource type from the passed argument & pass each entry (type, title, params) to ensure_resource() in required format for further processing. Now user can have duplicate resource check functionality extended to multiple entries with this new function. Use: For multiple resources using hash: ensure_resources('user', {'dan' => { gid => 'mygroup', uid =>'600' } , 'alex' => { gid => 'mygroup' }}, {'ensure' =>'present'}) From Hiera Backend: userlist: dan: gid: 'mygroup' uid: '600' alex: gid: 'mygroup' Call: ensure_resources('user',hiera_hash('userlist'), {'ensure' => 'present'}) ensure_packages() Modified to also support Hash type argument for packages This modification will call newly added ensure_resources() for processing Hash as second argument. The original functionality remains same for Array type arguments. Use: hiera: packagelist: ksh: ensure: latest mlocate: {} myrpm: provider: rpm source: "/tmp/myrpm-1.0.0.x86_64.rpm" install_options: --prefix: /users/home openssl: provider: rpm source: "/tmp/openssl-1.0.1e-42.el7.x86_64.rpm" Call: ensure_packages($packagelist)
2016-03-13Add enclose_ipv6 functionEmilien Macchi
Copy a function from puppetlabs/apache, created by Benedikt Bock by 55cc3b4e8f4bc859a1255cb57be2c7923005d822 . This function enclose IPv6 addresses in square brackets. It takes an array of ip addresses and encloses the ipv6 addresses with square brackets. Co-Authored-By: Benedikt Bock <benedikt_bock@web.de>