chef 10.20.0 → 10.22.0.rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. data/distro/common/html/chef-client.8.html +3 -3
  2. data/distro/common/html/chef-expander.8.html +3 -3
  3. data/distro/common/html/chef-expanderctl.8.html +3 -3
  4. data/distro/common/html/chef-server-webui.8.html +3 -3
  5. data/distro/common/html/chef-server.8.html +3 -3
  6. data/distro/common/html/chef-solo.8.html +3 -3
  7. data/distro/common/html/chef-solr.8.html +3 -3
  8. data/distro/common/html/knife-bootstrap.1.html +4 -4
  9. data/distro/common/html/knife-client.1.html +4 -4
  10. data/distro/common/html/knife-configure.1.html +3 -3
  11. data/distro/common/html/knife-cookbook-site.1.html +6 -6
  12. data/distro/common/html/knife-cookbook.1.html +3 -3
  13. data/distro/common/html/knife-data-bag.1.html +3 -3
  14. data/distro/common/html/knife-environment.1.html +6 -6
  15. data/distro/common/html/knife-exec.1.html +3 -3
  16. data/distro/common/html/knife-index.1.html +4 -4
  17. data/distro/common/html/knife-node.1.html +3 -3
  18. data/distro/common/html/knife-role.1.html +3 -3
  19. data/distro/common/html/knife-search.1.html +3 -3
  20. data/distro/common/html/knife-ssh.1.html +3 -3
  21. data/distro/common/html/knife-status.1.html +3 -3
  22. data/distro/common/html/knife-tag.1.html +3 -3
  23. data/distro/common/html/knife.1.html +11 -11
  24. data/distro/common/html/shef.1.html +3 -3
  25. data/distro/common/man/man1/knife-bootstrap.1 +1 -1
  26. data/distro/common/man/man1/knife-client.1 +1 -1
  27. data/distro/common/man/man1/knife-configure.1 +1 -1
  28. data/distro/common/man/man1/knife-cookbook-site.1 +1 -1
  29. data/distro/common/man/man1/knife-cookbook.1 +1 -1
  30. data/distro/common/man/man1/knife-data-bag.1 +1 -1
  31. data/distro/common/man/man1/knife-environment.1 +1 -1
  32. data/distro/common/man/man1/knife-exec.1 +1 -1
  33. data/distro/common/man/man1/knife-index.1 +1 -1
  34. data/distro/common/man/man1/knife-node.1 +1 -1
  35. data/distro/common/man/man1/knife-role.1 +1 -1
  36. data/distro/common/man/man1/knife-search.1 +1 -1
  37. data/distro/common/man/man1/knife-ssh.1 +1 -1
  38. data/distro/common/man/man1/knife-status.1 +1 -1
  39. data/distro/common/man/man1/knife-tag.1 +1 -1
  40. data/distro/common/man/man1/knife.1 +1 -1
  41. data/distro/common/man/man1/shef.1 +1 -1
  42. data/distro/common/man/man8/chef-client.8 +1 -1
  43. data/distro/common/man/man8/chef-expander.8 +1 -1
  44. data/distro/common/man/man8/chef-expanderctl.8 +1 -1
  45. data/distro/common/man/man8/chef-server-webui.8 +1 -1
  46. data/distro/common/man/man8/chef-server.8 +1 -1
  47. data/distro/common/man/man8/chef-solo.8 +1 -1
  48. data/distro/common/man/man8/chef-solr.8 +1 -1
  49. data/lib/chef/cookbook_version.rb +1 -1
  50. data/lib/chef/json_compat.rb +94 -1
  51. data/lib/chef/provider/cookbook_file.rb +24 -0
  52. data/lib/chef/resource.rb +18 -0
  53. data/lib/chef/version.rb +1 -1
  54. data/lib/chef/win32/api/process.rb +1 -0
  55. data/lib/chef/win32/handle.rb +8 -1
  56. data/spec/data/big_json.json +2 -1
  57. data/spec/data/big_json_plus_one.json +2 -1
  58. data/spec/functional/resource/cookbook_file_spec.rb +18 -0
  59. data/spec/support/shared/functional/file_resource.rb +21 -0
  60. data/spec/support/shared/functional/securable_resource.rb +74 -70
  61. data/spec/unit/json_compat_spec.rb +61 -0
  62. metadata +23 -33
  63. data/spec/unit/json_compat_spect.rb +0 -53
@@ -133,11 +133,11 @@ option.</dd>
133
133
 
134
134
  <h2 id="AUTHOR">AUTHOR</h2>
135
135
 
136
- <p> Chef was written by Adam Jacob <a data-bare-link="true" href="&#109;&#97;&#x69;&#108;&#116;&#x6f;&#x3a;&#x61;&#x64;&#x61;&#x6d;&#x40;&#111;&#112;&#x73;&#x63;&#x6f;&#100;&#101;&#x2e;&#x63;&#x6f;&#109;">&#x61;&#100;&#97;&#x6d;&#x40;&#x6f;&#x70;&#115;&#x63;&#x6f;&#x64;&#x65;&#x2e;&#99;&#111;&#x6d;</a> with many contributions from the community.</p>
136
+ <p> Chef was written by Adam Jacob <a data-bare-link="true" href="&#x6d;&#97;&#x69;&#108;&#116;&#x6f;&#58;&#97;&#x64;&#97;&#x6d;&#x40;&#111;&#x70;&#115;&#x63;&#111;&#x64;&#101;&#x2e;&#99;&#x6f;&#x6d;">&#97;&#x64;&#x61;&#x6d;&#x40;&#x6f;&#112;&#x73;&#99;&#111;&#100;&#x65;&#46;&#x63;&#x6f;&#109;</a> with many contributions from the community.</p>
137
137
 
138
138
  <h2 id="DOCUMENTATION">DOCUMENTATION</h2>
139
139
 
140
- <p> This manual page was written by Joshua Timberman <a data-bare-link="true" href="&#x6d;&#97;&#105;&#108;&#116;&#111;&#58;&#x6a;&#x6f;&#115;&#104;&#117;&#x61;&#x40;&#x6f;&#x70;&#x73;&#x63;&#111;&#100;&#101;&#x2e;&#99;&#x6f;&#109;">&#x6a;&#111;&#115;&#x68;&#x75;&#x61;&#x40;&#x6f;&#x70;&#x73;&#x63;&#x6f;&#x64;&#101;&#46;&#x63;&#111;&#109;</a>.
140
+ <p> This manual page was written by Joshua Timberman <a data-bare-link="true" href="&#x6d;&#x61;&#105;&#108;&#x74;&#x6f;&#58;&#106;&#x6f;&#x73;&#104;&#x75;&#97;&#x40;&#111;&#112;&#115;&#99;&#x6f;&#100;&#x65;&#46;&#x63;&#x6f;&#109;">&#x6a;&#111;&#x73;&#104;&#x75;&#x61;&#x40;&#111;&#x70;&#x73;&#x63;&#111;&#100;&#101;&#46;&#x63;&#111;&#x6d;</a>.
141
141
  Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.</p>
142
142
 
143
143
  <h2 id="CHEF">CHEF</h2>
@@ -146,7 +146,7 @@ option.</dd>
146
146
 
147
147
 
148
148
  <ol class='man-decor man-foot man foot'>
149
- <li class='tl'>Chef 10.20.0</li>
149
+ <li class='tl'>Chef 10.22.0.rc.0</li>
150
150
  <li class='tc'>February 2013</li>
151
151
  <li class='tr'>knife-ssh(1)</li>
152
152
  </ol>
@@ -105,11 +105,11 @@ may not be publicly reachable.</p>
105
105
 
106
106
  <h2 id="AUTHOR">AUTHOR</h2>
107
107
 
108
- <p> Chef was written by Adam Jacob <a href="&#109;&#97;&#x69;&#108;&#116;&#x6f;&#x3a;&#x61;&#x64;&#x61;&#x6d;&#x40;&#111;&#112;&#x73;&#x63;&#x6f;&#100;&#101;&#x2e;&#x63;&#x6f;&#109;" data-bare-link="true">&#x61;&#100;&#97;&#x6d;&#x40;&#x6f;&#x70;&#115;&#x63;&#x6f;&#x64;&#x65;&#x2e;&#99;&#111;&#x6d;</a> with many contributions from the community.</p>
108
+ <p> Chef was written by Adam Jacob <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#x3a;&#x61;&#x64;&#97;&#x6d;&#64;&#x6f;&#x70;&#115;&#x63;&#111;&#x64;&#x65;&#x2e;&#99;&#x6f;&#x6d;" data-bare-link="true">&#97;&#x64;&#x61;&#109;&#x40;&#x6f;&#112;&#115;&#x63;&#x6f;&#100;&#101;&#x2e;&#99;&#x6f;&#109;</a> with many contributions from the community.</p>
109
109
 
110
110
  <h2 id="DOCUMENTATION">DOCUMENTATION</h2>
111
111
 
112
- <p> This manual page was written by Joshua Timberman <a href="&#x6d;&#97;&#105;&#108;&#116;&#111;&#58;&#x6a;&#x6f;&#115;&#104;&#117;&#x61;&#x40;&#x6f;&#x70;&#x73;&#x63;&#111;&#100;&#101;&#x2e;&#99;&#x6f;&#109;" data-bare-link="true">&#x6a;&#111;&#115;&#x68;&#x75;&#x61;&#x40;&#x6f;&#x70;&#x73;&#x63;&#x6f;&#x64;&#101;&#46;&#x63;&#111;&#109;</a>.
112
+ <p> This manual page was written by Joshua Timberman <a href="&#x6d;&#x61;&#105;&#108;&#x74;&#x6f;&#58;&#106;&#x6f;&#x73;&#x68;&#117;&#x61;&#x40;&#x6f;&#112;&#115;&#99;&#111;&#x64;&#101;&#x2e;&#x63;&#x6f;&#109;" data-bare-link="true">&#x6a;&#x6f;&#x73;&#x68;&#117;&#97;&#x40;&#111;&#112;&#x73;&#x63;&#x6f;&#x64;&#x65;&#46;&#99;&#x6f;&#109;</a>.
113
113
  Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.</p>
114
114
 
115
115
  <h2 id="CHEF">CHEF</h2>
@@ -118,7 +118,7 @@ may not be publicly reachable.</p>
118
118
 
119
119
 
120
120
  <ol class='man-decor man-foot man foot'>
121
- <li class='tl'>Chef 10.20.0</li>
121
+ <li class='tl'>Chef 10.22.0.rc.0</li>
122
122
  <li class='tc'>February 2013</li>
123
123
  <li class='tr'>knife-status(1)</li>
124
124
  </ol>
@@ -114,11 +114,11 @@
114
114
 
115
115
  <h2 id="AUTHOR">AUTHOR</h2>
116
116
 
117
- <p> Chef was written by Adam Jacob <a data-bare-link="true" href="&#x6d;&#x61;&#x69;&#108;&#x74;&#x6f;&#x3a;&#97;&#100;&#x61;&#109;&#x40;&#x6f;&#112;&#115;&#x63;&#x6f;&#100;&#101;&#46;&#99;&#x6f;&#109;">&#x61;&#x64;&#97;&#109;&#64;&#x6f;&#x70;&#x73;&#99;&#x6f;&#100;&#101;&#46;&#x63;&#x6f;&#109;</a> with many contributions from the community.</p>
117
+ <p> Chef was written by Adam Jacob <a data-bare-link="true" href="&#109;&#x61;&#x69;&#108;&#x74;&#111;&#x3a;&#x61;&#100;&#x61;&#109;&#64;&#111;&#x70;&#115;&#99;&#x6f;&#100;&#101;&#x2e;&#99;&#111;&#x6d;">&#x61;&#x64;&#x61;&#x6d;&#64;&#111;&#112;&#115;&#99;&#x6f;&#100;&#x65;&#46;&#99;&#111;&#x6d;</a> with many contributions from the community.</p>
118
118
 
119
119
  <h2 id="DOCUMENTATION">DOCUMENTATION</h2>
120
120
 
121
- <p> This manual page was written by Daniel DeLeo <a data-bare-link="true" href="&#109;&#97;&#105;&#x6c;&#116;&#111;&#x3a;&#x64;&#x61;&#x6e;&#x40;&#x6f;&#x70;&#115;&#99;&#111;&#100;&#101;&#46;&#99;&#x6f;&#109;">&#100;&#x61;&#x6e;&#64;&#111;&#x70;&#115;&#x63;&#x6f;&#100;&#101;&#46;&#x63;&#111;&#109;</a>.
121
+ <p> This manual page was written by Daniel DeLeo <a data-bare-link="true" href="&#109;&#x61;&#x69;&#108;&#x74;&#111;&#x3a;&#100;&#x61;&#x6e;&#64;&#x6f;&#x70;&#115;&#99;&#111;&#x64;&#x65;&#46;&#99;&#111;&#109;">&#100;&#97;&#110;&#64;&#x6f;&#112;&#115;&#x63;&#111;&#x64;&#x65;&#x2e;&#x63;&#111;&#109;</a>.
122
122
  Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.</p>
123
123
 
124
124
  <h2 id="CHEF">CHEF</h2>
@@ -127,7 +127,7 @@
127
127
 
128
128
 
129
129
  <ol class='man-decor man-foot man foot'>
130
- <li class='tl'>Chef 10.20.0</li>
130
+ <li class='tl'>Chef 10.22.0.rc.0</li>
131
131
  <li class='tc'>February 2013</li>
132
132
  <li class='tr'>knife-tag(1)</li>
133
133
  </ol>
@@ -279,38 +279,38 @@ data editing entirely.</dd>
279
279
  <strong><span class="man-ref">knife-node<span class="s">(1)</span></span></strong> <strong><span class="man-ref">knife-recipe<span class="s">(1)</span></span></strong> <strong><span class="man-ref">knife-role<span class="s">(1)</span></span></strong>
280
280
  <strong><span class="man-ref">knife-search<span class="s">(1)</span></span></strong> <strong><span class="man-ref">knife-ssh<span class="s">(1)</span></span></strong> <strong><span class="man-ref">knife-tag<span class="s">(1)</span></span></strong></p>
281
281
 
282
- <p> Complete Chef documentation is available online: <a data-bare-link="true" href="http://wiki.opscode.com/display/chef/Home/">http://wiki.opscode.com/display/chef/Home/</a></p>
282
+ <p> Complete Chef documentation is available online: <a href="http://wiki.opscode.com/display/chef/Home/" data-bare-link="true">http://wiki.opscode.com/display/chef/Home/</a></p>
283
283
 
284
- <p> JSON is JavaScript Object Notation <a data-bare-link="true" href="http://json.org/">http://json.org/</a></p>
284
+ <p> JSON is JavaScript Object Notation <a href="http://json.org/" data-bare-link="true">http://json.org/</a></p>
285
285
 
286
- <p> SOLR is an open source search engine. <a data-bare-link="true" href="http://lucene.apache.org/solr/">http://lucene.apache.org/solr/</a></p>
286
+ <p> SOLR is an open source search engine. <a href="http://lucene.apache.org/solr/" data-bare-link="true">http://lucene.apache.org/solr/</a></p>
287
287
 
288
- <p> <strong><span class="man-ref">git<span class="s">(1)</span></span></strong> is a version control system <a data-bare-link="true" href="http://git-scm.com/">http://git-scm.com/</a></p>
288
+ <p> <strong><span class="man-ref">git<span class="s">(1)</span></span></strong> is a version control system <a href="http://git-scm.com/" data-bare-link="true">http://git-scm.com/</a></p>
289
289
 
290
- <p> This manual page was generated from Markdown with <strong><span class="man-ref">ronn<span class="s">(1)</span></span></strong> <a data-bare-link="true" href="http://rtomayko.github.com/ronn/ronn.1.html">http://rtomayko.github.com/ronn/ronn.1.html</a></p>
290
+ <p> This manual page was generated from Markdown with <strong><span class="man-ref">ronn<span class="s">(1)</span></span></strong> <a href="http://rtomayko.github.com/ronn/ronn.1.html" data-bare-link="true">http://rtomayko.github.com/ronn/ronn.1.html</a></p>
291
291
 
292
292
  <h2 id="AUTHOR">AUTHOR</h2>
293
293
 
294
- <p> Chef was written by Adam Jacob <a data-bare-link="true" href="&#x6d;&#97;&#x69;&#x6c;&#116;&#x6f;&#58;&#97;&#100;&#97;&#x6d;&#x40;&#111;&#112;&#115;&#99;&#111;&#x64;&#101;&#x2e;&#x63;&#111;&#109;">&#97;&#x64;&#x61;&#109;&#64;&#x6f;&#x70;&#115;&#x63;&#111;&#x64;&#101;&#46;&#99;&#111;&#109;</a> of Opscode
295
- (<a data-bare-link="true" href="http://www.opscode.com">http://www.opscode.com</a>), with contributions from the community.</p>
294
+ <p> Chef was written by Adam Jacob <a href="&#109;&#97;&#105;&#x6c;&#116;&#x6f;&#x3a;&#x61;&#100;&#x61;&#109;&#x40;&#x6f;&#x70;&#x73;&#99;&#111;&#x64;&#101;&#46;&#x63;&#x6f;&#x6d;" data-bare-link="true">&#x61;&#x64;&#x61;&#109;&#64;&#x6f;&#112;&#115;&#x63;&#x6f;&#x64;&#x65;&#x2e;&#99;&#111;&#109;</a> of Opscode
295
+ (<a href="http://www.opscode.com" data-bare-link="true">http://www.opscode.com</a>), with contributions from the community.</p>
296
296
 
297
297
  <h2 id="DOCUMENTATION">DOCUMENTATION</h2>
298
298
 
299
- <p> This manual page was written by Joshua Timberman <a data-bare-link="true" href="&#109;&#97;&#x69;&#108;&#116;&#111;&#58;&#106;&#111;&#115;&#104;&#x75;&#x61;&#x40;&#x6f;&#112;&#115;&#99;&#111;&#100;&#x65;&#x2e;&#x63;&#111;&#x6d;">&#106;&#x6f;&#x73;&#x68;&#x75;&#x61;&#x40;&#111;&#x70;&#x73;&#99;&#x6f;&#100;&#x65;&#x2e;&#99;&#x6f;&#109;</a>.</p>
299
+ <p> This manual page was written by Joshua Timberman <a href="&#109;&#97;&#105;&#108;&#x74;&#x6f;&#x3a;&#106;&#x6f;&#115;&#104;&#x75;&#x61;&#x40;&#x6f;&#112;&#115;&#99;&#x6f;&#100;&#x65;&#x2e;&#99;&#x6f;&#109;" data-bare-link="true">&#x6a;&#111;&#115;&#x68;&#117;&#97;&#64;&#111;&#x70;&#115;&#99;&#111;&#x64;&#101;&#46;&#99;&#111;&#x6d;</a>.</p>
300
300
 
301
301
  <h2 id="LICENSE">LICENSE</h2>
302
302
 
303
303
  <p> Both Chef and this documentation are released under the terms of the
304
- Apache 2.0 License. You may view the license online: <a data-bare-link="true" href="http://www.apache.org/licenses/LICENSE-2.0.html">http://www.apache.org/licenses/LICENSE-2.0.html</a>
304
+ Apache 2.0 License. You may view the license online: <a href="http://www.apache.org/licenses/LICENSE-2.0.html" data-bare-link="true">http://www.apache.org/licenses/LICENSE-2.0.html</a>
305
305
  On some systems, the complete text of the Apache 2.0 License may be found in <code>/usr/share/common-licenses/Apache-2.0</code>.</p>
306
306
 
307
307
  <h2 id="CHEF">CHEF</h2>
308
308
 
309
- <p> Knife is distributed with Chef. <a data-bare-link="true" href="http://wiki.opscode.com/display/chef/Home">http://wiki.opscode.com/display/chef/Home</a></p>
309
+ <p> Knife is distributed with Chef. <a href="http://wiki.opscode.com/display/chef/Home" data-bare-link="true">http://wiki.opscode.com/display/chef/Home</a></p>
310
310
 
311
311
 
312
312
  <ol class='man-decor man-foot man foot'>
313
- <li class='tl'>Chef 10.20.0</li>
313
+ <li class='tl'>Chef 10.22.0.rc.0</li>
314
314
  <li class='tc'>February 2013</li>
315
315
  <li class='tr'>knife(1)</li>
316
316
  </ol>
@@ -258,12 +258,12 @@ and may become out of sync with the behavior of those libraries.</p>
258
258
 
259
259
  <h2 id="AUTHOR">AUTHOR</h2>
260
260
 
261
- <p> Chef was written by Adam Jacob <a data-bare-link="true" href="&#x6d;&#97;&#x69;&#x6c;&#116;&#111;&#x3a;&#x61;&#100;&#97;&#109;&#x40;&#x6f;&#x70;&#x73;&#99;&#x6f;&#100;&#101;&#x2e;&#x63;&#111;&#109;">&#x61;&#100;&#97;&#x6d;&#x40;&#x6f;&#112;&#x73;&#99;&#111;&#x64;&#x65;&#46;&#x63;&#111;&#x6d;</a> with many
261
+ <p> Chef was written by Adam Jacob <a data-bare-link="true" href="&#x6d;&#97;&#x69;&#x6c;&#116;&#x6f;&#x3a;&#x61;&#x64;&#x61;&#x6d;&#64;&#x6f;&#x70;&#115;&#x63;&#x6f;&#100;&#x65;&#x2e;&#x63;&#111;&#x6d;">&#97;&#100;&#x61;&#x6d;&#x40;&#111;&#112;&#115;&#x63;&#111;&#x64;&#101;&#x2e;&#99;&#x6f;&#109;</a> with many
262
262
  contributions from the community. Shef was written by Daniel DeLeo.</p>
263
263
 
264
264
  <h2 id="DOCUMENTATION">DOCUMENTATION</h2>
265
265
 
266
- <p> This manual page was written by Daniel DeLeo <a data-bare-link="true" href="&#x6d;&#x61;&#105;&#108;&#116;&#x6f;&#58;&#100;&#x61;&#110;&#x40;&#111;&#x70;&#x73;&#x63;&#x6f;&#x64;&#x65;&#46;&#x63;&#111;&#109;">&#100;&#x61;&#110;&#x40;&#111;&#x70;&#115;&#x63;&#111;&#x64;&#101;&#46;&#99;&#111;&#109;</a>.
266
+ <p> This manual page was written by Daniel DeLeo <a data-bare-link="true" href="&#x6d;&#97;&#x69;&#x6c;&#x74;&#x6f;&#x3a;&#100;&#97;&#x6e;&#x40;&#111;&#x70;&#x73;&#x63;&#x6f;&#x64;&#x65;&#46;&#99;&#x6f;&#x6d;">&#100;&#97;&#x6e;&#x40;&#111;&#112;&#x73;&#x63;&#111;&#100;&#x65;&#46;&#x63;&#111;&#x6d;</a>.
267
267
  Permission is granted to copy, distribute and / or modify this
268
268
  document under the terms of the Apache 2.0 License.</p>
269
269
 
@@ -273,7 +273,7 @@ and may become out of sync with the behavior of those libraries.</p>
273
273
 
274
274
 
275
275
  <ol class='man-decor man-foot man foot'>
276
- <li class='tl'>Chef 10.20.0</li>
276
+ <li class='tl'>Chef 10.22.0.rc.0</li>
277
277
  <li class='tc'>February 2013</li>
278
278
  <li class='tr'>shef(1)</li>
279
279
  </ol>
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "KNIFE\-BOOTSTRAP" "1" "February 2013" "Chef 10.20.0" "Chef Manual"
4
+ .TH "KNIFE\-BOOTSTRAP" "1" "February 2013" "Chef 10.22.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBknife\-bootstrap\fR \- Install Chef Client on a remote host
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "KNIFE\-CLIENT" "1" "February 2013" "Chef 10.20.0" "Chef Manual"
4
+ .TH "KNIFE\-CLIENT" "1" "February 2013" "Chef 10.22.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBknife\-client\fR \- Manage Chef API Clients
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "KNIFE\-CONFIGURE" "1" "February 2013" "Chef 10.20.0" "Chef Manual"
4
+ .TH "KNIFE\-CONFIGURE" "1" "February 2013" "Chef 10.22.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBknife\-configure\fR \- Generate configuration files for knife or Chef Client
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "KNIFE\-COOKBOOK\-SITE" "1" "February 2013" "Chef 10.20.0" "Chef Manual"
4
+ .TH "KNIFE\-COOKBOOK\-SITE" "1" "February 2013" "Chef 10.22.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBknife\-cookbook\-site\fR \- Install and update open source cookbooks
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "KNIFE\-COOKBOOK" "1" "February 2013" "Chef 10.20.0" "Chef Manual"
4
+ .TH "KNIFE\-COOKBOOK" "1" "February 2013" "Chef 10.22.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBknife\-cookbook\fR \- upload and manage chef cookbooks
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "KNIFE\-DATA\-BAG" "1" "February 2013" "Chef 10.20.0" "Chef Manual"
4
+ .TH "KNIFE\-DATA\-BAG" "1" "February 2013" "Chef 10.22.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBknife\-data\-bag\fR \- Store arbitrary data on a Chef Server
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "KNIFE\-ENVIRONMENT" "1" "February 2013" "Chef 10.20.0" "Chef Manual"
4
+ .TH "KNIFE\-ENVIRONMENT" "1" "February 2013" "Chef 10.22.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBknife\-environment\fR \- Define cookbook policies for the environments in your infrastructure
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "KNIFE\-EXEC" "1" "February 2013" "Chef 10.20.0" "Chef Manual"
4
+ .TH "KNIFE\-EXEC" "1" "February 2013" "Chef 10.22.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBknife\-exec\fR \- Run user scripts using the Chef API DSL
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "KNIFE\-INDEX" "1" "February 2013" "Chef 10.20.0" "Chef Manual"
4
+ .TH "KNIFE\-INDEX" "1" "February 2013" "Chef 10.22.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBknife\-index\fR \- Rebuild the search index on a Chef Server
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "KNIFE\-NODE" "1" "February 2013" "Chef 10.20.0" "Chef Manual"
4
+ .TH "KNIFE\-NODE" "1" "February 2013" "Chef 10.22.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBknife\-node\fR \- Manage the hosts in your infrastructure
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "KNIFE\-ROLE" "1" "February 2013" "Chef 10.20.0" "Chef Manual"
4
+ .TH "KNIFE\-ROLE" "1" "February 2013" "Chef 10.22.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBknife\-role\fR \- Group common configuration settings
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "KNIFE\-SEARCH" "1" "February 2013" "Chef 10.20.0" "Chef Manual"
4
+ .TH "KNIFE\-SEARCH" "1" "February 2013" "Chef 10.22.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBknife\-search\fR \- Find objects on a Chef Server by query
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "KNIFE\-SSH" "1" "February 2013" "Chef 10.20.0" "Chef Manual"
4
+ .TH "KNIFE\-SSH" "1" "February 2013" "Chef 10.22.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBknife\-ssh\fR \- Run a command or interactive session on multiple remote hosts
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "KNIFE\-STATUS" "1" "February 2013" "Chef 10.20.0" "Chef Manual"
4
+ .TH "KNIFE\-STATUS" "1" "February 2013" "Chef 10.22.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBknife\-status\fR \- Display status information for the nodes in your infrastructure
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "KNIFE\-TAG" "1" "February 2013" "Chef 10.20.0" "Chef Manual"
4
+ .TH "KNIFE\-TAG" "1" "February 2013" "Chef 10.22.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBknife\-tag\fR \- Apply tags to nodes on a Chef Server
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "KNIFE" "1" "February 2013" "Chef 10.20.0" "Chef Manual"
4
+ .TH "KNIFE" "1" "February 2013" "Chef 10.22.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBknife\fR \- Chef Server API client utility
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "SHEF" "1" "February 2013" "Chef 10.20.0" "Chef Manual"
4
+ .TH "SHEF" "1" "February 2013" "Chef 10.22.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBshef\fR \- Interactive Chef Console
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "CHEF\-CLIENT" "8" "February 2013" "Chef 10.20.0" "Chef Manual"
4
+ .TH "CHEF\-CLIENT" "8" "February 2013" "Chef 10.22.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBchef\-client\fR \- Runs a client node connecting to a chef\-server\.
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "CHEF\-EXPANDER" "8" "February 2013" "Chef 10.20.0" "Chef Manual"
4
+ .TH "CHEF\-EXPANDER" "8" "February 2013" "Chef 10.22.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBchef\-expander\fR \- fetches messages from RabbitMQ, processes, and loads into chef\-solr
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "CHEF\-EXPANDERCTL" "8" "February 2013" "Chef 10.20.0" "Chef Manual"
4
+ .TH "CHEF\-EXPANDERCTL" "8" "February 2013" "Chef 10.22.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBchef\-expanderctl\fR \- management program for chef\-expander
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "CHEF\-SERVER\-WEBUI" "8" "February 2013" "Chef 10.20.0" "Chef Manual"
4
+ .TH "CHEF\-SERVER\-WEBUI" "8" "February 2013" "Chef 10.22.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBchef\-server\-webui\fR \- Start the Chef Server merb application slice providing Web User Interface (Management Console)\.
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "CHEF\-SERVER" "8" "February 2013" "Chef 10.20.0" "Chef Manual"
4
+ .TH "CHEF\-SERVER" "8" "February 2013" "Chef 10.22.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBchef\-server\fR \- Start the Chef Server merb application slice\.
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "CHEF\-SOLO" "8" "February 2013" "Chef 10.20.0" "Chef Manual"
4
+ .TH "CHEF\-SOLO" "8" "February 2013" "Chef 10.22.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBchef\-solo\fR \- Runs chef in solo mode against a specified cookbook location\.
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "CHEF\-SOLR" "8" "February 2013" "Chef 10.20.0" "Chef Manual"
4
+ .TH "CHEF\-SOLR" "8" "February 2013" "Chef 10.22.0.rc.0" "Chef Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBchef\-solr\fR \- Runs as Chef\'s search server
@@ -787,7 +787,7 @@ class Chef
787
787
  cookbook_version.manifest = o
788
788
 
789
789
  # We don't need the following step when we decide to stop supporting deprecated operators in the metadata (e.g. <<, >>)
790
- cookbook_version.manifest["metadata"] = JSON.parse(cookbook_version.metadata.to_json)
790
+ cookbook_version.manifest["metadata"] = Chef::JSONCompat.from_json(cookbook_version.metadata.to_json)
791
791
 
792
792
  cookbook_version.freeze_version if o["frozen?"]
793
793
  cookbook_version
@@ -24,6 +24,21 @@ class Chef
24
24
  class JSONCompat
25
25
  JSON_MAX_NESTING = 1000
26
26
 
27
+ JSON_CLASS = "json_class".freeze
28
+
29
+ CHEF_APICLIENT = "Chef::ApiClient".freeze
30
+ CHEF_COOKBOOKVERSION = "Chef::CookbookVersion".freeze
31
+ CHEF_DATABAG = "Chef::DataBag".freeze
32
+ CHEF_DATABAGITEM = "Chef::DataBagItem".freeze
33
+ CHEF_ENVIRONMENT = "Chef::Environment".freeze
34
+ CHEF_NODE = "Chef::Node".freeze
35
+ CHEF_ROLE = "Chef::Role".freeze
36
+ CHEF_SANDBOX = "Chef::Sandbox".freeze
37
+ CHEF_RESOURCE = "Chef::Resource".freeze
38
+ CHEF_RESOURCECOLLECTION = "Chef::ResourceCollection".freeze
39
+ CHEF_WEBUIUSER = "Chef::WebUIUser".freeze
40
+ CHEF_OPENIDREGISTRAION = "Chef::OpenIDRegistration".freeze
41
+
27
42
  class <<self
28
43
  # See CHEF-1292/PL-538. Increase the max nesting for JSON, which defaults
29
44
  # to 19, and isn't enough for some (for example, a Node within a Node)
@@ -38,7 +53,49 @@ class Chef
38
53
 
39
54
  # Just call the JSON gem's parse method with a modified :max_nesting field
40
55
  def from_json(source, opts = {})
41
- ::JSON.parse(source, opts_add_max_nesting(opts))
56
+ obj = ::Yajl::Parser.parse(source)
57
+
58
+ unless obj.kind_of?(Hash) || obj.kind_of?(Array)
59
+ raise JSON::ParserError, "Top level JSON object must be a Hash or Array (actual: #{obj.class})"
60
+ end
61
+
62
+ # The old default in the json gem (which we are mimicing because we
63
+ # sadly rely on this misfeature) is to "create additions" i.e., convert
64
+ # JSON objects into ruby objects. Explicit :create_additions => false
65
+ # is required to turn it off.
66
+ if opts[:create_additions].nil? || opts[:create_additions]
67
+ map_to_rb_obj(obj)
68
+ else
69
+ obj
70
+ end
71
+ rescue Yajl::ParseError => e
72
+ raise JSON::ParserError, e.message
73
+ end
74
+
75
+ # Look at an object that's a basic type (from json parse) and convert it
76
+ # to an instance of Chef classes if desired.
77
+ def map_to_rb_obj(json_obj)
78
+ res = case json_obj
79
+ when Hash
80
+ mapped_hash = map_hash_to_rb_obj(json_obj)
81
+ if json_obj.has_key?(JSON_CLASS) && (class_to_inflate = class_for_json_class(json_obj[JSON_CLASS]))
82
+ class_to_inflate.json_create(mapped_hash)
83
+ else
84
+ mapped_hash
85
+ end
86
+ when Array
87
+ json_obj.map {|e| map_to_rb_obj(e) }
88
+ else
89
+ json_obj
90
+ end
91
+ res
92
+ end
93
+
94
+ def map_hash_to_rb_obj(json_hash)
95
+ json_hash.each do |key, value|
96
+ json_hash[key] = map_to_rb_obj(value)
97
+ end
98
+ json_hash
42
99
  end
43
100
 
44
101
  def to_json(obj, opts = nil)
@@ -48,6 +105,42 @@ class Chef
48
105
  def to_json_pretty(obj, opts = nil)
49
106
  ::JSON.pretty_generate(obj, opts_add_max_nesting(opts))
50
107
  end
108
+
109
+
110
+ def class_for_json_class(json_class)
111
+ case json_class
112
+ when CHEF_APICLIENT
113
+ Chef::ApiClient
114
+ when CHEF_COOKBOOKVERSION
115
+ Chef::CookbookVersion
116
+ when CHEF_DATABAG
117
+ Chef::DataBag
118
+ when CHEF_DATABAGITEM
119
+ Chef::DataBagItem
120
+ when CHEF_ENVIRONMENT
121
+ Chef::Environment
122
+ when CHEF_NODE
123
+ Chef::Node
124
+ when CHEF_ROLE
125
+ Chef::Role
126
+ when CHEF_SANDBOX
127
+ Chef::Sandbox
128
+ when CHEF_RESOURCE
129
+ Chef::Resource
130
+ when CHEF_RESOURCECOLLECTION
131
+ Chef::ResourceCollection
132
+ when CHEF_WEBUIUSER
133
+ Chef::WebUIUser
134
+ when CHEF_OPENIDREGISTRAION
135
+ Chef::OpenIDRegistration
136
+ when /^Chef::Resource/
137
+ Chef::Resource.find_subclass_by_name(json_class)
138
+ else
139
+ raise JSON::ParserError, "Unsupported `json_class` type '#{json_class}'"
140
+ end
141
+ end
142
+
51
143
  end
52
144
  end
53
145
  end
146
+