summaryrefslogtreecommitdiff
path: root/lib/chef/dsl
Commit message (Collapse)AuthorAgeFilesLines
* Better target mode shell_outlcg/better-target-mode-shell-outLamont Granquist2019-05-231-2/+0
| | | | | | | | - integrates target-mode fully with shell_out - removes the train_or_shellout mixin - apt_package is now fully supported in target-mode Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
* Change some more require to require_relativeLamont Granquist2019-05-101-1/+1
| | | | Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
* Convert require to require_relativeLamont Granquist2019-05-0810-33/+33
| | | | | | | This gives a speed boost since rubygems does not have to scan through every gem in the gemset in order to find the file. Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
* Target mode code tweakslcg/target-mode-tweaksLamont Granquist2019-05-071-0/+1
| | | | | | | | | | | | The train_or_shell mixin should mixin its dependent mixins and require them, which removes the need to do that in the calling classes. Include TrainOrShell correctly in the Universal DSL. Few more code tweaks ("protected" is largely worthless in ruby and was always being misused here). Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
* Target Mode initial implementationBryan McLellan2019-05-061-0/+1
| | | | Signed-off-by: Bryan McLellan <btm@chef.io>
* Chef-15 DSL changeslcg/chef-15-dsl-changesLamont Granquist2019-05-033-18/+29
| | | | | | | | Move the data_query, powershell and registry_helper DSLs up to universal. Move the `tagged?` helper into data_query for organizational purposes. Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
* WIP: Remove audit mode from chef-clientTim Smith2019-03-112-53/+0
| | | | | | | | This just gives us a line count to the change and perhaps a starting point for when we do this in Chef 15 Signed-off-by: Tim Smith <tsmith@chef.io> Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
* add missing require linelcg/lazy-universalLamont Granquist2019-02-201-0/+1
| | | | Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
* add LazyModuleInclude to Universal DSLLamont Granquist2019-02-201-1/+2
| | | | | | | somehow this was missed in #4942 which makes this DSL much less useful as a target. Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
* changes for rubocop engine upgrades.lcg/rubocop-upgradesLamont Granquist2019-01-151-1/+1
| | | | | | | this is the result of changes to rules we already previously had enabled. Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
* now user can use tagged method in both only_if and not_ifKapil Chouhan2018-11-291-0/+7
| | | | Signed-off-by: Kapil Chouhan <kapil.chouhan@msystechnologies.com>
* Remove Chef provisioning lazy loadingprovisioningTim Smith2018-11-022-62/+3
| | | | | | Remove the lazy loading of chef provisioning resources Signed-off-by: Tim Smith <tsmith@chef.io>
* Remove legacy require_recipe DSL methodTim Smith2018-10-261-6/+0
| | | | | | | We've been warning on this one for YEARS and we have a Foodcritic rule for it as well, which has been around since before I was at Chef. Signed-off-by: Tim Smith <tsmith@chef.io>
* Move the older_than_win_2012_or_8? to platform_introspectionTim Smith2018-07-061-0/+5
| | | | Signed-off-by: Tim Smith <tsmith@chef.io>
* fix Style/PreferredHashMethodsLamont Granquist2018-07-022-2/+2
| | | | | | | absolutely hard requirement on the fixes that went into chef-config 2.2.11, so the floor of that gem is bumped up. Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
* fix Style/HashSyntaxLamont Granquist2018-07-021-1/+1
| | | | Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
* add the resources() dsl method to providerslcg/fix-resources-dsl-methodLamont Granquist2018-04-121-1/+23
| | | | | | | | | | | Custom resource actions were picking this up via delegation to the wrapping resource, and that wiring was removed in 14, so that API then got dropped accidentally. This should fix that back up. It also consistently injects the resource APIs into resources and providers both now (and consistently across core resources and custom resources). Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
* mechanical conversion of most debug log statements to traceThom May2018-03-262-8/+8
| | | | Signed-off-by: Thom May <thom@chef.io>
* rubocop fixes from engine bump to 0.54.0lcg/rubocop-fixesLamont Granquist2018-03-211-2/+2
| | | | | | some cops got a little stricter. Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
* Merge branch 'master' into sp/powershell_execStuart Preston2018-03-071-8/+1
|\ | | | | | | Signed-off-by: <>
| * Remove support for Windows 20032k3Tim Smith2018-03-021-8/+1
| | | | | | | | | | | | Windows 2003 is fully end of life at this point and hasn't been supported by Chef for quite a while. EXTENDED support for Windows 2003 ended July 14, 2015. We avoid a good number of WMI queries by removing this support entirely. Signed-off-by: Tim Smith <tsmith@chef.io>
* | Initial commit of new Chef PowerShell supportStuart Preston2018-03-031-0/+2
|/ | | | Signed-off-by: Stuart Preston <stuart@chef.io>
* Remove previously deprecated mixins and Chef::DSL::Recipe::FullDSLchef14_deprecationsTim Smith2018-01-015-32/+6
| | | | | | | | | | | | We wired these up previously with deprecations. They've been deprecated for a long time and are pretty rarely used on the Supermarket. Additionally we have Foodcritic rules to detect their usage: FC102: Deprecated Chef::DSL::Recipe::FullDSL class used FC100: Deprecated Chef::Mixin::Language mixin used FC099: Deprecated Chef::Mixin::LanguageIncludeRecipe mixin used FC098: Deprecated Chef::Mixin::RecipeDefinitionDSLCore mixin used FC097: Deprecated Chef::Mixin::LanguageIncludeAttribute mixin used Signed-off-by: Tim Smith <tsmith@chef.io>
* Deprecate property namespace magicLamont Granquist2017-06-081-1/+9
| | | | | | | This forces everyone to starting using new_resource.property_name instead of just property_name. Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
* Chef-13: fix notifying array resourcesLamont Granquist2017-03-311-1/+1
| | | | | | | | this also deprecates the multi-resource notification syntax where `foo[a,b]` would attempt to notify both `foo[a]` and `foo[b]` because that is hella ambiguous. Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
* make nameless properties opt-inLamont Granquist2017-03-301-4/+4
| | | | Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
* Chef-13: Support nameless resources and remove deprecated multi-arg resourcesLamont Granquist2017-03-301-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes nameless resources work in the DSL: ```ruby apt_update ``` It does it by giving it an empty-string name of "" It also drops support for multi-arg resources, that has been deprecated for some time: ```ruby some_resource "foo", "bar", "baz" ``` Note that multipackage package resources do not use multiple args, but a single argument which is an arry: ```ruby package [ "lsof", "strace", "tcpdump" ] ``` So this change does not affect that usage. Multi-arg has been deprecated for some time now and its not clear that it was ever used by anyone. Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
* Chef-13: Simplify DSL creationLamont Granquist2017-03-211-6/+0
| | | | | | | | | | | | | | we did actually have tests around creating actions with spaces and hyphens in their names. we had fallback code for properties, but it was broken and threw a "private method define_resource called" and then it created a closure and didn't have the `name` in the binding so it called itself and blew up the stack. this change walks that back. it does prove that we still support UTF-8 in property names, actions and DSL names, which i'd argue is more than enough. Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
* Chef-13: remove method_missing from the DSLLamont Granquist2017-03-212-79/+1
| | | | Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
* Chef-13: Remove declare_resource create_if_missing APILamont Granquist2017-03-142-18/+12
| | | | | | | | | | | | | Likely nobody cares about this change, I added it and then a release or two later introduced the better edit_resource style of API. I also changed "created_at" to be a proper named parameter, instead of a positional parameter, which is a breaking change in an API that has been around for quite some time -- makes the API consistent since I added it as a named parameter to the new APIs when I wrote them. Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
* fix specs: RedundantReturn, RedundantSelf, RedundantBeginLamont Granquist2017-02-135-43/+39
| | | | | | department of redundancy department Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
* Make docker? return booleanAndrew Brown2016-12-121-2/+2
| | | | | | Trivial change to ensure node.docker? returns either true or false. Signed-off-by: Andrew Brown <andrew.j.brown@gmail.com>
* Structure deprecations with additional metadatatm/deprecation_with_urlThom May2016-11-162-4/+4
| | | | | | | | This adds URLs to each class of deprecation, and correctly prints and formats them for maximum user efficiency. We also provide the URL to the data collector for Visibility to ingest. Signed-off-by: Thom May <thom@chef.io>
* Fix a few bad copyrightsTim Smith2016-10-205-5/+5
| | | | | | I think this happened when we merged the Opscode and Chef copyrights Signed-off-by: Tim Smith <tsmith@chef.io>
* remove dependency on Chef.run_context global stateLamont Granquist2016-10-181-1/+1
| | | | | | introduce run_context.root_run_context that avoids global state Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
* remove block_given?lcg/edit_resource_scopeLamont Granquist2016-10-101-2/+2
| | | | Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
* pass new_resource to edit_resource through instance_execLamont Granquist2016-10-101-1/+7
| | | | | | | | | | helps with scoping issues, best practice would be to always use the |new_resource| argument to the block when using edit_resource inside of resources https://github.com/chef/chef/issues/5438 Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
* disable Style/OptionalArgumentsLamont Granquist2016-08-161-1/+1
| | | | | | | | fixing this would either be hella ugly or would change the API just prevent more of this leaking into the codebase Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
* Also clear notifications when deleting a resource.Noah Kantrowitz2016-07-281-1/+9
|
* Add `chef_data_bag_item` to Cheffish DSL methodscheffish-data-bag-itemdanielsdeleo2016-07-191-0/+1
|
* Switch to node attributes for docker detectionAndrew Brown2016-05-301-2/+5
| | | | | Using ::File.exists? makes Travis CI sad due to statically looking for files. We'll use node attributes provided by Ohai instead.
* Style fixesAndrew Brown2016-05-301-1/+1
| | | | Fixing rubocop errors found during CI
* File atomic update default: false on docker filesAndrew Brown2016-05-301-0/+13
| | | | | | If unspecified, the default setting for atomic updates on docker special files should be 'false' to avoid Errno::EBUSY. This allows for a cookbook author to override this behaviour if desired.
* typeofix thanks @ranjiblcg/universal-dslLamont Granquist2016-05-171-1/+1
|
* update for feedback from stevenLamont Granquist2016-05-173-0/+3
|
* create 'universal' DSLLamont Granquist2016-05-163-20/+81
| | | | this is for DSL methods that get mixed in everywhere.
* how did that get there?lcg/fix-resources-api-issuesLamont Granquist2016-04-181-1/+1
|
* fix details in with_run_contextLamont Granquist2016-04-181-7/+7
|
* fix ! in yard commentlcg/resources-apiLamont Granquist2016-04-181-1/+1
|
* typofixLamont Granquist2016-04-151-1/+1
|