corl 0.5.1 → 0.5.2

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 (241) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/Gemfile.lock +8 -6
  4. data/VERSION +1 -1
  5. data/bootstrap/os/ubuntu/00_base.sh +2 -2
  6. data/bootstrap/os/ubuntu/05_ruby.sh +14 -2
  7. data/corl.gemspec +175 -5
  8. data/lib/CORL/builder/identity.rb +1 -1
  9. data/lib/CORL/builder/package.rb +1 -1
  10. data/lib/CORL/configuration/file.rb +7 -13
  11. data/lib/CORL/machine/physical.rb +1 -1
  12. data/lib/CORL/machine/vagrant.rb +12 -4
  13. data/lib/CORL/network/CORL.rb +1 -1
  14. data/lib/CORL/node/AWS.rb +25 -23
  15. data/lib/CORL/node/local.rb +1 -1
  16. data/lib/CORL/node/rackspace.rb +13 -15
  17. data/lib/CORL/node/vagrant.rb +1 -1
  18. data/lib/CORL/provisioner/puppetnode.rb +1 -1
  19. data/lib/core/mixin/action/keypair.rb +6 -6
  20. data/lib/core/mixin/action/registration.rb +39 -11
  21. data/lib/core/mod/fog_aws_server.rb +1 -3
  22. data/lib/core/plugin/builder.rb +1 -1
  23. data/lib/core/plugin/cloud_action.rb +59 -49
  24. data/lib/core/plugin/configuration.rb +4 -3
  25. data/lib/core/plugin/fog_machine.rb +10 -2
  26. data/lib/core/plugin/fog_node.rb +10 -4
  27. data/lib/core/plugin/machine.rb +2 -8
  28. data/lib/core/plugin/network.rb +9 -3
  29. data/lib/core/plugin/node.rb +30 -31
  30. data/lib/core/plugin/provisioner.rb +1 -1
  31. data/lib/core/vagrant/Vagrantfile +4 -1
  32. data/lib/core/vagrant/plugins.rb +6 -4
  33. data/lib/corl.rb +1 -1
  34. data/lib/nucleon/action/cloud/config.rb +167 -100
  35. data/lib/nucleon/action/cloud/create.rb +5 -1
  36. data/lib/nucleon/action/cloud/images.rb +10 -7
  37. data/lib/nucleon/action/cloud/inspect.rb +8 -6
  38. data/lib/nucleon/action/cloud/machines.rb +10 -7
  39. data/lib/nucleon/action/cloud/regions.rb +13 -8
  40. data/lib/nucleon/action/cloud/remote.rb +68 -0
  41. data/lib/nucleon/action/cloud/settings.rb +33 -47
  42. data/lib/nucleon/action/cloud/vagrantfile.rb +34 -17
  43. data/lib/nucleon/action/node/IP.rb +2 -2
  44. data/lib/nucleon/action/node/SSH.rb +3 -3
  45. data/lib/nucleon/action/node/authorize.rb +2 -2
  46. data/lib/nucleon/action/node/bootstrap.rb +17 -30
  47. data/lib/nucleon/action/node/build.rb +4 -4
  48. data/lib/nucleon/action/node/cache.rb +2 -4
  49. data/lib/nucleon/action/node/destroy.rb +25 -26
  50. data/lib/nucleon/action/node/exec.rb +2 -2
  51. data/lib/nucleon/action/node/fact.rb +10 -5
  52. data/lib/nucleon/action/node/group.rb +10 -5
  53. data/lib/nucleon/action/node/identity.rb +6 -8
  54. data/lib/nucleon/action/node/image.rb +3 -3
  55. data/lib/nucleon/action/node/keypair.rb +2 -2
  56. data/lib/nucleon/action/node/lookup.rb +2 -4
  57. data/lib/nucleon/action/node/provision.rb +2 -2
  58. data/lib/nucleon/action/node/reboot.rb +3 -3
  59. data/lib/nucleon/action/node/revoke.rb +2 -2
  60. data/lib/nucleon/action/node/seed.rb +28 -43
  61. data/lib/nucleon/action/node/spawn.rb +19 -14
  62. data/lib/nucleon/action/node/start.rb +3 -3
  63. data/lib/nucleon/action/node/status.rb +8 -8
  64. data/lib/nucleon/action/node/stop.rb +3 -3
  65. data/lib/nucleon/action/plugin/create.rb +10 -13
  66. data/lib/nucleon/action/plugin/list.rb +7 -7
  67. data/lib/nucleon/action/plugin/template/nucleon.action.erb +2 -2
  68. data/lib/nucleon/action/plugins.rb +12 -1
  69. data/lib/nucleon/event/puppet.rb +1 -1
  70. data/lib/nucleon/extension/corl_config.rb +26 -0
  71. data/lib/nucleon/template/environment.rb +1 -1
  72. data/locales/en.yml +483 -90
  73. data/rdoc/site/0.5.1/CORL/Build.html +781 -0
  74. data/rdoc/site/0.5.1/CORL/Builder/Identity.html +596 -0
  75. data/rdoc/site/0.5.1/CORL/Builder/Package.html +600 -0
  76. data/rdoc/site/0.5.1/CORL/Builder.html +384 -0
  77. data/rdoc/site/0.5.1/CORL/Configuration/File.html +1186 -0
  78. data/rdoc/site/0.5.1/CORL/Configuration.html +383 -0
  79. data/rdoc/site/0.5.1/CORL/Errors.html +383 -0
  80. data/rdoc/site/0.5.1/CORL/Facade.html +927 -0
  81. data/rdoc/site/0.5.1/CORL/Machine/AWS.html +777 -0
  82. data/rdoc/site/0.5.1/CORL/Machine/Fog.html +1313 -0
  83. data/rdoc/site/0.5.1/CORL/Machine/Physical.html +1083 -0
  84. data/rdoc/site/0.5.1/CORL/Machine/Rackspace.html +558 -0
  85. data/rdoc/site/0.5.1/CORL/Machine/Vagrant.html +1344 -0
  86. data/rdoc/site/0.5.1/CORL/Machine.html +387 -0
  87. data/rdoc/site/0.5.1/CORL/Mixin/Action/Keypair.html +616 -0
  88. data/rdoc/site/0.5.1/CORL/Mixin/Action/Registration.html +469 -0
  89. data/rdoc/site/0.5.1/CORL/Mixin/Action.html +384 -0
  90. data/rdoc/site/0.5.1/CORL/Mixin/Builder/Global.html +628 -0
  91. data/rdoc/site/0.5.1/CORL/Mixin/Builder/Instance.html +720 -0
  92. data/rdoc/site/0.5.1/CORL/Mixin/Builder.html +383 -0
  93. data/rdoc/site/0.5.1/CORL/Mixin/Lookup.html +1315 -0
  94. data/rdoc/site/0.5.1/CORL/Mixin/Machine/SSH.html +699 -0
  95. data/rdoc/site/0.5.1/CORL/Mixin/Machine.html +383 -0
  96. data/rdoc/site/0.5.1/CORL/Mixin/Macro/NetworkSettings.html +508 -0
  97. data/rdoc/site/0.5.1/CORL/Mixin/Macro.html +383 -0
  98. data/rdoc/site/0.5.1/CORL/Mixin.html +388 -0
  99. data/rdoc/site/0.5.1/CORL/Network/CORL.html +435 -0
  100. data/rdoc/site/0.5.1/CORL/Network.html +383 -0
  101. data/rdoc/site/0.5.1/CORL/Node/AWS.html +760 -0
  102. data/rdoc/site/0.5.1/CORL/Node/Fog.html +1268 -0
  103. data/rdoc/site/0.5.1/CORL/Node/Local.html +468 -0
  104. data/rdoc/site/0.5.1/CORL/Node/Rackspace.html +753 -0
  105. data/rdoc/site/0.5.1/CORL/Node/Vagrant.html +1497 -0
  106. data/rdoc/site/0.5.1/CORL/Node.html +387 -0
  107. data/rdoc/site/0.5.1/CORL/Plugin/Builder.html +524 -0
  108. data/rdoc/site/0.5.1/CORL/Plugin/Configuration.html +1294 -0
  109. data/rdoc/site/0.5.1/CORL/Plugin/Machine.html +1323 -0
  110. data/rdoc/site/0.5.1/CORL/Plugin/Network.html +1766 -0
  111. data/rdoc/site/0.5.1/CORL/Plugin/Node.html +4263 -0
  112. data/rdoc/site/0.5.1/CORL/Plugin/Provisioner.html +1139 -0
  113. data/rdoc/site/0.5.1/CORL/Plugin.html +673 -0
  114. data/rdoc/site/0.5.1/CORL/Provisioner/Puppetnode.html +1201 -0
  115. data/rdoc/site/0.5.1/CORL/Provisioner.html +383 -0
  116. data/rdoc/site/0.5.1/CORL/Util/Puppet/Resource.html +1082 -0
  117. data/rdoc/site/0.5.1/CORL/Util/Puppet/ResourceGroup.html +964 -0
  118. data/rdoc/site/0.5.1/CORL/Util/Puppet.html +1131 -0
  119. data/rdoc/site/0.5.1/CORL/Util.html +385 -0
  120. data/rdoc/site/0.5.1/CORL/Vagrant/Config.html +967 -0
  121. data/rdoc/site/0.5.1/CORL/Vagrant.html +462 -0
  122. data/rdoc/site/0.5.1/CORL.html +496 -0
  123. data/rdoc/site/0.5.1/Fog/Compute/AWS/Server.html +467 -0
  124. data/rdoc/site/0.5.1/Fog/Compute/AWS.html +389 -0
  125. data/rdoc/site/0.5.1/Fog/Compute/RackspaceV2/Server.html +452 -0
  126. data/rdoc/site/0.5.1/Fog/Compute/RackspaceV2.html +389 -0
  127. data/rdoc/site/0.5.1/Fog/Compute.html +384 -0
  128. data/rdoc/site/0.5.1/Fog.html +384 -0
  129. data/rdoc/site/0.5.1/Hiera/Backend.html +466 -0
  130. data/rdoc/site/0.5.1/Hiera/Corl_logger.html +493 -0
  131. data/rdoc/site/0.5.1/Hiera.html +390 -0
  132. data/rdoc/site/0.5.1/Nucleon/Action/Cloud/Config.html +978 -0
  133. data/rdoc/site/0.5.1/Nucleon/Action/Cloud/Create.html +562 -0
  134. data/rdoc/site/0.5.1/Nucleon/Action/Cloud/Images.html +596 -0
  135. data/rdoc/site/0.5.1/Nucleon/Action/Cloud/Inspect.html +567 -0
  136. data/rdoc/site/0.5.1/Nucleon/Action/Cloud/Machines.html +591 -0
  137. data/rdoc/site/0.5.1/Nucleon/Action/Cloud/Regions.html +591 -0
  138. data/rdoc/site/0.5.1/Nucleon/Action/Cloud/Settings.html +878 -0
  139. data/rdoc/site/0.5.1/Nucleon/Action/Cloud/Vagrantfile.html +539 -0
  140. data/rdoc/site/0.5.1/Nucleon/Action/Cloud.html +390 -0
  141. data/rdoc/site/0.5.1/Nucleon/Action/Node/Authorize.html +567 -0
  142. data/rdoc/site/0.5.1/Nucleon/Action/Node/Bootstrap.html +628 -0
  143. data/rdoc/site/0.5.1/Nucleon/Action/Node/Build.html +550 -0
  144. data/rdoc/site/0.5.1/Nucleon/Action/Node/Cache.html +773 -0
  145. data/rdoc/site/0.5.1/Nucleon/Action/Node/Destroy.html +597 -0
  146. data/rdoc/site/0.5.1/Nucleon/Action/Node/Exec.html +554 -0
  147. data/rdoc/site/0.5.1/Nucleon/Action/Node/Fact.html +733 -0
  148. data/rdoc/site/0.5.1/Nucleon/Action/Node/Facts.html +505 -0
  149. data/rdoc/site/0.5.1/Nucleon/Action/Node/Group.html +729 -0
  150. data/rdoc/site/0.5.1/Nucleon/Action/Node/Groups.html +505 -0
  151. data/rdoc/site/0.5.1/Nucleon/Action/Node/IP.html +477 -0
  152. data/rdoc/site/0.5.1/Nucleon/Action/Node/Identity.html +614 -0
  153. data/rdoc/site/0.5.1/Nucleon/Action/Node/Image.html +597 -0
  154. data/rdoc/site/0.5.1/Nucleon/Action/Node/Keypair.html +596 -0
  155. data/rdoc/site/0.5.1/Nucleon/Action/Node/Lookup.html +579 -0
  156. data/rdoc/site/0.5.1/Nucleon/Action/Node/Provision.html +577 -0
  157. data/rdoc/site/0.5.1/Nucleon/Action/Node/Reboot.html +597 -0
  158. data/rdoc/site/0.5.1/Nucleon/Action/Node/Revoke.html +565 -0
  159. data/rdoc/site/0.5.1/Nucleon/Action/Node/SSH.html +607 -0
  160. data/rdoc/site/0.5.1/Nucleon/Action/Node/Seed.html +626 -0
  161. data/rdoc/site/0.5.1/Nucleon/Action/Node/Spawn.html +699 -0
  162. data/rdoc/site/0.5.1/Nucleon/Action/Node/Start.html +597 -0
  163. data/rdoc/site/0.5.1/Nucleon/Action/Node/Status.html +615 -0
  164. data/rdoc/site/0.5.1/Nucleon/Action/Node/Stop.html +597 -0
  165. data/rdoc/site/0.5.1/Nucleon/Action/Node.html +406 -0
  166. data/rdoc/site/0.5.1/Nucleon/Action/Plugin/Create.html +736 -0
  167. data/rdoc/site/0.5.1/Nucleon/Action/Plugin/List.html +570 -0
  168. data/rdoc/site/0.5.1/Nucleon/Action/Plugin.html +384 -0
  169. data/rdoc/site/0.5.1/Nucleon/Action/Plugins.html +435 -0
  170. data/rdoc/site/0.5.1/Nucleon/Action.html +417 -0
  171. data/rdoc/site/0.5.1/Nucleon/Config.html +401 -0
  172. data/rdoc/site/0.5.1/Nucleon/Event/Puppet.html +717 -0
  173. data/rdoc/site/0.5.1/Nucleon/Event.html +383 -0
  174. data/rdoc/site/0.5.1/Nucleon/Plugin/Base.html +389 -0
  175. data/rdoc/site/0.5.1/Nucleon/Plugin/CloudAction.html +894 -0
  176. data/rdoc/site/0.5.1/Nucleon/Plugin.html +384 -0
  177. data/rdoc/site/0.5.1/Nucleon/Template/Environment.html +572 -0
  178. data/rdoc/site/0.5.1/Nucleon/Template.html +383 -0
  179. data/rdoc/site/0.5.1/Nucleon.html +421 -0
  180. data/rdoc/site/0.5.1/Object.html +402 -0
  181. data/rdoc/site/0.5.1/Puppet/DataBinding/Corl.html +389 -0
  182. data/rdoc/site/0.5.1/Puppet/DataBinding.html +382 -0
  183. data/rdoc/site/0.5.1/Puppet/Indirector/Corl.html +501 -0
  184. data/rdoc/site/0.5.1/Puppet/Indirector.html +382 -0
  185. data/rdoc/site/0.5.1/Puppet/Parser/Functions.html +524 -0
  186. data/rdoc/site/0.5.1/Puppet/Parser.html +382 -0
  187. data/rdoc/site/0.5.1/Puppet.html +382 -0
  188. data/rdoc/site/0.5.1/README_rdoc.html +384 -0
  189. data/rdoc/site/0.5.1/Vagrant/Config/Loader.html +443 -0
  190. data/rdoc/site/0.5.1/Vagrant/Config.html +383 -0
  191. data/rdoc/site/0.5.1/Vagrant/Vagrantfile.html +436 -0
  192. data/rdoc/site/0.5.1/Vagrant.html +390 -0
  193. data/rdoc/site/0.5.1/VagrantPlugins/CORL/Action/DeleteCache.html +446 -0
  194. data/rdoc/site/0.5.1/VagrantPlugins/CORL/Action/InitKeys.html +452 -0
  195. data/rdoc/site/0.5.1/VagrantPlugins/CORL/Action/LinkNetwork.html +450 -0
  196. data/rdoc/site/0.5.1/VagrantPlugins/CORL/Action.html +385 -0
  197. data/rdoc/site/0.5.1/VagrantPlugins/CORL/BaseAction.html +535 -0
  198. data/rdoc/site/0.5.1/VagrantPlugins/CORL/Command/Launcher.html +577 -0
  199. data/rdoc/site/0.5.1/VagrantPlugins/CORL/Command.html +383 -0
  200. data/rdoc/site/0.5.1/VagrantPlugins/CORL/Config/CORL.html +776 -0
  201. data/rdoc/site/0.5.1/VagrantPlugins/CORL/Config.html +383 -0
  202. data/rdoc/site/0.5.1/VagrantPlugins/CORL/Plugin.html +389 -0
  203. data/rdoc/site/0.5.1/VagrantPlugins/CORL/Provisioner/CORL.html +580 -0
  204. data/rdoc/site/0.5.1/VagrantPlugins/CORL/Provisioner.html +383 -0
  205. data/rdoc/site/0.5.1/VagrantPlugins/CORL.html +390 -0
  206. data/rdoc/site/0.5.1/VagrantPlugins.html +390 -0
  207. data/rdoc/site/0.5.1/created.rid +114 -0
  208. data/rdoc/site/0.5.1/images/add.png +0 -0
  209. data/rdoc/site/0.5.1/images/brick.png +0 -0
  210. data/rdoc/site/0.5.1/images/brick_link.png +0 -0
  211. data/rdoc/site/0.5.1/images/bug.png +0 -0
  212. data/rdoc/site/0.5.1/images/bullet_black.png +0 -0
  213. data/rdoc/site/0.5.1/images/bullet_toggle_minus.png +0 -0
  214. data/rdoc/site/0.5.1/images/bullet_toggle_plus.png +0 -0
  215. data/rdoc/site/0.5.1/images/date.png +0 -0
  216. data/rdoc/site/0.5.1/images/delete.png +0 -0
  217. data/rdoc/site/0.5.1/images/find.png +0 -0
  218. data/rdoc/site/0.5.1/images/loadingAnimation.gif +0 -0
  219. data/rdoc/site/0.5.1/images/macFFBgHack.png +0 -0
  220. data/rdoc/site/0.5.1/images/package.png +0 -0
  221. data/rdoc/site/0.5.1/images/page_green.png +0 -0
  222. data/rdoc/site/0.5.1/images/page_white_text.png +0 -0
  223. data/rdoc/site/0.5.1/images/page_white_width.png +0 -0
  224. data/rdoc/site/0.5.1/images/plugin.png +0 -0
  225. data/rdoc/site/0.5.1/images/ruby.png +0 -0
  226. data/rdoc/site/0.5.1/images/tag_blue.png +0 -0
  227. data/rdoc/site/0.5.1/images/tag_green.png +0 -0
  228. data/rdoc/site/0.5.1/images/transparent.png +0 -0
  229. data/rdoc/site/0.5.1/images/wrench.png +0 -0
  230. data/rdoc/site/0.5.1/images/wrench_orange.png +0 -0
  231. data/rdoc/site/0.5.1/images/zoom.png +0 -0
  232. data/rdoc/site/0.5.1/index.html +383 -0
  233. data/rdoc/site/0.5.1/js/darkfish.js +155 -0
  234. data/rdoc/site/0.5.1/js/jquery.js +18 -0
  235. data/rdoc/site/0.5.1/js/navigation.js +142 -0
  236. data/rdoc/site/0.5.1/js/search.js +94 -0
  237. data/rdoc/site/0.5.1/js/search_index.js +1 -0
  238. data/rdoc/site/0.5.1/js/searcher.js +228 -0
  239. data/rdoc/site/0.5.1/rdoc.css +543 -0
  240. data/rdoc/site/0.5.1/table_of_contents.html +2005 -0
  241. metadata +174 -4
@@ -0,0 +1,4263 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
6
+
7
+ <title>class CORL::Plugin::Node - corl 0.5.1</title>
8
+
9
+ <link type="text/css" media="screen" href="../../rdoc.css" rel="stylesheet">
10
+
11
+ <script type="text/javascript">
12
+ var rdoc_rel_prefix = "../../";
13
+ </script>
14
+
15
+ <script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
16
+ <script type="text/javascript" charset="utf-8" src="../../js/navigation.js"></script>
17
+ <script type="text/javascript" charset="utf-8" src="../../js/search_index.js"></script>
18
+ <script type="text/javascript" charset="utf-8" src="../../js/search.js"></script>
19
+ <script type="text/javascript" charset="utf-8" src="../../js/searcher.js"></script>
20
+ <script type="text/javascript" charset="utf-8" src="../../js/darkfish.js"></script>
21
+
22
+
23
+ <body id="top" class="class">
24
+ <nav id="metadata">
25
+ <nav id="home-section" class="section">
26
+ <h3 class="section-header">
27
+ <a href="../../index.html">Home</a>
28
+ <a href="../../table_of_contents.html#classes">Classes</a>
29
+ <a href="../../table_of_contents.html#methods">Methods</a>
30
+ </h3>
31
+ </nav>
32
+
33
+
34
+ <nav id="search-section" class="section project-section" class="initially-hidden">
35
+ <form action="#" method="get" accept-charset="utf-8">
36
+ <h3 class="section-header">
37
+ <input type="text" name="search" placeholder="Search" id="search-field"
38
+ title="Type to search, Up and Down to navigate, Enter to load">
39
+ </h3>
40
+ </form>
41
+
42
+ <ul id="search-results" class="initially-hidden"></ul>
43
+ </nav>
44
+
45
+
46
+ <div id="file-metadata">
47
+ <nav id="file-list-section" class="section">
48
+ <h3 class="section-header">Defined In</h3>
49
+ <ul>
50
+ <li>lib/core/plugin/node.rb
51
+ </ul>
52
+ </nav>
53
+
54
+
55
+ </div>
56
+
57
+ <div id="class-metadata">
58
+
59
+ <nav id="parent-class-section" class="section">
60
+ <h3 class="section-header">Parent</h3>
61
+
62
+ <p class="link">CORL.plugin_class(:nucleon, :base)
63
+
64
+ </nav>
65
+
66
+ <!-- Included Modules -->
67
+ <nav id="includes-section" class="section">
68
+ <h3 class="section-header">Included Modules</h3>
69
+
70
+ <ul class="link-list">
71
+
72
+
73
+ <li><span class="include">Parallel</span>
74
+
75
+
76
+ </ul>
77
+ </nav>
78
+
79
+ <!-- Method Quickref -->
80
+ <nav id="method-list-section" class="section">
81
+ <h3 class="section-header">Methods</h3>
82
+
83
+ <ul class="link-list">
84
+
85
+ <li><a href="#method-c-build_info">::build_info</a>
86
+
87
+ <li><a href="#method-c-translate">::translate</a>
88
+
89
+ <li><a href="#method-c-translate_reference">::translate_reference</a>
90
+
91
+ <li><a href="#method-i-action">#action</a>
92
+
93
+ <li><a href="#method-i-attach_keys">#attach_keys</a>
94
+
95
+ <li><a href="#method-i-bootstrap">#bootstrap</a>
96
+
97
+ <li><a href="#method-i-bootstrap_script">#bootstrap_script</a>
98
+
99
+ <li><a href="#method-i-bootstrap_script-3D">#bootstrap_script=</a>
100
+
101
+ <li><a href="#method-i-build">#build</a>
102
+
103
+ <li><a href="#method-i-build_provider">#build_provider</a>
104
+
105
+ <li><a href="#method-i-build_provisioner">#build_provisioner</a>
106
+
107
+ <li><a href="#method-i-build_provisioners">#build_provisioners</a>
108
+
109
+ <li><a href="#method-i-build_time">#build_time</a>
110
+
111
+ <li><a href="#method-i-build_time-3D">#build_time=</a>
112
+
113
+ <li><a href="#method-i-clear_remote_cache">#clear_remote_cache</a>
114
+
115
+ <li><a href="#method-i-cli">#cli</a>
116
+
117
+ <li><a href="#method-i-cli_capture">#cli_capture</a>
118
+
119
+ <li><a href="#method-i-cli_check">#cli_check</a>
120
+
121
+ <li><a href="#method-i-command">#command</a>
122
+
123
+ <li><a href="#method-i-create">#create</a>
124
+
125
+ <li><a href="#method-i-create_facts_post">#create_facts_post</a>
126
+
127
+ <li><a href="#method-i-create_image">#create_image</a>
128
+
129
+ <li><a href="#method-i-create_machine">#create_machine</a>
130
+
131
+ <li><a href="#method-i-custom_facts">#custom_facts</a>
132
+
133
+ <li><a href="#method-i-custom_facts-3D">#custom_facts=</a>
134
+
135
+ <li><a href="#method-i-delete_facts_post">#delete_facts_post</a>
136
+
137
+ <li><a href="#method-i-delete_keys">#delete_keys</a>
138
+
139
+ <li><a href="#method-i-delete_remote_cache_setting">#delete_remote_cache_setting</a>
140
+
141
+ <li><a href="#method-i-destroy">#destroy</a>
142
+
143
+ <li><a href="#method-i-download">#download</a>
144
+
145
+ <li><a href="#method-i-ensure_custom_facts">#ensure_custom_facts</a>
146
+
147
+ <li><a href="#method-i-exec">#exec</a>
148
+
149
+ <li><a href="#method-i-fact_var">#fact_var</a>
150
+
151
+ <li><a href="#method-i-fact_var-3D">#fact_var=</a>
152
+
153
+ <li><a href="#method-i-facts">#facts</a>
154
+
155
+ <li><a href="#method-i-filter_output">#filter_output</a>
156
+
157
+ <li><a href="#method-i-hiera_override_dir">#hiera_override_dir</a>
158
+
159
+ <li><a href="#method-i-hiera_var">#hiera_var</a>
160
+
161
+ <li><a href="#method-i-hiera_var-3D">#hiera_var=</a>
162
+
163
+ <li><a href="#method-i-home">#home</a>
164
+
165
+ <li><a href="#method-i-hostname">#hostname</a>
166
+
167
+ <li><a href="#method-i-id">#id</a>
168
+
169
+ <li><a href="#method-i-image">#image</a>
170
+
171
+ <li><a href="#method-i-image-3D">#image=</a>
172
+
173
+ <li><a href="#method-i-image_id">#image_id</a>
174
+
175
+ <li><a href="#method-i-image_search_text">#image_search_text</a>
176
+
177
+ <li><a href="#method-i-images">#images</a>
178
+
179
+ <li><a href="#method-i-keypair">#keypair</a>
180
+
181
+ <li><a href="#method-i-keypair-3D">#keypair=</a>
182
+
183
+ <li><a href="#method-i-local-3F">#local?</a>
184
+
185
+ <li><a href="#method-i-local_machine">#local_machine</a>
186
+
187
+ <li><a href="#method-i-local_machine-3D">#local_machine=</a>
188
+
189
+ <li><a href="#method-i-localize">#localize</a>
190
+
191
+ <li><a href="#method-i-lookup">#lookup</a>
192
+
193
+ <li><a href="#method-i-machine">#machine</a>
194
+
195
+ <li><a href="#method-i-machine-3D">#machine=</a>
196
+
197
+ <li><a href="#method-i-machine_config">#machine_config</a>
198
+
199
+ <li><a href="#method-i-machine_type">#machine_type</a>
200
+
201
+ <li><a href="#method-i-machine_type_id">#machine_type_id</a>
202
+
203
+ <li><a href="#method-i-machine_types">#machine_types</a>
204
+
205
+ <li><a href="#method-i-method_missing">#method_missing</a>
206
+
207
+ <li><a href="#method-i-normalize">#normalize</a>
208
+
209
+ <li><a href="#method-i-private_ip">#private_ip</a>
210
+
211
+ <li><a href="#method-i-private_key">#private_key</a>
212
+
213
+ <li><a href="#method-i-private_key-3D">#private_key=</a>
214
+
215
+ <li><a href="#method-i-profiles">#profiles</a>
216
+
217
+ <li><a href="#method-i-profiles-3D">#profiles=</a>
218
+
219
+ <li><a href="#method-i-provisioner_info">#provisioner_info</a>
220
+
221
+ <li><a href="#method-i-provisioners">#provisioners</a>
222
+
223
+ <li><a href="#method-i-public_ip">#public_ip</a>
224
+
225
+ <li><a href="#method-i-public_key">#public_key</a>
226
+
227
+ <li><a href="#method-i-public_key-3D">#public_key=</a>
228
+
229
+ <li><a href="#method-i-reload">#reload</a>
230
+
231
+ <li><a href="#method-i-remote_cache_setting">#remote_cache_setting</a>
232
+
233
+ <li><a href="#method-i-remove_custom_facts">#remove_custom_facts</a>
234
+
235
+ <li><a href="#method-i-remove_plugin">#remove_plugin</a>
236
+
237
+ <li><a href="#method-i-render_image">#render_image</a>
238
+
239
+ <li><a href="#method-i-render_machine_type">#render_machine_type</a>
240
+
241
+ <li><a href="#method-i-run">#run</a>
242
+
243
+ <li><a href="#method-i-save">#save</a>
244
+
245
+ <li><a href="#method-i-send_files">#send_files</a>
246
+
247
+ <li><a href="#method-i-set_remote_cache_setting">#set_remote_cache_setting</a>
248
+
249
+ <li><a href="#method-i-ssh_path">#ssh_path</a>
250
+
251
+ <li><a href="#method-i-ssh_port">#ssh_port</a>
252
+
253
+ <li><a href="#method-i-ssh_port-3D">#ssh_port=</a>
254
+
255
+ <li><a href="#method-i-start">#start</a>
256
+
257
+ <li><a href="#method-i-state">#state</a>
258
+
259
+ <li><a href="#method-i-stop">#stop</a>
260
+
261
+ <li><a href="#method-i-terminal">#terminal</a>
262
+
263
+ <li><a href="#method-i-translate_reference">#translate_reference</a>
264
+
265
+ <li><a href="#method-i-upload">#upload</a>
266
+
267
+ <li><a href="#method-i-usable_image-3F">#usable_image?</a>
268
+
269
+ <li><a href="#method-i-user">#user</a>
270
+
271
+ <li><a href="#method-i-user-3D">#user=</a>
272
+
273
+ </ul>
274
+ </nav>
275
+
276
+ </div>
277
+
278
+ <div id="project-metadata">
279
+ <nav id="fileindex-section" class="section project-section">
280
+ <h3 class="section-header">Pages</h3>
281
+
282
+ <ul>
283
+
284
+ <li class="file"><a href="../../README_rdoc.html">README</a>
285
+
286
+ </ul>
287
+ </nav>
288
+
289
+ <nav id="classindex-section" class="section project-section">
290
+ <h3 class="section-header">Class and Module Index</h3>
291
+
292
+ <ul class="link-list">
293
+
294
+ <li><a href="../../CORL.html">CORL</a>
295
+
296
+ <li><a href="../../CORL/Build.html">CORL::Build</a>
297
+
298
+ <li><a href="../../CORL/Builder.html">CORL::Builder</a>
299
+
300
+ <li><a href="../../CORL/Builder/Identity.html">CORL::Builder::Identity</a>
301
+
302
+ <li><a href="../../CORL/Builder/Package.html">CORL::Builder::Package</a>
303
+
304
+ <li><a href="../../CORL/Configuration.html">CORL::Configuration</a>
305
+
306
+ <li><a href="../../CORL/Configuration/File.html">CORL::Configuration::File</a>
307
+
308
+ <li><a href="../../CORL/Errors.html">CORL::Errors</a>
309
+
310
+ <li><a href="../../CORL/Facade.html">CORL::Facade</a>
311
+
312
+ <li><a href="../../CORL/Machine.html">CORL::Machine</a>
313
+
314
+ <li><a href="../../CORL/Machine/AWS.html">CORL::Machine::AWS</a>
315
+
316
+ <li><a href="../../CORL/Machine/Fog.html">CORL::Machine::Fog</a>
317
+
318
+ <li><a href="../../CORL/Machine/Physical.html">CORL::Machine::Physical</a>
319
+
320
+ <li><a href="../../CORL/Machine/Rackspace.html">CORL::Machine::Rackspace</a>
321
+
322
+ <li><a href="../../CORL/Machine/Vagrant.html">CORL::Machine::Vagrant</a>
323
+
324
+ <li><a href="../../CORL/Mixin.html">CORL::Mixin</a>
325
+
326
+ <li><a href="../../CORL/Mixin/Action.html">CORL::Mixin::Action</a>
327
+
328
+ <li><a href="../../CORL/Mixin/Action/Keypair.html">CORL::Mixin::Action::Keypair</a>
329
+
330
+ <li><a href="../../CORL/Mixin/Action/Registration.html">CORL::Mixin::Action::Registration</a>
331
+
332
+ <li><a href="../../CORL/Mixin/Builder.html">CORL::Mixin::Builder</a>
333
+
334
+ <li><a href="../../CORL/Mixin/Builder/Global.html">CORL::Mixin::Builder::Global</a>
335
+
336
+ <li><a href="../../CORL/Mixin/Builder/Instance.html">CORL::Mixin::Builder::Instance</a>
337
+
338
+ <li><a href="../../CORL/Mixin/Lookup.html">CORL::Mixin::Lookup</a>
339
+
340
+ <li><a href="../../CORL/Mixin/Machine.html">CORL::Mixin::Machine</a>
341
+
342
+ <li><a href="../../CORL/Mixin/Machine/SSH.html">CORL::Mixin::Machine::SSH</a>
343
+
344
+ <li><a href="../../CORL/Mixin/Macro.html">CORL::Mixin::Macro</a>
345
+
346
+ <li><a href="../../CORL/Mixin/Macro/NetworkSettings.html">CORL::Mixin::Macro::NetworkSettings</a>
347
+
348
+ <li><a href="../../CORL/Network.html">CORL::Network</a>
349
+
350
+ <li><a href="../../CORL/Network/CORL.html">CORL::Network::CORL</a>
351
+
352
+ <li><a href="../../CORL/Node.html">CORL::Node</a>
353
+
354
+ <li><a href="../../CORL/Node/AWS.html">CORL::Node::AWS</a>
355
+
356
+ <li><a href="../../CORL/Node/Fog.html">CORL::Node::Fog</a>
357
+
358
+ <li><a href="../../CORL/Node/Local.html">CORL::Node::Local</a>
359
+
360
+ <li><a href="../../CORL/Node/Rackspace.html">CORL::Node::Rackspace</a>
361
+
362
+ <li><a href="../../CORL/Node/Vagrant.html">CORL::Node::Vagrant</a>
363
+
364
+ <li><a href="../../CORL/Plugin.html">CORL::Plugin</a>
365
+
366
+ <li><a href="../../CORL/Plugin/Builder.html">CORL::Plugin::Builder</a>
367
+
368
+ <li><a href="../../CORL/Plugin/Configuration.html">CORL::Plugin::Configuration</a>
369
+
370
+ <li><a href="../../CORL/Plugin/Machine.html">CORL::Plugin::Machine</a>
371
+
372
+ <li><a href="../../CORL/Plugin/Network.html">CORL::Plugin::Network</a>
373
+
374
+ <li><a href="../../CORL/Plugin/Node.html">CORL::Plugin::Node</a>
375
+
376
+ <li><a href="../../CORL/Plugin/Provisioner.html">CORL::Plugin::Provisioner</a>
377
+
378
+ <li><a href="../../CORL/Provisioner.html">CORL::Provisioner</a>
379
+
380
+ <li><a href="../../CORL/Provisioner/Puppetnode.html">CORL::Provisioner::Puppetnode</a>
381
+
382
+ <li><a href="../../CORL/Util.html">CORL::Util</a>
383
+
384
+ <li><a href="../../CORL/Util/Puppet.html">CORL::Util::Puppet</a>
385
+
386
+ <li><a href="../../CORL/Util/Puppet/Resource.html">CORL::Util::Puppet::Resource</a>
387
+
388
+ <li><a href="../../CORL/Util/Puppet/ResourceGroup.html">CORL::Util::Puppet::ResourceGroup</a>
389
+
390
+ <li><a href="../../CORL/Vagrant.html">CORL::Vagrant</a>
391
+
392
+ <li><a href="../../CORL/Vagrant/Config.html">CORL::Vagrant::Config</a>
393
+
394
+ <li><a href="../../Nucleon.html">Nucleon</a>
395
+
396
+ <li><a href="../../Nucleon/Action.html">Nucleon::Action</a>
397
+
398
+ <li><a href="../../Nucleon/Action/Cloud.html">Nucleon::Action::Cloud</a>
399
+
400
+ <li><a href="../../Nucleon/Action/Cloud/Config.html">Nucleon::Action::Cloud::Config</a>
401
+
402
+ <li><a href="../../Nucleon/Action/Cloud/Create.html">Nucleon::Action::Cloud::Create</a>
403
+
404
+ <li><a href="../../Nucleon/Action/Cloud/Images.html">Nucleon::Action::Cloud::Images</a>
405
+
406
+ <li><a href="../../Nucleon/Action/Cloud/Inspect.html">Nucleon::Action::Cloud::Inspect</a>
407
+
408
+ <li><a href="../../Nucleon/Action/Cloud/Machines.html">Nucleon::Action::Cloud::Machines</a>
409
+
410
+ <li><a href="../../Nucleon/Action/Cloud/Regions.html">Nucleon::Action::Cloud::Regions</a>
411
+
412
+ <li><a href="../../Nucleon/Action/Cloud/Settings.html">Nucleon::Action::Cloud::Settings</a>
413
+
414
+ <li><a href="../../Nucleon/Action/Cloud/Vagrantfile.html">Nucleon::Action::Cloud::Vagrantfile</a>
415
+
416
+ <li><a href="../../Nucleon/Action/Node.html">Nucleon::Action::Node</a>
417
+
418
+ <li><a href="../../Nucleon/Action/Node/Authorize.html">Nucleon::Action::Node::Authorize</a>
419
+
420
+ <li><a href="../../Nucleon/Action/Node/Bootstrap.html">Nucleon::Action::Node::Bootstrap</a>
421
+
422
+ <li><a href="../../Nucleon/Action/Node/Build.html">Nucleon::Action::Node::Build</a>
423
+
424
+ <li><a href="../../Nucleon/Action/Node/Cache.html">Nucleon::Action::Node::Cache</a>
425
+
426
+ <li><a href="../../Nucleon/Action/Node/Destroy.html">Nucleon::Action::Node::Destroy</a>
427
+
428
+ <li><a href="../../Nucleon/Action/Node/Exec.html">Nucleon::Action::Node::Exec</a>
429
+
430
+ <li><a href="../../Nucleon/Action/Node/Fact.html">Nucleon::Action::Node::Fact</a>
431
+
432
+ <li><a href="../../Nucleon/Action/Node/Facts.html">Nucleon::Action::Node::Facts</a>
433
+
434
+ <li><a href="../../Nucleon/Action/Node/Group.html">Nucleon::Action::Node::Group</a>
435
+
436
+ <li><a href="../../Nucleon/Action/Node/Groups.html">Nucleon::Action::Node::Groups</a>
437
+
438
+ <li><a href="../../Nucleon/Action/Node/IP.html">Nucleon::Action::Node::IP</a>
439
+
440
+ <li><a href="../../Nucleon/Action/Node/Identity.html">Nucleon::Action::Node::Identity</a>
441
+
442
+ <li><a href="../../Nucleon/Action/Node/Image.html">Nucleon::Action::Node::Image</a>
443
+
444
+ <li><a href="../../Nucleon/Action/Node/Keypair.html">Nucleon::Action::Node::Keypair</a>
445
+
446
+ <li><a href="../../Nucleon/Action/Node/Lookup.html">Nucleon::Action::Node::Lookup</a>
447
+
448
+ <li><a href="../../Nucleon/Action/Node/Provision.html">Nucleon::Action::Node::Provision</a>
449
+
450
+ <li><a href="../../Nucleon/Action/Node/Reboot.html">Nucleon::Action::Node::Reboot</a>
451
+
452
+ <li><a href="../../Nucleon/Action/Node/Revoke.html">Nucleon::Action::Node::Revoke</a>
453
+
454
+ <li><a href="../../Nucleon/Action/Node/SSH.html">Nucleon::Action::Node::SSH</a>
455
+
456
+ <li><a href="../../Nucleon/Action/Node/Seed.html">Nucleon::Action::Node::Seed</a>
457
+
458
+ <li><a href="../../Nucleon/Action/Node/Spawn.html">Nucleon::Action::Node::Spawn</a>
459
+
460
+ <li><a href="../../Nucleon/Action/Node/Start.html">Nucleon::Action::Node::Start</a>
461
+
462
+ <li><a href="../../Nucleon/Action/Node/Status.html">Nucleon::Action::Node::Status</a>
463
+
464
+ <li><a href="../../Nucleon/Action/Node/Stop.html">Nucleon::Action::Node::Stop</a>
465
+
466
+ <li><a href="../../Nucleon/Action/Plugin.html">Nucleon::Action::Plugin</a>
467
+
468
+ <li><a href="../../Nucleon/Action/Plugin/Create.html">Nucleon::Action::Plugin::Create</a>
469
+
470
+ <li><a href="../../Nucleon/Action/Plugin/List.html">Nucleon::Action::Plugin::List</a>
471
+
472
+ <li><a href="../../Nucleon/Action/Plugins.html">Nucleon::Action::Plugins</a>
473
+
474
+ <li><a href="../../Nucleon/Config.html">Nucleon::Config</a>
475
+
476
+ <li><a href="../../Nucleon/Event.html">Nucleon::Event</a>
477
+
478
+ <li><a href="../../Nucleon/Event/Puppet.html">Nucleon::Event::Puppet</a>
479
+
480
+ <li><a href="../../Nucleon/Plugin.html">Nucleon::Plugin</a>
481
+
482
+ <li><a href="../../Nucleon/Plugin/Base.html">Nucleon::Plugin::Base</a>
483
+
484
+ <li><a href="../../Nucleon/Plugin/CloudAction.html">Nucleon::Plugin::CloudAction</a>
485
+
486
+ <li><a href="../../Nucleon/Template.html">Nucleon::Template</a>
487
+
488
+ <li><a href="../../Nucleon/Template/Environment.html">Nucleon::Template::Environment</a>
489
+
490
+ <li><a href="../../VagrantPlugins.html">VagrantPlugins</a>
491
+
492
+ <li><a href="../../VagrantPlugins/CORL.html">VagrantPlugins::CORL</a>
493
+
494
+ <li><a href="../../VagrantPlugins/CORL/Action.html">VagrantPlugins::CORL::Action</a>
495
+
496
+ <li><a href="../../VagrantPlugins/CORL/Action/DeleteCache.html">VagrantPlugins::CORL::Action::DeleteCache</a>
497
+
498
+ <li><a href="../../VagrantPlugins/CORL/Action/InitKeys.html">VagrantPlugins::CORL::Action::InitKeys</a>
499
+
500
+ <li><a href="../../VagrantPlugins/CORL/Action/LinkNetwork.html">VagrantPlugins::CORL::Action::LinkNetwork</a>
501
+
502
+ <li><a href="../../VagrantPlugins/CORL/BaseAction.html">VagrantPlugins::CORL::BaseAction</a>
503
+
504
+ <li><a href="../../VagrantPlugins/CORL/Command.html">VagrantPlugins::CORL::Command</a>
505
+
506
+ <li><a href="../../VagrantPlugins/CORL/Command/Launcher.html">VagrantPlugins::CORL::Command::Launcher</a>
507
+
508
+ <li><a href="../../VagrantPlugins/CORL/Config.html">VagrantPlugins::CORL::Config</a>
509
+
510
+ <li><a href="../../VagrantPlugins/CORL/Config/CORL.html">VagrantPlugins::CORL::Config::CORL</a>
511
+
512
+ <li><a href="../../VagrantPlugins/CORL/Plugin.html">VagrantPlugins::CORL::Plugin</a>
513
+
514
+ <li><a href="../../VagrantPlugins/CORL/Provisioner.html">VagrantPlugins::CORL::Provisioner</a>
515
+
516
+ <li><a href="../../VagrantPlugins/CORL/Provisioner/CORL.html">VagrantPlugins::CORL::Provisioner::CORL</a>
517
+
518
+ <li><a href="../../Puppet.html">Puppet</a>
519
+
520
+ <li><a href="../../Puppet/DataBinding.html">Puppet::DataBinding</a>
521
+
522
+ <li><a href="../../Puppet/DataBinding/Corl.html">Puppet::DataBinding::Corl</a>
523
+
524
+ <li><a href="../../Puppet/Indirector.html">Puppet::Indirector</a>
525
+
526
+ <li><a href="../../Puppet/Indirector/Corl.html">Puppet::Indirector::Corl</a>
527
+
528
+ <li><a href="../../Puppet/Parser.html">Puppet::Parser</a>
529
+
530
+ <li><a href="../../Puppet/Parser/Functions.html">Puppet::Parser::Functions</a>
531
+
532
+ <li><a href="../../Fog.html">Fog</a>
533
+
534
+ <li><a href="../../Fog/Compute.html">Fog::Compute</a>
535
+
536
+ <li><a href="../../Fog/Compute/AWS.html">Fog::Compute::AWS</a>
537
+
538
+ <li><a href="../../Fog/Compute/AWS/Server.html">Fog::Compute::AWS::Server</a>
539
+
540
+ <li><a href="../../Fog/Compute/RackspaceV2.html">Fog::Compute::RackspaceV2</a>
541
+
542
+ <li><a href="../../Fog/Compute/RackspaceV2/Server.html">Fog::Compute::RackspaceV2::Server</a>
543
+
544
+ <li><a href="../../Vagrant.html">Vagrant</a>
545
+
546
+ <li><a href="../../Vagrant/Config.html">Vagrant::Config</a>
547
+
548
+ <li><a href="../../Vagrant/Config/Loader.html">Vagrant::Config::Loader</a>
549
+
550
+ <li><a href="../../Vagrant/Vagrantfile.html">Vagrant::Vagrantfile</a>
551
+
552
+ <li><a href="../../Hiera.html">Hiera</a>
553
+
554
+ <li><a href="../../Hiera/Backend.html">Hiera::Backend</a>
555
+
556
+ <li><a href="../../Hiera/Corl_logger.html">Hiera::Corl_logger</a>
557
+
558
+ <li><a href="../../Object.html">Object</a>
559
+
560
+ </ul>
561
+ </nav>
562
+
563
+ </div>
564
+ </nav>
565
+
566
+ <div id="documentation">
567
+ <h1 class="class">class CORL::Plugin::Node</h1>
568
+
569
+ <div id="description" class="description">
570
+
571
+ </div><!-- description -->
572
+
573
+
574
+
575
+
576
+ <section id="5Buntitled-5D" class="documentation-section">
577
+
578
+
579
+
580
+
581
+
582
+
583
+
584
+
585
+ <!-- Methods -->
586
+
587
+ <section id="public-class-5Buntitled-5D-method-details" class="method-section section">
588
+ <h3 class="section-header">Public Class Methods</h3>
589
+
590
+
591
+ <div id="method-c-build_info" class="method-detail ">
592
+
593
+ <div class="method-heading">
594
+ <span class="method-name">build_info</span><span
595
+ class="method-args">(namespace, plugin_type, data)</span>
596
+ <span class="method-click-advice">click to toggle source</span>
597
+ </div>
598
+
599
+
600
+ <div class="method-description">
601
+
602
+
603
+
604
+
605
+
606
+ <div class="method-source-code" id="build_info-source">
607
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 1260</span>
608
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">build_info</span>(<span class="ruby-identifier">namespace</span>, <span class="ruby-identifier">plugin_type</span>, <span class="ruby-identifier">data</span>)
609
+ <span class="ruby-identifier">data</span> = <span class="ruby-identifier">data</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp">/\s*,\s*/</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">data</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">String</span>)
610
+ <span class="ruby-keyword">super</span>(<span class="ruby-identifier">namespace</span>, <span class="ruby-identifier">plugin_type</span>, <span class="ruby-identifier">data</span>)
611
+ <span class="ruby-keyword">end</span></pre>
612
+ </div><!-- build_info-source -->
613
+
614
+ </div>
615
+
616
+
617
+
618
+
619
+ </div><!-- build_info-method -->
620
+
621
+
622
+ <div id="method-c-translate" class="method-detail ">
623
+
624
+ <div class="method-heading">
625
+ <span class="method-name">translate</span><span
626
+ class="method-args">(data)</span>
627
+ <span class="method-click-advice">click to toggle source</span>
628
+ </div>
629
+
630
+
631
+ <div class="method-description">
632
+
633
+
634
+
635
+
636
+
637
+ <div class="method-source-code" id="translate-source">
638
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 1267</span>
639
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">translate</span>(<span class="ruby-identifier">data</span>)
640
+ <span class="ruby-identifier">options</span> = <span class="ruby-keyword">super</span>(<span class="ruby-identifier">data</span>)
641
+
642
+ <span class="ruby-keyword">case</span> <span class="ruby-identifier">data</span>
643
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">String</span>
644
+ <span class="ruby-identifier">options</span> = { <span class="ruby-value">:name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">data</span> }
645
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">Hash</span>
646
+ <span class="ruby-identifier">options</span> = <span class="ruby-identifier">data</span>
647
+ <span class="ruby-keyword">end</span>
648
+
649
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">options</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-value">:name</span>)
650
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">matches</span> = <span class="ruby-identifier">translate_reference</span>(<span class="ruby-identifier">options</span>[<span class="ruby-value">:name</span>])
651
+ <span class="ruby-identifier">options</span>[<span class="ruby-value">:provider</span>] = <span class="ruby-identifier">matches</span>[<span class="ruby-value">:provider</span>]
652
+ <span class="ruby-identifier">options</span>[<span class="ruby-value">:name</span>] = <span class="ruby-identifier">matches</span>[<span class="ruby-value">:name</span>]
653
+
654
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Translating node options: #{options.inspect}&quot;</span>)
655
+ <span class="ruby-keyword">end</span>
656
+ <span class="ruby-keyword">end</span>
657
+ <span class="ruby-identifier">options</span>
658
+ <span class="ruby-keyword">end</span></pre>
659
+ </div><!-- translate-source -->
660
+
661
+ </div>
662
+
663
+
664
+
665
+
666
+ </div><!-- translate-method -->
667
+
668
+
669
+ <div id="method-c-translate_reference" class="method-detail ">
670
+
671
+ <div class="method-heading">
672
+ <span class="method-name">translate_reference</span><span
673
+ class="method-args">(reference)</span>
674
+ <span class="method-click-advice">click to toggle source</span>
675
+ </div>
676
+
677
+
678
+ <div class="method-description">
679
+
680
+
681
+
682
+
683
+
684
+ <div class="method-source-code" id="translate_reference-source">
685
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 1290</span>
686
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">translate_reference</span>(<span class="ruby-identifier">reference</span>)
687
+ <span class="ruby-comment"># ex: rackspace:::web1.staging.example.com</span>
688
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">reference</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">reference</span>.<span class="ruby-identifier">match</span>(<span class="ruby-regexp">/^\s*([a-zA-Z0-9_-]+):::([^\s]+)\s*$/</span>)
689
+ <span class="ruby-identifier">provider</span> = <span class="ruby-node">$1</span>
690
+ <span class="ruby-identifier">name</span> = <span class="ruby-node">$2</span>
691
+
692
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Translating node reference: #{provider} #{name}&quot;</span>)
693
+
694
+ <span class="ruby-identifier">info</span> = {
695
+ <span class="ruby-value">:provider</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">provider</span>,
696
+ <span class="ruby-value">:name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">name</span>
697
+ }
698
+
699
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Project reference info: #{info.inspect}&quot;</span>)
700
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">info</span>
701
+ <span class="ruby-keyword">end</span>
702
+ <span class="ruby-keyword">nil</span>
703
+ <span class="ruby-keyword">end</span></pre>
704
+ </div><!-- translate_reference-source -->
705
+
706
+ </div>
707
+
708
+
709
+
710
+
711
+ </div><!-- translate_reference-method -->
712
+
713
+
714
+ </section><!-- public-class-method-details -->
715
+
716
+ <section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
717
+ <h3 class="section-header">Public Instance Methods</h3>
718
+
719
+
720
+ <div id="method-i-action" class="method-detail ">
721
+
722
+ <div class="method-heading">
723
+ <span class="method-name">action</span><span
724
+ class="method-args">(provider, options = {}) { |op, data| ... }</span>
725
+ <span class="method-click-advice">click to toggle source</span>
726
+ </div>
727
+
728
+
729
+ <div class="method-description">
730
+
731
+
732
+
733
+
734
+
735
+ <div class="method-source-code" id="action-source">
736
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 880</span>
737
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">action</span>(<span class="ruby-identifier">provider</span>, <span class="ruby-identifier">options</span> = {})
738
+ <span class="ruby-identifier">codes</span> <span class="ruby-value">:network_load_error</span>
739
+
740
+ <span class="ruby-identifier">config</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">ensure</span>(<span class="ruby-identifier">options</span>).<span class="ruby-identifier">defaults</span>({
741
+ <span class="ruby-value">:log_level</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">Nucleon</span>.<span class="ruby-identifier">log_level</span>,
742
+ <span class="ruby-value">:net_remote</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">:edit</span>,
743
+ <span class="ruby-value">:net_provider</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">network</span>.<span class="ruby-identifier">plugin_provider</span>
744
+ })
745
+
746
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Executing remote action #{provider} with encoded arguments: #{config.export.inspect}&quot;</span>)
747
+
748
+ <span class="ruby-identifier">encoded_config</span> = <span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-constant">CLI</span>.<span class="ruby-identifier">encode</span>(<span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-constant">Data</span>.<span class="ruby-identifier">clean</span>(<span class="ruby-identifier">config</span>.<span class="ruby-identifier">export</span>))
749
+ <span class="ruby-identifier">action_config</span> = <span class="ruby-identifier">extended_config</span>(<span class="ruby-value">:action</span>, {
750
+ <span class="ruby-value">:command</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">provider</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-string">&#39;_&#39;</span>, <span class="ruby-string">&#39; &#39;</span>),
751
+ <span class="ruby-value">:data</span> =<span class="ruby-operator">&gt;</span> { <span class="ruby-value">:encoded</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">encoded_config</span> }
752
+ })
753
+
754
+ <span class="ruby-identifier">quiet</span> = <span class="ruby-identifier">config</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value">:quiet</span>, <span class="ruby-keyword">false</span>)
755
+ <span class="ruby-identifier">result</span> = <span class="ruby-identifier">command</span>(<span class="ruby-value">:corl</span>, { <span class="ruby-value">:subcommand</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">action_config</span>, <span class="ruby-value">:as_admin</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">true</span>, <span class="ruby-value">:quiet</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">quiet</span> }) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">op</span>, <span class="ruby-identifier">data</span><span class="ruby-operator">|</span>
756
+ <span class="ruby-keyword">yield</span>(<span class="ruby-identifier">op</span>, <span class="ruby-identifier">data</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
757
+ <span class="ruby-keyword">end</span>
758
+
759
+ <span class="ruby-comment"># Update local network configuration so we capture any updates</span>
760
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">result</span>.<span class="ruby-identifier">status</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">code</span>.<span class="ruby-identifier">success</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span> <span class="ruby-identifier">network</span>.<span class="ruby-identifier">load</span>({ <span class="ruby-value">:remote</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span>[<span class="ruby-value">:net_remote</span>], <span class="ruby-value">:pull</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">true</span> })
761
+ <span class="ruby-identifier">result</span>.<span class="ruby-identifier">status</span> = <span class="ruby-identifier">code</span>.<span class="ruby-identifier">network_load_error</span>
762
+ <span class="ruby-keyword">end</span>
763
+ <span class="ruby-identifier">result</span>
764
+ <span class="ruby-keyword">end</span></pre>
765
+ </div><!-- action-source -->
766
+
767
+ </div>
768
+
769
+
770
+
771
+
772
+ </div><!-- action-method -->
773
+
774
+
775
+ <div id="method-i-attach_keys" class="method-detail ">
776
+
777
+ <div class="method-heading">
778
+ <span class="method-name">attach_keys</span><span
779
+ class="method-args">(keypair)</span>
780
+ <span class="method-click-advice">click to toggle source</span>
781
+ </div>
782
+
783
+
784
+ <div class="method-description">
785
+
786
+
787
+
788
+
789
+
790
+ <div class="method-source-code" id="attach_keys-source">
791
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 564</span>
792
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">attach_keys</span>(<span class="ruby-identifier">keypair</span>)
793
+ <span class="ruby-identifier">base_name</span> = <span class="ruby-node">&quot;#{plugin_provider}-#{plugin_name}&quot;</span>
794
+ <span class="ruby-identifier">save_config</span> = {
795
+ <span class="ruby-value">:pull</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">false</span>,
796
+ <span class="ruby-value">:push</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">false</span>,
797
+ <span class="ruby-value">:message</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;Updating SSH keys for node #{plugin_provider} (#{plugin_name})&quot;</span>
798
+ }
799
+
800
+ <span class="ruby-identifier">active</span> = <span class="ruby-identifier">machine</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">machine</span>.<span class="ruby-identifier">running?</span>
801
+ <span class="ruby-identifier">result</span> = <span class="ruby-identifier">run</span>.<span class="ruby-identifier">authorize</span>({ <span class="ruby-value">:public_key</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">keypair</span>.<span class="ruby-identifier">ssh_key</span> }) <span class="ruby-keyword">if</span> <span class="ruby-identifier">active</span>
802
+ <span class="ruby-identifier">success</span> = <span class="ruby-keyword">false</span>
803
+
804
+ <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span> <span class="ruby-identifier">active</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">result</span>.<span class="ruby-identifier">status</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">code</span>.<span class="ruby-identifier">success</span>
805
+ <span class="ruby-identifier">private_key</span> = <span class="ruby-identifier">network</span>.<span class="ruby-identifier">attach_data</span>(<span class="ruby-value">:keys</span>, <span class="ruby-node">&quot;#{base_name}-id_#{keypair.type}&quot;</span>, <span class="ruby-identifier">keypair</span>.<span class="ruby-identifier">encrypted_key</span>)
806
+ <span class="ruby-identifier">public_key</span> = <span class="ruby-identifier">network</span>.<span class="ruby-identifier">attach_data</span>(<span class="ruby-value">:keys</span>, <span class="ruby-node">&quot;#{base_name}-id_#{keypair.type}.pub&quot;</span>, <span class="ruby-identifier">keypair</span>.<span class="ruby-identifier">ssh_key</span>)
807
+
808
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">private_key</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">public_key</span>
809
+ <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">chmod</span>(<span class="ruby-value">0600</span>, <span class="ruby-identifier">private_key</span>)
810
+ <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">chmod</span>(<span class="ruby-value">0644</span>, <span class="ruby-identifier">public_key</span>)
811
+
812
+ <span class="ruby-identifier">myself</span>.<span class="ruby-identifier">keypair</span> = <span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span>.<span class="ruby-identifier">generate</span>({ <span class="ruby-value">:private_key</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">keypair</span>.<span class="ruby-identifier">private_key</span> })
813
+ <span class="ruby-identifier">myself</span>.<span class="ruby-identifier">keypair</span>.<span class="ruby-identifier">store</span>(<span class="ruby-identifier">network</span>.<span class="ruby-identifier">key_cache_directory</span>, <span class="ruby-identifier">plugin_name</span>)
814
+
815
+ <span class="ruby-identifier">save_config</span>[<span class="ruby-value">:files</span>] = [ <span class="ruby-identifier">private_key</span>, <span class="ruby-identifier">public_key</span> ]
816
+
817
+ <span class="ruby-identifier">myself</span>.<span class="ruby-identifier">private_key</span> = <span class="ruby-identifier">private_key</span>
818
+ <span class="ruby-identifier">myself</span>.<span class="ruby-identifier">public_key</span> = <span class="ruby-identifier">public_key</span>
819
+
820
+ <span class="ruby-identifier">success</span> = <span class="ruby-identifier">save</span>(<span class="ruby-identifier">extended_config</span>(<span class="ruby-value">:key_save</span>, <span class="ruby-identifier">save_config</span>))
821
+ <span class="ruby-keyword">end</span>
822
+ <span class="ruby-keyword">end</span>
823
+ <span class="ruby-identifier">success</span>
824
+ <span class="ruby-keyword">end</span></pre>
825
+ </div><!-- attach_keys-source -->
826
+
827
+ </div>
828
+
829
+
830
+
831
+
832
+ </div><!-- attach_keys-method -->
833
+
834
+
835
+ <div id="method-i-bootstrap" class="method-detail ">
836
+
837
+ <div class="method-heading">
838
+ <span class="method-name">bootstrap</span><span
839
+ class="method-args">(local_path, options = {}) { |"send_| ... }</span>
840
+ <span class="method-click-advice">click to toggle source</span>
841
+ </div>
842
+
843
+
844
+ <div class="method-description">
845
+
846
+
847
+
848
+
849
+
850
+ <div class="method-source-code" id="bootstrap-source">
851
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 949</span>
852
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">bootstrap</span>(<span class="ruby-identifier">local_path</span>, <span class="ruby-identifier">options</span> = {})
853
+ <span class="ruby-identifier">config</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">ensure</span>(<span class="ruby-identifier">options</span>)
854
+ <span class="ruby-identifier">myself</span>.<span class="ruby-identifier">status</span> = <span class="ruby-identifier">code</span>.<span class="ruby-identifier">unknown_status</span>
855
+
856
+ <span class="ruby-identifier">bootstrap_name</span> = <span class="ruby-string">&#39;bootstrap&#39;</span>
857
+ <span class="ruby-identifier">bootstrap_path</span> = <span class="ruby-identifier">config</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value">:bootstrap_path</span>, <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-constant">CORL</span>.<span class="ruby-identifier">lib_path</span>, <span class="ruby-string">&#39;..&#39;</span>, <span class="ruby-identifier">bootstrap_name</span>))
858
+ <span class="ruby-identifier">bootstrap_glob</span> = <span class="ruby-identifier">config</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value">:bootstrap_glob</span>, <span class="ruby-string">&#39;**/*.sh&#39;</span>)
859
+ <span class="ruby-identifier">bootstrap_init</span> = <span class="ruby-identifier">config</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value">:bootstrap_init</span>, <span class="ruby-string">&#39;bootstrap.sh&#39;</span>)
860
+
861
+ <span class="ruby-identifier">user_home</span> = <span class="ruby-identifier">config</span>[<span class="ruby-value">:home</span>]
862
+ <span class="ruby-identifier">auth_files</span> = <span class="ruby-identifier">config</span>.<span class="ruby-identifier">get_array</span>(<span class="ruby-value">:auth_files</span>)
863
+
864
+ <span class="ruby-identifier">codes</span> <span class="ruby-value">:local_path_not_found</span>,
865
+ <span class="ruby-value">:home_path_lookup_failure</span>,
866
+ <span class="ruby-value">:auth_upload_failure</span>,
867
+ <span class="ruby-value">:root_auth_copy_failure</span>,
868
+ <span class="ruby-value">:bootstrap_upload_failure</span>,
869
+ <span class="ruby-value">:bootstrap_exec_failure</span>,
870
+ <span class="ruby-value">:reload_failure</span>
871
+
872
+ <span class="ruby-keyword">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">directory?</span>(<span class="ruby-identifier">local_path</span>)
873
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">user_home</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">user_home</span> = <span class="ruby-identifier">home</span>(<span class="ruby-identifier">config</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value">:home_env_var</span>, <span class="ruby-string">&#39;HOME&#39;</span>), <span class="ruby-identifier">config</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value">:force</span>, <span class="ruby-keyword">false</span>))
874
+ <span class="ruby-identifier">myself</span>.<span class="ruby-identifier">status</span> = <span class="ruby-identifier">code</span>.<span class="ruby-identifier">success</span>
875
+
876
+ <span class="ruby-comment"># Transmit authorisation / credential files</span>
877
+ <span class="ruby-identifier">package_files</span> = [ <span class="ruby-string">&#39;.fog&#39;</span>, <span class="ruby-string">&#39;.netrc&#39;</span>, <span class="ruby-string">&#39;.google-privatekey.p12&#39;</span>, <span class="ruby-string">&#39;.vimrc&#39;</span> ]
878
+ <span class="ruby-identifier">auth_files</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">file</span><span class="ruby-operator">|</span>
879
+ <span class="ruby-identifier">package_files</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">file</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-identifier">local_path</span> <span class="ruby-operator">+</span> <span class="ruby-string">&#39;/&#39;</span>, <span class="ruby-string">&#39;&#39;</span>)
880
+ <span class="ruby-keyword">end</span>
881
+ <span class="ruby-identifier">send_success</span> = <span class="ruby-identifier">send_files</span>(<span class="ruby-identifier">local_path</span>, <span class="ruby-identifier">user_home</span>, <span class="ruby-identifier">package_files</span>, <span class="ruby-string">&#39;0600&#39;</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">op</span>, <span class="ruby-identifier">data</span><span class="ruby-operator">|</span>
882
+ <span class="ruby-keyword">yield</span>(<span class="ruby-node">&quot;send_#{op}&quot;</span>.<span class="ruby-identifier">to_sym</span>, <span class="ruby-identifier">data</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
883
+ <span class="ruby-identifier">data</span>
884
+ <span class="ruby-keyword">end</span>
885
+ <span class="ruby-keyword">unless</span> <span class="ruby-identifier">send_success</span>
886
+ <span class="ruby-identifier">myself</span>.<span class="ruby-identifier">status</span> = <span class="ruby-identifier">code</span>.<span class="ruby-identifier">auth_upload_failure</span>
887
+ <span class="ruby-keyword">end</span>
888
+
889
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">user</span>.<span class="ruby-identifier">to_sym</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">config</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value">:root_user</span>, <span class="ruby-value">:root</span>).<span class="ruby-identifier">to_sym</span>
890
+ <span class="ruby-identifier">auth_files</span> = <span class="ruby-identifier">package_files</span>.<span class="ruby-identifier">collect</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">path</span><span class="ruby-operator">|</span> <span class="ruby-node">&quot;&#39;#{path}&#39;&quot;</span>}
891
+ <span class="ruby-identifier">root_home_path</span> = <span class="ruby-identifier">config</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value">:root_home</span>, <span class="ruby-string">&#39;/root&#39;</span>)
892
+
893
+ <span class="ruby-identifier">result</span> = <span class="ruby-identifier">command</span>(<span class="ruby-node">&quot;cp #{auth_files.join(&#39; &#39;)} #{root_home_path}&quot;</span>, { <span class="ruby-value">:as_admin</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">true</span> })
894
+ <span class="ruby-identifier">myself</span>.<span class="ruby-identifier">status</span> = <span class="ruby-identifier">code</span>.<span class="ruby-identifier">root_auth_copy_failure</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">result</span>.<span class="ruby-identifier">status</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">code</span>.<span class="ruby-identifier">success</span>
895
+ <span class="ruby-keyword">end</span>
896
+
897
+ <span class="ruby-comment"># Send bootstrap package</span>
898
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">status</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">code</span>.<span class="ruby-identifier">success</span>
899
+ <span class="ruby-identifier">remote_bootstrap_path</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">user_home</span>, <span class="ruby-identifier">bootstrap_name</span>)
900
+
901
+ <span class="ruby-identifier">cli</span>.<span class="ruby-identifier">rm</span>(<span class="ruby-string">&#39;-Rf&#39;</span>, <span class="ruby-identifier">remote_bootstrap_path</span>)
902
+ <span class="ruby-identifier">send_success</span> = <span class="ruby-identifier">send_files</span>(<span class="ruby-identifier">bootstrap_path</span>, <span class="ruby-identifier">remote_bootstrap_path</span>, <span class="ruby-keyword">nil</span>, <span class="ruby-string">&#39;0700&#39;</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">op</span>, <span class="ruby-identifier">data</span><span class="ruby-operator">|</span>
903
+ <span class="ruby-keyword">yield</span>(<span class="ruby-node">&quot;send_#{op}&quot;</span>.<span class="ruby-identifier">to_sym</span>, <span class="ruby-identifier">data</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
904
+ <span class="ruby-identifier">data</span>
905
+ <span class="ruby-keyword">end</span>
906
+ <span class="ruby-keyword">unless</span> <span class="ruby-identifier">send_success</span>
907
+ <span class="ruby-identifier">myself</span>.<span class="ruby-identifier">status</span> = <span class="ruby-identifier">code</span>.<span class="ruby-identifier">bootstrap_upload_failure</span>
908
+ <span class="ruby-keyword">end</span>
909
+
910
+ <span class="ruby-comment"># Execute bootstrap process</span>
911
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">status</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">code</span>.<span class="ruby-identifier">success</span>
912
+ <span class="ruby-identifier">remote_script</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">remote_bootstrap_path</span>, <span class="ruby-identifier">bootstrap_init</span>)
913
+
914
+ <span class="ruby-identifier">myself</span>.<span class="ruby-identifier">bootstrap_script</span> = <span class="ruby-identifier">remote_script</span>
915
+
916
+ <span class="ruby-identifier">result</span> = <span class="ruby-identifier">command</span>(<span class="ruby-node">&quot;HOSTNAME=&#39;#{hostname}&#39; #{remote_script}&quot;</span>, { <span class="ruby-value">:as_admin</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">true</span> }) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">op</span>, <span class="ruby-identifier">data</span><span class="ruby-operator">|</span>
917
+ <span class="ruby-keyword">yield</span>(<span class="ruby-node">&quot;exec_#{op}&quot;</span>.<span class="ruby-identifier">to_sym</span>, <span class="ruby-identifier">data</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
918
+ <span class="ruby-identifier">data</span>
919
+ <span class="ruby-keyword">end</span>
920
+
921
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">result</span>.<span class="ruby-identifier">status</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">code</span>.<span class="ruby-identifier">success</span>
922
+ <span class="ruby-comment"># Reboot the machine</span>
923
+ <span class="ruby-keyword">unless</span> <span class="ruby-identifier">reload</span>
924
+ <span class="ruby-identifier">warn</span>(<span class="ruby-string">&#39;corl.core.node.bootstrap.reload&#39;</span>)
925
+ <span class="ruby-identifier">myself</span>.<span class="ruby-identifier">status</span> = <span class="ruby-identifier">code</span>.<span class="ruby-identifier">reload_failure</span>
926
+ <span class="ruby-keyword">end</span>
927
+ <span class="ruby-keyword">else</span>
928
+ <span class="ruby-identifier">warn</span>(<span class="ruby-string">&#39;corl.core.node.bootstrap.status&#39;</span>, { <span class="ruby-value">:script</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">remote_script</span>, <span class="ruby-value">:status</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">result</span>.<span class="ruby-identifier">status</span> })
929
+ <span class="ruby-identifier">myself</span>.<span class="ruby-identifier">status</span> = <span class="ruby-identifier">code</span>.<span class="ruby-identifier">bootstrap_exec_failure</span>
930
+ <span class="ruby-keyword">end</span>
931
+ <span class="ruby-keyword">end</span>
932
+ <span class="ruby-keyword">end</span>
933
+ <span class="ruby-keyword">else</span>
934
+ <span class="ruby-identifier">myself</span>.<span class="ruby-identifier">status</span> = <span class="ruby-identifier">code</span>.<span class="ruby-identifier">home_path_lookup_failure</span>
935
+ <span class="ruby-keyword">end</span>
936
+ <span class="ruby-keyword">else</span>
937
+ <span class="ruby-identifier">myself</span>.<span class="ruby-identifier">status</span> = <span class="ruby-identifier">code</span>.<span class="ruby-identifier">local_path_not_found</span>
938
+ <span class="ruby-keyword">end</span>
939
+ <span class="ruby-identifier">status</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">code</span>.<span class="ruby-identifier">success</span>
940
+ <span class="ruby-keyword">end</span></pre>
941
+ </div><!-- bootstrap-source -->
942
+
943
+ </div>
944
+
945
+
946
+
947
+
948
+ </div><!-- bootstrap-method -->
949
+
950
+
951
+ <div id="method-i-bootstrap_script" class="method-detail ">
952
+
953
+ <div class="method-heading">
954
+ <span class="method-name">bootstrap_script</span><span
955
+ class="method-args">()</span>
956
+ <span class="method-click-advice">click to toggle source</span>
957
+ </div>
958
+
959
+
960
+ <div class="method-description">
961
+
962
+
963
+
964
+
965
+
966
+ <div class="method-source-code" id="bootstrap_script-source">
967
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 366</span>
968
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">bootstrap_script</span>
969
+ <span class="ruby-identifier">myself</span>[<span class="ruby-value">:bootstrap</span>]
970
+ <span class="ruby-keyword">end</span></pre>
971
+ </div><!-- bootstrap_script-source -->
972
+
973
+ </div>
974
+
975
+
976
+
977
+
978
+ </div><!-- bootstrap_script-method -->
979
+
980
+
981
+ <div id="method-i-bootstrap_script-3D" class="method-detail ">
982
+
983
+ <div class="method-heading">
984
+ <span class="method-name">bootstrap_script=</span><span
985
+ class="method-args">(bootstrap)</span>
986
+ <span class="method-click-advice">click to toggle source</span>
987
+ </div>
988
+
989
+
990
+ <div class="method-description">
991
+
992
+
993
+
994
+
995
+
996
+ <div class="method-source-code" id="bootstrap_script-3D-source">
997
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 362</span>
998
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">bootstrap_script=</span><span class="ruby-identifier">bootstrap</span>
999
+ <span class="ruby-identifier">myself</span>[<span class="ruby-value">:bootstrap</span>] = <span class="ruby-identifier">bootstrap</span>
1000
+ <span class="ruby-keyword">end</span></pre>
1001
+ </div><!-- bootstrap_script-3D-source -->
1002
+
1003
+ </div>
1004
+
1005
+
1006
+
1007
+
1008
+ </div><!-- bootstrap_script-3D-method -->
1009
+
1010
+
1011
+ <div id="method-i-build" class="method-detail ">
1012
+
1013
+ <div class="method-heading">
1014
+ <span class="method-name">build</span><span
1015
+ class="method-args">(options = {})</span>
1016
+ <span class="method-click-advice">click to toggle source</span>
1017
+ </div>
1018
+
1019
+
1020
+ <div class="method-description">
1021
+
1022
+
1023
+
1024
+
1025
+
1026
+ <div class="method-source-code" id="build-source">
1027
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 513</span>
1028
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">build</span>(<span class="ruby-identifier">options</span> = {})
1029
+ <span class="ruby-identifier">config</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">ensure</span>(<span class="ruby-identifier">options</span>)
1030
+ <span class="ruby-identifier">success</span> = <span class="ruby-keyword">true</span>
1031
+
1032
+ <span class="ruby-comment"># TODO: Figure out what&#39;s going on with the parallel implementation here.</span>
1033
+ <span class="ruby-identifier">parallel_original</span> = <span class="ruby-constant">ENV</span>[<span class="ruby-string">&#39;NUCLEON_NO_PARALLEL&#39;</span>]
1034
+ <span class="ruby-constant">ENV</span>[<span class="ruby-string">&#39;NUCLEON_NO_PARALLEL&#39;</span>] = <span class="ruby-string">&#39;true&#39;</span>
1035
+
1036
+ <span class="ruby-identifier">status</span> = <span class="ruby-identifier">parallel</span>(<span class="ruby-value">:build_provider</span>, <span class="ruby-identifier">network</span>.<span class="ruby-identifier">builders</span>, <span class="ruby-identifier">config</span>)
1037
+ <span class="ruby-identifier">success</span> = <span class="ruby-keyword">false</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">status</span>.<span class="ruby-identifier">values</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-keyword">false</span>)
1038
+
1039
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span>
1040
+ <span class="ruby-identifier">status</span> = <span class="ruby-identifier">parallel</span>(<span class="ruby-value">:build_provisioners</span>, <span class="ruby-identifier">provisioners</span>, <span class="ruby-identifier">config</span>)
1041
+ <span class="ruby-identifier">success</span> = <span class="ruby-keyword">false</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">status</span>.<span class="ruby-identifier">values</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-keyword">false</span>)
1042
+
1043
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span>
1044
+ <span class="ruby-identifier">myself</span>.<span class="ruby-identifier">build_time</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span>
1045
+
1046
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">config</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value">:save</span>, <span class="ruby-keyword">true</span>)
1047
+ <span class="ruby-identifier">success</span>(<span class="ruby-string">&quot;Saving successful build&quot;</span>, { <span class="ruby-value">:i18n</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">false</span> })
1048
+
1049
+ <span class="ruby-identifier">success</span> = <span class="ruby-identifier">save</span>(<span class="ruby-identifier">extended_config</span>(<span class="ruby-value">:build</span>, {
1050
+ <span class="ruby-value">:message</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value">:message</span>, <span class="ruby-node">&quot;Built #{plugin_provider} node: #{plugin_name}&quot;</span>),
1051
+ <span class="ruby-value">:remote</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value">:remote</span>, <span class="ruby-value">:edit</span>)
1052
+ }))
1053
+ <span class="ruby-keyword">end</span>
1054
+ <span class="ruby-keyword">end</span>
1055
+ <span class="ruby-keyword">end</span>
1056
+
1057
+ <span class="ruby-constant">ENV</span>[<span class="ruby-string">&#39;NUCLEON_NO_PARALLEL&#39;</span>] = <span class="ruby-identifier">parallel_original</span>
1058
+ <span class="ruby-identifier">success</span>
1059
+ <span class="ruby-keyword">end</span></pre>
1060
+ </div><!-- build-source -->
1061
+
1062
+ </div>
1063
+
1064
+
1065
+
1066
+
1067
+ </div><!-- build-method -->
1068
+
1069
+
1070
+ <div id="method-i-build_provider" class="method-detail ">
1071
+
1072
+ <div class="method-heading">
1073
+ <span class="method-name">build_provider</span><span
1074
+ class="method-args">(provider, plugin, config)</span>
1075
+ <span class="method-click-advice">click to toggle source</span>
1076
+ </div>
1077
+
1078
+
1079
+ <div class="method-description">
1080
+
1081
+
1082
+
1083
+
1084
+
1085
+ <div class="method-source-code" id="build_provider-source">
1086
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 546</span>
1087
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">build_provider</span>(<span class="ruby-identifier">provider</span>, <span class="ruby-identifier">plugin</span>, <span class="ruby-identifier">config</span>)
1088
+ <span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Building #{provider} components&quot;</span>, { <span class="ruby-value">:i18n</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">false</span> })
1089
+ <span class="ruby-identifier">plugin</span>.<span class="ruby-identifier">build</span>(<span class="ruby-identifier">myself</span>, <span class="ruby-identifier">config</span>)
1090
+ <span class="ruby-keyword">end</span></pre>
1091
+ </div><!-- build_provider-source -->
1092
+
1093
+ </div>
1094
+
1095
+
1096
+
1097
+
1098
+ </div><!-- build_provider-method -->
1099
+
1100
+
1101
+ <div id="method-i-build_provisioner" class="method-detail ">
1102
+
1103
+ <div class="method-heading">
1104
+ <span class="method-name">build_provisioner</span><span
1105
+ class="method-args">(name, plugin, provider, config)</span>
1106
+ <span class="method-click-advice">click to toggle source</span>
1107
+ </div>
1108
+
1109
+
1110
+ <div class="method-description">
1111
+
1112
+
1113
+
1114
+
1115
+
1116
+ <div class="method-source-code" id="build_provisioner-source">
1117
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 557</span>
1118
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">build_provisioner</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">plugin</span>, <span class="ruby-identifier">provider</span>, <span class="ruby-identifier">config</span>)
1119
+ <span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Building #{provider} #{name} provisioner components&quot;</span>, { <span class="ruby-value">:i18n</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">false</span> })
1120
+ <span class="ruby-identifier">plugin</span>.<span class="ruby-identifier">build</span>(<span class="ruby-identifier">myself</span>, <span class="ruby-identifier">config</span>)
1121
+ <span class="ruby-keyword">end</span></pre>
1122
+ </div><!-- build_provisioner-source -->
1123
+
1124
+ </div>
1125
+
1126
+
1127
+
1128
+
1129
+ </div><!-- build_provisioner-method -->
1130
+
1131
+
1132
+ <div id="method-i-build_provisioners" class="method-detail ">
1133
+
1134
+ <div class="method-heading">
1135
+ <span class="method-name">build_provisioners</span><span
1136
+ class="method-args">(provider, collection, config)</span>
1137
+ <span class="method-click-advice">click to toggle source</span>
1138
+ </div>
1139
+
1140
+
1141
+ <div class="method-description">
1142
+
1143
+
1144
+
1145
+
1146
+
1147
+ <div class="method-source-code" id="build_provisioners-source">
1148
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 551</span>
1149
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">build_provisioners</span>(<span class="ruby-identifier">provider</span>, <span class="ruby-identifier">collection</span>, <span class="ruby-identifier">config</span>)
1150
+ <span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Building #{provider} provisioner collection&quot;</span>, { <span class="ruby-value">:i18n</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">false</span> })
1151
+ <span class="ruby-identifier">status</span> = <span class="ruby-identifier">parallel</span>(<span class="ruby-value">:build_provisioner</span>, <span class="ruby-identifier">collection</span>, <span class="ruby-identifier">provider</span>, <span class="ruby-identifier">config</span>)
1152
+ <span class="ruby-identifier">status</span>.<span class="ruby-identifier">values</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-keyword">false</span>) <span class="ruby-operator">?</span> <span class="ruby-keyword">false</span> <span class="ruby-operator">:</span> <span class="ruby-keyword">true</span>
1153
+ <span class="ruby-keyword">end</span></pre>
1154
+ </div><!-- build_provisioners-source -->
1155
+
1156
+ </div>
1157
+
1158
+
1159
+
1160
+
1161
+ </div><!-- build_provisioners-method -->
1162
+
1163
+
1164
+ <div id="method-i-build_time" class="method-detail ">
1165
+
1166
+ <div class="method-heading">
1167
+ <span class="method-name">build_time</span><span
1168
+ class="method-args">()</span>
1169
+ <span class="method-click-advice">click to toggle source</span>
1170
+ </div>
1171
+
1172
+
1173
+ <div class="method-description">
1174
+
1175
+
1176
+
1177
+
1178
+
1179
+ <div class="method-source-code" id="build_time-source">
1180
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 356</span>
1181
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">build_time</span>
1182
+ <span class="ruby-identifier">myself</span>[<span class="ruby-value">:build</span>]
1183
+ <span class="ruby-keyword">end</span></pre>
1184
+ </div><!-- build_time-source -->
1185
+
1186
+ </div>
1187
+
1188
+
1189
+
1190
+
1191
+ </div><!-- build_time-method -->
1192
+
1193
+
1194
+ <div id="method-i-build_time-3D" class="method-detail ">
1195
+
1196
+ <div class="method-heading">
1197
+ <span class="method-name">build_time=</span><span
1198
+ class="method-args">(time)</span>
1199
+ <span class="method-click-advice">click to toggle source</span>
1200
+ </div>
1201
+
1202
+
1203
+ <div class="method-description">
1204
+
1205
+
1206
+
1207
+
1208
+
1209
+ <div class="method-source-code" id="build_time-3D-source">
1210
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 352</span>
1211
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">build_time=</span><span class="ruby-identifier">time</span>
1212
+ <span class="ruby-identifier">myself</span>[<span class="ruby-value">:build</span>] = <span class="ruby-identifier">time</span>
1213
+ <span class="ruby-keyword">end</span></pre>
1214
+ </div><!-- build_time-3D-source -->
1215
+
1216
+ </div>
1217
+
1218
+
1219
+
1220
+
1221
+ </div><!-- build_time-3D-method -->
1222
+
1223
+
1224
+ <div id="method-i-clear_remote_cache" class="method-detail ">
1225
+
1226
+ <div class="method-heading">
1227
+ <span class="method-name">clear_remote_cache</span><span
1228
+ class="method-args">()</span>
1229
+ <span class="method-click-advice">click to toggle source</span>
1230
+ </div>
1231
+
1232
+
1233
+ <div class="method-description">
1234
+
1235
+
1236
+
1237
+
1238
+
1239
+ <div class="method-source-code" id="clear_remote_cache-source">
1240
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 506</span>
1241
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">clear_remote_cache</span>
1242
+ <span class="ruby-identifier">run</span>.<span class="ruby-identifier">node_cache</span>({ <span class="ruby-value">:clear</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">true</span> }).<span class="ruby-identifier">status</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">code</span>.<span class="ruby-identifier">success</span>
1243
+ <span class="ruby-keyword">end</span></pre>
1244
+ </div><!-- clear_remote_cache-source -->
1245
+
1246
+ </div>
1247
+
1248
+
1249
+
1250
+
1251
+ </div><!-- clear_remote_cache-method -->
1252
+
1253
+
1254
+ <div id="method-i-cli" class="method-detail ">
1255
+
1256
+ <div class="method-heading">
1257
+ <span class="method-name">cli</span><span
1258
+ class="method-args">()</span>
1259
+ <span class="method-click-advice">click to toggle source</span>
1260
+ </div>
1261
+
1262
+
1263
+ <div class="method-description">
1264
+
1265
+
1266
+
1267
+
1268
+
1269
+ <div class="method-source-code" id="cli-source">
1270
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 846</span>
1271
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">cli</span>
1272
+ <span class="ruby-ivar">@cli_interface</span>
1273
+ <span class="ruby-keyword">end</span></pre>
1274
+ </div><!-- cli-source -->
1275
+
1276
+ </div>
1277
+
1278
+
1279
+
1280
+
1281
+ </div><!-- cli-method -->
1282
+
1283
+
1284
+ <div id="method-i-cli_capture" class="method-detail ">
1285
+
1286
+ <div class="method-heading">
1287
+ <span class="method-name">cli_capture</span><span
1288
+ class="method-args">(cli_command, *args)</span>
1289
+ <span class="method-click-advice">click to toggle source</span>
1290
+ </div>
1291
+
1292
+
1293
+ <div class="method-description">
1294
+
1295
+
1296
+
1297
+
1298
+
1299
+ <div class="method-source-code" id="cli_capture-source">
1300
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 1318</span>
1301
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">cli_capture</span>(<span class="ruby-identifier">cli_command</span>, *<span class="ruby-identifier">args</span>)
1302
+ <span class="ruby-identifier">result</span> = <span class="ruby-identifier">cli</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">cli_command</span>, <span class="ruby-identifier">args</span>)
1303
+
1304
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">result</span>.<span class="ruby-identifier">status</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">code</span>.<span class="ruby-identifier">success</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span> <span class="ruby-identifier">result</span>.<span class="ruby-identifier">output</span>.<span class="ruby-identifier">empty?</span>
1305
+ <span class="ruby-identifier">result</span>.<span class="ruby-identifier">output</span>
1306
+ <span class="ruby-keyword">else</span>
1307
+ <span class="ruby-keyword">nil</span>
1308
+ <span class="ruby-keyword">end</span>
1309
+ <span class="ruby-keyword">end</span></pre>
1310
+ </div><!-- cli_capture-source -->
1311
+
1312
+ </div>
1313
+
1314
+
1315
+
1316
+
1317
+ </div><!-- cli_capture-method -->
1318
+
1319
+
1320
+ <div id="method-i-cli_check" class="method-detail ">
1321
+
1322
+ <div class="method-heading">
1323
+ <span class="method-name">cli_check</span><span
1324
+ class="method-args">(cli_command, *args)</span>
1325
+ <span class="method-click-advice">click to toggle source</span>
1326
+ </div>
1327
+
1328
+
1329
+ <div class="method-description">
1330
+
1331
+
1332
+
1333
+
1334
+
1335
+ <div class="method-source-code" id="cli_check-source">
1336
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 1330</span>
1337
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">cli_check</span>(<span class="ruby-identifier">cli_command</span>, *<span class="ruby-identifier">args</span>)
1338
+ <span class="ruby-identifier">result</span> = <span class="ruby-identifier">cli</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">cli_command</span>, <span class="ruby-identifier">args</span>)
1339
+ <span class="ruby-identifier">result</span>.<span class="ruby-identifier">status</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">code</span>.<span class="ruby-identifier">success</span> <span class="ruby-operator">?</span> <span class="ruby-keyword">true</span> <span class="ruby-operator">:</span> <span class="ruby-keyword">false</span>
1340
+ <span class="ruby-keyword">end</span></pre>
1341
+ </div><!-- cli_check-source -->
1342
+
1343
+ </div>
1344
+
1345
+
1346
+
1347
+
1348
+ </div><!-- cli_check-method -->
1349
+
1350
+
1351
+ <div id="method-i-command" class="method-detail ">
1352
+
1353
+ <div class="method-heading">
1354
+ <span class="method-name">command</span><span
1355
+ class="method-args">(command, options = {}) { |op, data| ... }</span>
1356
+ <span class="method-click-advice">click to toggle source</span>
1357
+ </div>
1358
+
1359
+
1360
+ <div class="method-description">
1361
+
1362
+
1363
+
1364
+
1365
+
1366
+ <div class="method-source-code" id="command-source">
1367
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 852</span>
1368
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">command</span>(<span class="ruby-identifier">command</span>, <span class="ruby-identifier">options</span> = {})
1369
+ <span class="ruby-identifier">config</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">ensure</span>(<span class="ruby-identifier">options</span>)
1370
+ <span class="ruby-identifier">as_admin</span> = <span class="ruby-identifier">config</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value">:as_admin</span>, <span class="ruby-keyword">false</span>)
1371
+ <span class="ruby-identifier">remove_command</span> = <span class="ruby-keyword">false</span>
1372
+
1373
+ <span class="ruby-keyword">unless</span> <span class="ruby-identifier">command</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">CORL</span><span class="ruby-operator">::</span><span class="ruby-constant">Plugin</span><span class="ruby-operator">::</span><span class="ruby-constant">Command</span>)
1374
+ <span class="ruby-identifier">command</span> = <span class="ruby-constant">CORL</span>.<span class="ruby-identifier">command</span>(<span class="ruby-constant">Config</span>.<span class="ruby-identifier">new</span>({ <span class="ruby-value">:command</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">command</span> }).<span class="ruby-identifier">import</span>(<span class="ruby-identifier">config</span>), <span class="ruby-value">:bash</span>)
1375
+ <span class="ruby-identifier">remove_command</span> = <span class="ruby-keyword">true</span>
1376
+ <span class="ruby-keyword">end</span>
1377
+
1378
+ <span class="ruby-identifier">admin_command</span> = <span class="ruby-string">&#39;&#39;</span>
1379
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">as_admin</span>
1380
+ <span class="ruby-identifier">admin_command</span> = <span class="ruby-string">&#39;sudo&#39;</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">user</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">!=</span> <span class="ruby-string">&#39;root&#39;</span>
1381
+ <span class="ruby-identifier">admin_command</span> = <span class="ruby-identifier">extension_set</span>(<span class="ruby-value">:admin_command</span>, <span class="ruby-identifier">admin_command</span>, <span class="ruby-identifier">config</span>)
1382
+ <span class="ruby-keyword">end</span>
1383
+
1384
+ <span class="ruby-identifier">config</span>[<span class="ruby-value">:commands</span>] = [ <span class="ruby-node">&quot;#{admin_command} #{command.to_s}&quot;</span>.<span class="ruby-identifier">strip</span> ]
1385
+
1386
+ <span class="ruby-identifier">results</span> = <span class="ruby-identifier">exec</span>(<span class="ruby-identifier">config</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">op</span>, <span class="ruby-identifier">data</span><span class="ruby-operator">|</span>
1387
+ <span class="ruby-keyword">yield</span>(<span class="ruby-identifier">op</span>, <span class="ruby-identifier">data</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
1388
+ <span class="ruby-keyword">end</span>
1389
+
1390
+ <span class="ruby-constant">CORL</span>.<span class="ruby-identifier">remove_plugin</span>(<span class="ruby-identifier">command</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">remove_command</span>
1391
+ <span class="ruby-identifier">results</span>.<span class="ruby-identifier">first</span>
1392
+ <span class="ruby-keyword">end</span></pre>
1393
+ </div><!-- command-source -->
1394
+
1395
+ </div>
1396
+
1397
+
1398
+
1399
+
1400
+ </div><!-- command-method -->
1401
+
1402
+
1403
+ <div id="method-i-create" class="method-detail ">
1404
+
1405
+ <div class="method-heading">
1406
+ <span class="method-name">create</span><span
1407
+ class="method-args">(options = {}) { |:config, config| ... }</span>
1408
+ <span class="method-click-advice">click to toggle source</span>
1409
+ </div>
1410
+
1411
+
1412
+ <div class="method-description">
1413
+
1414
+
1415
+
1416
+
1417
+
1418
+ <div class="method-source-code" id="create-source">
1419
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 638</span>
1420
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">create</span>(<span class="ruby-identifier">options</span> = {})
1421
+ <span class="ruby-identifier">success</span> = <span class="ruby-keyword">true</span>
1422
+
1423
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">machine</span>
1424
+ <span class="ruby-identifier">config</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">ensure</span>(<span class="ruby-identifier">options</span>)
1425
+
1426
+ <span class="ruby-identifier">clear_cache</span>
1427
+
1428
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">extension_check</span>(<span class="ruby-value">:create</span>, { <span class="ruby-value">:config</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span> })
1429
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Creating node: #{plugin_name}&quot;</span>)
1430
+
1431
+ <span class="ruby-keyword">yield</span>(<span class="ruby-value">:config</span>, <span class="ruby-identifier">config</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
1432
+ <span class="ruby-identifier">success</span> = <span class="ruby-identifier">machine</span>.<span class="ruby-identifier">create</span>(<span class="ruby-identifier">config</span>.<span class="ruby-identifier">export</span>)
1433
+
1434
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">block_given?</span>
1435
+ <span class="ruby-identifier">process_success</span> = <span class="ruby-keyword">yield</span>(<span class="ruby-value">:process</span>, <span class="ruby-identifier">config</span>)
1436
+ <span class="ruby-identifier">success</span> = <span class="ruby-identifier">process_success</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">process_success</span> <span class="ruby-operator">==</span> <span class="ruby-keyword">false</span>
1437
+ <span class="ruby-keyword">end</span>
1438
+
1439
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span>
1440
+ <span class="ruby-identifier">extension</span>(<span class="ruby-value">:create_success</span>, { <span class="ruby-value">:config</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span> })
1441
+ <span class="ruby-keyword">end</span>
1442
+ <span class="ruby-keyword">end</span>
1443
+ <span class="ruby-keyword">else</span>
1444
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">warn</span>(<span class="ruby-node">&quot;Node #{plugin_name} does not have an attached machine so cannot be created&quot;</span>)
1445
+ <span class="ruby-keyword">end</span>
1446
+ <span class="ruby-identifier">success</span>
1447
+ <span class="ruby-keyword">end</span></pre>
1448
+ </div><!-- create-source -->
1449
+
1450
+ </div>
1451
+
1452
+
1453
+
1454
+
1455
+ </div><!-- create-method -->
1456
+
1457
+
1458
+ <div id="method-i-create_facts_post" class="method-detail ">
1459
+
1460
+ <div class="method-heading">
1461
+ <span class="method-name">create_facts_post</span><span
1462
+ class="method-args">(data, names)</span>
1463
+ <span class="method-click-advice">click to toggle source</span>
1464
+ </div>
1465
+
1466
+
1467
+ <div class="method-description">
1468
+
1469
+
1470
+
1471
+
1472
+
1473
+ <div class="method-source-code" id="create_facts_post-source">
1474
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 422</span>
1475
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">create_facts_post</span>(<span class="ruby-identifier">data</span>, <span class="ruby-identifier">names</span>)
1476
+ <span class="ruby-identifier">fact_values</span> = {}
1477
+ <span class="ruby-identifier">names</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">name</span><span class="ruby-operator">|</span>
1478
+ <span class="ruby-identifier">name</span> = <span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_sym</span>
1479
+ <span class="ruby-identifier">fact_values</span>[<span class="ruby-identifier">name</span>] = <span class="ruby-identifier">data</span>[<span class="ruby-identifier">name</span>]
1480
+ <span class="ruby-keyword">end</span>
1481
+ <span class="ruby-identifier">ensure_custom_facts</span>(<span class="ruby-identifier">fact_values</span>)
1482
+ <span class="ruby-identifier">data</span>
1483
+ <span class="ruby-keyword">end</span></pre>
1484
+ </div><!-- create_facts_post-source -->
1485
+
1486
+ </div>
1487
+
1488
+
1489
+
1490
+
1491
+ </div><!-- create_facts_post-method -->
1492
+
1493
+
1494
+ <div id="method-i-create_image" class="method-detail ">
1495
+
1496
+ <div class="method-heading">
1497
+ <span class="method-name">create_image</span><span
1498
+ class="method-args">(options = {}) { |:config, config| ... }</span>
1499
+ <span class="method-click-advice">click to toggle source</span>
1500
+ </div>
1501
+
1502
+
1503
+ <div class="method-description">
1504
+
1505
+
1506
+
1507
+
1508
+
1509
+ <div class="method-source-code" id="create_image-source">
1510
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 1138</span>
1511
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">create_image</span>(<span class="ruby-identifier">options</span> = {})
1512
+ <span class="ruby-identifier">success</span> = <span class="ruby-keyword">true</span>
1513
+
1514
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">machine</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">machine</span>.<span class="ruby-identifier">running?</span>
1515
+ <span class="ruby-identifier">config</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">ensure</span>(<span class="ruby-identifier">options</span>)
1516
+
1517
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">extension_check</span>(<span class="ruby-value">:create_image</span>, { <span class="ruby-value">:config</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span> })
1518
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Executing node: #{plugin_name}&quot;</span>)
1519
+
1520
+ <span class="ruby-keyword">yield</span>(<span class="ruby-value">:config</span>, <span class="ruby-identifier">config</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
1521
+ <span class="ruby-identifier">success</span> = <span class="ruby-identifier">machine</span>.<span class="ruby-identifier">create_image</span>(<span class="ruby-identifier">config</span>.<span class="ruby-identifier">export</span>)
1522
+ <span class="ruby-identifier">success</span> = <span class="ruby-identifier">save</span>(<span class="ruby-identifier">config</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span>
1523
+
1524
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">block_given?</span>
1525
+ <span class="ruby-identifier">process_success</span> = <span class="ruby-keyword">yield</span>(<span class="ruby-value">:process</span>, <span class="ruby-identifier">config</span>)
1526
+ <span class="ruby-identifier">success</span> = <span class="ruby-identifier">process_success</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">process_success</span> <span class="ruby-operator">==</span> <span class="ruby-keyword">false</span>
1527
+ <span class="ruby-keyword">end</span>
1528
+
1529
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span>
1530
+ <span class="ruby-identifier">extension</span>(<span class="ruby-value">:create_image_success</span>, { <span class="ruby-value">:config</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span> })
1531
+ <span class="ruby-keyword">end</span>
1532
+ <span class="ruby-keyword">end</span>
1533
+ <span class="ruby-keyword">else</span>
1534
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">warn</span>(<span class="ruby-node">&quot;Node #{plugin_name} does not have an attached machine or is not running so cannot create an image&quot;</span>)
1535
+ <span class="ruby-keyword">end</span>
1536
+ <span class="ruby-identifier">success</span>
1537
+ <span class="ruby-keyword">end</span></pre>
1538
+ </div><!-- create_image-source -->
1539
+
1540
+ </div>
1541
+
1542
+
1543
+
1544
+
1545
+ </div><!-- create_image-method -->
1546
+
1547
+
1548
+ <div id="method-i-create_machine" class="method-detail ">
1549
+
1550
+ <div class="method-heading">
1551
+ <span class="method-name">create_machine</span><span
1552
+ class="method-args">(name, provider, options = {})</span>
1553
+ <span class="method-click-advice">click to toggle source</span>
1554
+ </div>
1555
+
1556
+
1557
+ <div class="method-description">
1558
+
1559
+
1560
+
1561
+
1562
+
1563
+ <div class="method-source-code" id="create_machine-source">
1564
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 632</span>
1565
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">create_machine</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">provider</span>, <span class="ruby-identifier">options</span> = {})
1566
+ <span class="ruby-constant">CORL</span>.<span class="ruby-identifier">create_plugin</span>(<span class="ruby-value">:CORL</span>, <span class="ruby-value">:machine</span>, <span class="ruby-identifier">provider</span>, <span class="ruby-identifier">extended_config</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">options</span>).<span class="ruby-identifier">import</span>({ <span class="ruby-value">:meta</span> =<span class="ruby-operator">&gt;</span> { <span class="ruby-value">:parent</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">myself</span> }}))
1567
+ <span class="ruby-keyword">end</span></pre>
1568
+ </div><!-- create_machine-source -->
1569
+
1570
+ </div>
1571
+
1572
+
1573
+
1574
+
1575
+ </div><!-- create_machine-method -->
1576
+
1577
+
1578
+ <div id="method-i-custom_facts" class="method-detail ">
1579
+
1580
+ <div class="method-heading">
1581
+ <span class="method-name">custom_facts</span><span
1582
+ class="method-args">()</span>
1583
+ <span class="method-click-advice">click to toggle source</span>
1584
+ </div>
1585
+
1586
+
1587
+ <div class="method-description">
1588
+
1589
+
1590
+
1591
+
1592
+
1593
+ <div class="method-source-code" id="custom_facts-source">
1594
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 297</span>
1595
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">custom_facts</span>
1596
+ <span class="ruby-identifier">search</span>(<span class="ruby-value">:facts</span>, {}, <span class="ruby-value">:hash</span>)
1597
+ <span class="ruby-keyword">end</span></pre>
1598
+ </div><!-- custom_facts-source -->
1599
+
1600
+ </div>
1601
+
1602
+
1603
+
1604
+
1605
+ </div><!-- custom_facts-method -->
1606
+
1607
+
1608
+ <div id="method-i-custom_facts-3D" class="method-detail ">
1609
+
1610
+ <div class="method-heading">
1611
+ <span class="method-name">custom_facts=</span><span
1612
+ class="method-args">(facts)</span>
1613
+ <span class="method-click-advice">click to toggle source</span>
1614
+ </div>
1615
+
1616
+
1617
+ <div class="method-description">
1618
+
1619
+
1620
+
1621
+
1622
+
1623
+ <div class="method-source-code" id="custom_facts-3D-source">
1624
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 293</span>
1625
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">custom_facts=</span><span class="ruby-identifier">facts</span>
1626
+ <span class="ruby-identifier">myself</span>[<span class="ruby-value">:facts</span>] = <span class="ruby-identifier">hash</span>(<span class="ruby-identifier">facts</span>)
1627
+ <span class="ruby-keyword">end</span></pre>
1628
+ </div><!-- custom_facts-3D-source -->
1629
+
1630
+ </div>
1631
+
1632
+
1633
+
1634
+
1635
+ </div><!-- custom_facts-3D-method -->
1636
+
1637
+
1638
+ <div id="method-i-delete_facts_post" class="method-detail ">
1639
+
1640
+ <div class="method-heading">
1641
+ <span class="method-name">delete_facts_post</span><span
1642
+ class="method-args">(data, old_data)</span>
1643
+ <span class="method-click-advice">click to toggle source</span>
1644
+ </div>
1645
+
1646
+
1647
+ <div class="method-description">
1648
+
1649
+
1650
+
1651
+
1652
+
1653
+ <div class="method-source-code" id="delete_facts_post-source">
1654
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 434</span>
1655
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">delete_facts_post</span>(<span class="ruby-identifier">data</span>, <span class="ruby-identifier">old_data</span>)
1656
+ <span class="ruby-identifier">remove_custom_facts</span>(*<span class="ruby-identifier">old_data</span>.<span class="ruby-identifier">keys</span>)
1657
+ <span class="ruby-identifier">data</span>
1658
+ <span class="ruby-keyword">end</span></pre>
1659
+ </div><!-- delete_facts_post-source -->
1660
+
1661
+ </div>
1662
+
1663
+
1664
+
1665
+
1666
+ </div><!-- delete_facts_post-method -->
1667
+
1668
+
1669
+ <div id="method-i-delete_keys" class="method-detail ">
1670
+
1671
+ <div class="method-heading">
1672
+ <span class="method-name">delete_keys</span><span
1673
+ class="method-args">()</span>
1674
+ <span class="method-click-advice">click to toggle source</span>
1675
+ </div>
1676
+
1677
+
1678
+ <div class="method-description">
1679
+
1680
+
1681
+
1682
+
1683
+
1684
+ <div class="method-source-code" id="delete_keys-source">
1685
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 600</span>
1686
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">delete_keys</span>
1687
+ <span class="ruby-identifier">private_key</span> = <span class="ruby-identifier">myself</span>[<span class="ruby-value">:private_key</span>]
1688
+ <span class="ruby-identifier">public_key</span> = <span class="ruby-identifier">myself</span>[<span class="ruby-value">:public_key</span>]
1689
+
1690
+ <span class="ruby-identifier">keys</span> = []
1691
+ <span class="ruby-identifier">keys</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">private_key</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">private_key</span>
1692
+ <span class="ruby-identifier">keys</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">public_key</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">public_key</span>
1693
+
1694
+ <span class="ruby-identifier">success</span> = <span class="ruby-keyword">true</span>
1695
+
1696
+ <span class="ruby-keyword">unless</span> <span class="ruby-identifier">keys</span>.<span class="ruby-identifier">empty?</span>
1697
+ <span class="ruby-identifier">files</span> = <span class="ruby-identifier">network</span>.<span class="ruby-identifier">delete_attachments</span>(<span class="ruby-identifier">keys</span>)
1698
+
1699
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">files</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span> <span class="ruby-identifier">files</span>.<span class="ruby-identifier">empty?</span>
1700
+ <span class="ruby-identifier">delete_setting</span>(<span class="ruby-value">:private_key</span>)
1701
+ <span class="ruby-identifier">delete_setting</span>(<span class="ruby-value">:public_key</span>)
1702
+
1703
+ <span class="ruby-identifier">success</span> = <span class="ruby-identifier">save</span>(<span class="ruby-identifier">extended_config</span>(<span class="ruby-value">:key_delete</span>, {
1704
+ <span class="ruby-value">:files</span> =<span class="ruby-operator">&gt;</span> [ <span class="ruby-identifier">private_key</span>, <span class="ruby-identifier">public_key</span> ],
1705
+ <span class="ruby-value">:pull</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">false</span>,
1706
+ <span class="ruby-value">:push</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">false</span>,
1707
+ <span class="ruby-value">:message</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;Removing SSH keys for node #{plugin_provider} (#{plugin_name})&quot;</span>
1708
+ }))
1709
+ <span class="ruby-keyword">else</span>
1710
+ <span class="ruby-identifier">success</span> = <span class="ruby-keyword">false</span>
1711
+ <span class="ruby-keyword">end</span>
1712
+ <span class="ruby-keyword">end</span>
1713
+ <span class="ruby-identifier">success</span>
1714
+ <span class="ruby-keyword">end</span></pre>
1715
+ </div><!-- delete_keys-source -->
1716
+
1717
+ </div>
1718
+
1719
+
1720
+
1721
+
1722
+ </div><!-- delete_keys-method -->
1723
+
1724
+
1725
+ <div id="method-i-delete_remote_cache_setting" class="method-detail ">
1726
+
1727
+ <div class="method-heading">
1728
+ <span class="method-name">delete_remote_cache_setting</span><span
1729
+ class="method-args">(keys)</span>
1730
+ <span class="method-click-advice">click to toggle source</span>
1731
+ </div>
1732
+
1733
+
1734
+ <div class="method-description">
1735
+
1736
+
1737
+
1738
+
1739
+
1740
+ <div class="method-source-code" id="delete_remote_cache_setting-source">
1741
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 497</span>
1742
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">delete_remote_cache_setting</span>(<span class="ruby-identifier">keys</span>)
1743
+ <span class="ruby-identifier">run</span>.<span class="ruby-identifier">node_cache</span>({
1744
+ <span class="ruby-value">:name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">keys</span>.<span class="ruby-identifier">flatten</span>.<span class="ruby-identifier">join</span>(<span class="ruby-string">&#39;.&#39;</span>),
1745
+ <span class="ruby-value">:delete</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">true</span>
1746
+ }).<span class="ruby-identifier">status</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">code</span>.<span class="ruby-identifier">success</span>
1747
+ <span class="ruby-keyword">end</span></pre>
1748
+ </div><!-- delete_remote_cache_setting-source -->
1749
+
1750
+ </div>
1751
+
1752
+
1753
+
1754
+
1755
+ </div><!-- delete_remote_cache_setting-method -->
1756
+
1757
+
1758
+ <div id="method-i-destroy" class="method-detail ">
1759
+
1760
+ <div class="method-heading">
1761
+ <span class="method-name">destroy</span><span
1762
+ class="method-args">(options = {}) { |:config, config| ... }</span>
1763
+ <span class="method-click-advice">click to toggle source</span>
1764
+ </div>
1765
+
1766
+
1767
+ <div class="method-description">
1768
+
1769
+
1770
+
1771
+
1772
+
1773
+ <div class="method-source-code" id="destroy-source">
1774
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 1213</span>
1775
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">destroy</span>(<span class="ruby-identifier">options</span> = {})
1776
+ <span class="ruby-identifier">success</span> = <span class="ruby-keyword">true</span>
1777
+
1778
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">machine</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">machine</span>.<span class="ruby-identifier">created?</span>
1779
+ <span class="ruby-identifier">config</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">ensure</span>(<span class="ruby-identifier">options</span>)
1780
+
1781
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">extension_check</span>(<span class="ruby-value">:destroy</span>, { <span class="ruby-value">:config</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span> })
1782
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Destroying node: #{plugin_name}&quot;</span>)
1783
+
1784
+ <span class="ruby-keyword">yield</span>(<span class="ruby-value">:config</span>, <span class="ruby-identifier">config</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
1785
+
1786
+ <span class="ruby-comment"># Shut down machine </span>
1787
+ <span class="ruby-identifier">success</span> = <span class="ruby-identifier">machine</span>.<span class="ruby-identifier">destroy</span>(<span class="ruby-identifier">config</span>.<span class="ruby-identifier">export</span>)
1788
+
1789
+ <span class="ruby-identifier">myself</span>.<span class="ruby-identifier">machine</span> = <span class="ruby-keyword">nil</span>
1790
+
1791
+ <span class="ruby-comment"># Remove SSH keys</span>
1792
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">delete_keys</span>
1793
+ <span class="ruby-comment"># Remove node information</span>
1794
+ <span class="ruby-identifier">network</span>.<span class="ruby-identifier">delete_node</span>(<span class="ruby-identifier">plugin_provider</span>, <span class="ruby-identifier">plugin_name</span>, <span class="ruby-keyword">false</span>)
1795
+
1796
+ <span class="ruby-identifier">network</span>.<span class="ruby-identifier">save</span>({
1797
+ <span class="ruby-value">:commit</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">true</span>,
1798
+ <span class="ruby-value">:remote</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value">:remote</span>, <span class="ruby-value">:edit</span>),
1799
+ <span class="ruby-value">:push</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">true</span>
1800
+ })
1801
+ <span class="ruby-keyword">end</span>
1802
+
1803
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">block_given?</span>
1804
+ <span class="ruby-identifier">process_success</span> = <span class="ruby-keyword">yield</span>(<span class="ruby-value">:process</span>, <span class="ruby-identifier">config</span>)
1805
+ <span class="ruby-identifier">success</span> = <span class="ruby-identifier">process_success</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">process_success</span> <span class="ruby-operator">==</span> <span class="ruby-keyword">false</span>
1806
+ <span class="ruby-keyword">end</span>
1807
+
1808
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span>
1809
+ <span class="ruby-identifier">extension</span>(<span class="ruby-value">:destroy_success</span>, { <span class="ruby-value">:config</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span> })
1810
+ <span class="ruby-identifier">clear_cache</span>
1811
+ <span class="ruby-keyword">end</span>
1812
+ <span class="ruby-keyword">end</span>
1813
+ <span class="ruby-keyword">else</span>
1814
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">warn</span>(<span class="ruby-node">&quot;Node #{plugin_name} does not have an attached machine or is not created so cannot be destroyed&quot;</span>)
1815
+ <span class="ruby-keyword">end</span>
1816
+ <span class="ruby-identifier">success</span>
1817
+ <span class="ruby-keyword">end</span></pre>
1818
+ </div><!-- destroy-source -->
1819
+
1820
+ </div>
1821
+
1822
+
1823
+
1824
+
1825
+ </div><!-- destroy-method -->
1826
+
1827
+
1828
+ <div id="method-i-download" class="method-detail ">
1829
+
1830
+ <div class="method-heading">
1831
+ <span class="method-name">download</span><span
1832
+ class="method-args">(remote_path, local_path, options = {}) { |:config, hook_config| ... }</span>
1833
+ <span class="method-click-advice">click to toggle source</span>
1834
+ </div>
1835
+
1836
+
1837
+ <div class="method-description">
1838
+
1839
+
1840
+
1841
+
1842
+
1843
+ <div class="method-source-code" id="download-source">
1844
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 669</span>
1845
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">download</span>(<span class="ruby-identifier">remote_path</span>, <span class="ruby-identifier">local_path</span>, <span class="ruby-identifier">options</span> = {})
1846
+ <span class="ruby-identifier">success</span> = <span class="ruby-keyword">false</span>
1847
+
1848
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">machine</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">machine</span>.<span class="ruby-identifier">running?</span>
1849
+ <span class="ruby-identifier">config</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">ensure</span>(<span class="ruby-identifier">options</span>)
1850
+ <span class="ruby-identifier">hook_config</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">new</span>({ <span class="ruby-value">:local_path</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">local_path</span>, <span class="ruby-value">:remote_path</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">remote_path</span>, <span class="ruby-value">:config</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span> })
1851
+
1852
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">extension_check</span>(<span class="ruby-value">:download</span>, <span class="ruby-identifier">hook_config</span>)
1853
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Downloading from #{plugin_name}&quot;</span>)
1854
+
1855
+ <span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Starting download of #{remote_path} to #{local_path}&quot;</span>, { <span class="ruby-value">:i18n</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">false</span> })
1856
+ <span class="ruby-keyword">yield</span>(<span class="ruby-value">:config</span>, <span class="ruby-identifier">hook_config</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
1857
+
1858
+ <span class="ruby-identifier">active_machine</span> = <span class="ruby-identifier">local?</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">local_machine</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">machine</span>
1859
+
1860
+ <span class="ruby-identifier">success</span> = <span class="ruby-identifier">active_machine</span>.<span class="ruby-identifier">download</span>(<span class="ruby-identifier">remote_path</span>, <span class="ruby-identifier">local_path</span>, <span class="ruby-identifier">config</span>.<span class="ruby-identifier">export</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">name</span>, <span class="ruby-identifier">received</span>, <span class="ruby-identifier">total</span><span class="ruby-operator">|</span>
1861
+ <span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;#{name}: Sent #{received} of #{total}&quot;</span>, { <span class="ruby-value">:i18n</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">false</span> })
1862
+ <span class="ruby-keyword">yield</span>(<span class="ruby-value">:progress</span>, { <span class="ruby-value">:name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">name</span>, <span class="ruby-value">:received</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">received</span>, <span class="ruby-value">:total</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">total</span> })
1863
+ <span class="ruby-keyword">end</span>
1864
+
1865
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">block_given?</span>
1866
+ <span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Successfully finished download of #{remote_path} to #{local_path}&quot;</span>, { <span class="ruby-value">:i18n</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">false</span> })
1867
+ <span class="ruby-identifier">process_success</span> = <span class="ruby-keyword">yield</span>(<span class="ruby-value">:process</span>, <span class="ruby-identifier">hook_config</span>)
1868
+ <span class="ruby-identifier">success</span> = <span class="ruby-identifier">process_success</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">process_success</span> <span class="ruby-operator">==</span> <span class="ruby-keyword">false</span>
1869
+ <span class="ruby-keyword">end</span>
1870
+
1871
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span>
1872
+ <span class="ruby-identifier">extension</span>(<span class="ruby-value">:download_success</span>, <span class="ruby-identifier">hook_config</span>)
1873
+ <span class="ruby-keyword">end</span>
1874
+ <span class="ruby-keyword">end</span>
1875
+ <span class="ruby-keyword">else</span>
1876
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">warn</span>(<span class="ruby-node">&quot;Node #{plugin_name} does not have an attached machine or is not running so cannot download&quot;</span>)
1877
+ <span class="ruby-keyword">end</span>
1878
+ <span class="ruby-identifier">success</span>
1879
+ <span class="ruby-keyword">end</span></pre>
1880
+ </div><!-- download-source -->
1881
+
1882
+ </div>
1883
+
1884
+
1885
+
1886
+
1887
+ </div><!-- download-method -->
1888
+
1889
+
1890
+ <div id="method-i-ensure_custom_facts" class="method-detail ">
1891
+
1892
+ <div class="method-heading">
1893
+ <span class="method-name">ensure_custom_facts</span><span
1894
+ class="method-args">(facts)</span>
1895
+ <span class="method-click-advice">click to toggle source</span>
1896
+ </div>
1897
+
1898
+
1899
+ <div class="method-description">
1900
+
1901
+
1902
+
1903
+
1904
+
1905
+ <div class="method-source-code" id="ensure_custom_facts-source">
1906
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 301</span>
1907
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">ensure_custom_facts</span>(<span class="ruby-identifier">facts</span>)
1908
+ <span class="ruby-identifier">hash</span>(<span class="ruby-identifier">facts</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">name</span>, <span class="ruby-identifier">value</span><span class="ruby-operator">|</span>
1909
+ <span class="ruby-identifier">set_setting</span>([ <span class="ruby-value">:facts</span>, <span class="ruby-identifier">name</span> ], <span class="ruby-identifier">value</span>)
1910
+ <span class="ruby-keyword">end</span>
1911
+ <span class="ruby-keyword">end</span></pre>
1912
+ </div><!-- ensure_custom_facts-source -->
1913
+
1914
+ </div>
1915
+
1916
+
1917
+
1918
+
1919
+ </div><!-- ensure_custom_facts-method -->
1920
+
1921
+
1922
+ <div id="method-i-exec" class="method-detail ">
1923
+
1924
+ <div class="method-heading">
1925
+ <span class="method-name">exec</span><span
1926
+ class="method-args">(options = {}) { |:config, config| ... }</span>
1927
+ <span class="method-click-advice">click to toggle source</span>
1928
+ </div>
1929
+
1930
+
1931
+ <div class="method-description">
1932
+
1933
+
1934
+
1935
+
1936
+
1937
+ <div class="method-source-code" id="exec-source">
1938
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 778</span>
1939
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">exec</span>(<span class="ruby-identifier">options</span> = {})
1940
+ <span class="ruby-identifier">default_error</span> = <span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-constant">Shell</span><span class="ruby-operator">::</span><span class="ruby-constant">Result</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">:error</span>, <span class="ruby-value">255</span>)
1941
+ <span class="ruby-identifier">results</span> = [ <span class="ruby-identifier">default_error</span> ]
1942
+
1943
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">local?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">local_machine</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">machine</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">machine</span>.<span class="ruby-identifier">running?</span>
1944
+ <span class="ruby-identifier">config</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">ensure</span>(<span class="ruby-identifier">options</span>)
1945
+
1946
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">extension_check</span>(<span class="ruby-value">:exec</span>, { <span class="ruby-value">:config</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span> })
1947
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Executing node: #{plugin_name}&quot;</span>)
1948
+
1949
+ <span class="ruby-keyword">yield</span>(<span class="ruby-value">:config</span>, <span class="ruby-identifier">config</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
1950
+
1951
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">local?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">local_machine</span>
1952
+ <span class="ruby-identifier">active_machine</span> = <span class="ruby-identifier">local_machine</span>
1953
+ <span class="ruby-keyword">else</span>
1954
+ <span class="ruby-identifier">active_machine</span> = <span class="ruby-identifier">machine</span>
1955
+ <span class="ruby-keyword">end</span>
1956
+
1957
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">commands</span> = <span class="ruby-identifier">config</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value">:commands</span>, <span class="ruby-keyword">nil</span>)
1958
+ <span class="ruby-identifier">quiet</span> = <span class="ruby-identifier">config</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value">:quiet</span>, <span class="ruby-keyword">false</span>)
1959
+
1960
+ <span class="ruby-keyword">begin</span>
1961
+ <span class="ruby-identifier">test</span> = <span class="ruby-identifier">active_machine</span>.<span class="ruby-identifier">exec</span>(<span class="ruby-identifier">commands</span>, <span class="ruby-identifier">config</span>.<span class="ruby-identifier">export</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">type</span>, <span class="ruby-identifier">command</span>, <span class="ruby-identifier">data</span><span class="ruby-operator">|</span>
1962
+ <span class="ruby-keyword">unless</span> <span class="ruby-identifier">quiet</span>
1963
+ <span class="ruby-keyword">unless</span> <span class="ruby-identifier">local?</span>
1964
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-value">:error</span>
1965
+ <span class="ruby-identifier">warn</span>(<span class="ruby-identifier">filter_output</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">data</span>), { <span class="ruby-value">:i18n</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">false</span> })
1966
+ <span class="ruby-keyword">else</span>
1967
+ <span class="ruby-identifier">info</span>(<span class="ruby-identifier">filter_output</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">data</span>), { <span class="ruby-value">:i18n</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">false</span> })
1968
+ <span class="ruby-keyword">end</span>
1969
+ <span class="ruby-keyword">end</span>
1970
+ <span class="ruby-keyword">yield</span>(<span class="ruby-value">:progress</span>, { <span class="ruby-value">:type</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">type</span>, <span class="ruby-value">:command</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">command</span>, <span class="ruby-value">:data</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">data</span> }) <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
1971
+ <span class="ruby-keyword">end</span>
1972
+ <span class="ruby-keyword">end</span>
1973
+ <span class="ruby-identifier">results</span> = <span class="ruby-identifier">test</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">test</span>
1974
+
1975
+ <span class="ruby-keyword">rescue</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">error</span>
1976
+ <span class="ruby-identifier">default_error</span>.<span class="ruby-identifier">append_errors</span>(<span class="ruby-identifier">error</span>.<span class="ruby-identifier">message</span>)
1977
+ <span class="ruby-keyword">end</span>
1978
+ <span class="ruby-keyword">else</span>
1979
+ <span class="ruby-identifier">default_error</span>.<span class="ruby-identifier">append_errors</span>(<span class="ruby-string">&quot;No execution command&quot;</span>)
1980
+ <span class="ruby-keyword">end</span>
1981
+
1982
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">results</span>
1983
+ <span class="ruby-identifier">success</span> = <span class="ruby-keyword">true</span>
1984
+ <span class="ruby-identifier">results</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">result</span><span class="ruby-operator">|</span>
1985
+ <span class="ruby-identifier">success</span> = <span class="ruby-keyword">false</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">result</span>.<span class="ruby-identifier">status</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">code</span>.<span class="ruby-identifier">success</span>
1986
+ <span class="ruby-keyword">end</span>
1987
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span>
1988
+ <span class="ruby-keyword">yield</span>(<span class="ruby-value">:process</span>, <span class="ruby-identifier">config</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
1989
+ <span class="ruby-identifier">extension</span>(<span class="ruby-value">:exec_success</span>, { <span class="ruby-value">:config</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span>, <span class="ruby-value">:results</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">results</span> })
1990
+ <span class="ruby-keyword">end</span>
1991
+ <span class="ruby-keyword">else</span>
1992
+ <span class="ruby-identifier">default_error</span>.<span class="ruby-identifier">append_errors</span>(<span class="ruby-string">&quot;No execution results&quot;</span>)
1993
+ <span class="ruby-keyword">end</span>
1994
+ <span class="ruby-keyword">else</span>
1995
+ <span class="ruby-identifier">default_error</span>.<span class="ruby-identifier">append_errors</span>(<span class="ruby-string">&quot;Execution prevented by exec hook&quot;</span>)
1996
+ <span class="ruby-keyword">end</span>
1997
+ <span class="ruby-keyword">else</span>
1998
+ <span class="ruby-identifier">default_error</span>.<span class="ruby-identifier">append_errors</span>(<span class="ruby-string">&quot;No attached machine&quot;</span>)
1999
+
2000
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">warn</span>(<span class="ruby-node">&quot;Node #{plugin_name} does not have an attached machine or is not running so cannot execute commands&quot;</span>)
2001
+ <span class="ruby-keyword">end</span>
2002
+ <span class="ruby-identifier">results</span>
2003
+ <span class="ruby-keyword">end</span></pre>
2004
+ </div><!-- exec-source -->
2005
+
2006
+ </div>
2007
+
2008
+
2009
+
2010
+
2011
+ </div><!-- exec-method -->
2012
+
2013
+
2014
+ <div id="method-i-fact_var" class="method-detail ">
2015
+
2016
+ <div class="method-heading">
2017
+ <span class="method-name">fact_var</span><span
2018
+ class="method-args">()</span>
2019
+ <span class="method-click-advice">click to toggle source</span>
2020
+ </div>
2021
+
2022
+
2023
+ <div class="method-description">
2024
+
2025
+
2026
+
2027
+
2028
+
2029
+ <div class="method-source-code" id="fact_var-source">
2030
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 385</span>
2031
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">fact_var</span>
2032
+ <span class="ruby-ivar">@facts</span>
2033
+ <span class="ruby-keyword">end</span></pre>
2034
+ </div><!-- fact_var-source -->
2035
+
2036
+ </div>
2037
+
2038
+
2039
+
2040
+
2041
+ </div><!-- fact_var-method -->
2042
+
2043
+
2044
+ <div id="method-i-fact_var-3D" class="method-detail ">
2045
+
2046
+ <div class="method-heading">
2047
+ <span class="method-name">fact_var=</span><span
2048
+ class="method-args">(facts)</span>
2049
+ <span class="method-click-advice">click to toggle source</span>
2050
+ </div>
2051
+
2052
+
2053
+ <div class="method-description">
2054
+
2055
+
2056
+
2057
+
2058
+
2059
+ <div class="method-source-code" id="fact_var-3D-source">
2060
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 389</span>
2061
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">fact_var=</span><span class="ruby-identifier">facts</span>
2062
+ <span class="ruby-ivar">@facts</span> = <span class="ruby-identifier">facts</span>
2063
+ <span class="ruby-keyword">end</span></pre>
2064
+ </div><!-- fact_var-3D-source -->
2065
+
2066
+ </div>
2067
+
2068
+
2069
+
2070
+
2071
+ </div><!-- fact_var-3D-method -->
2072
+
2073
+
2074
+ <div id="method-i-facts" class="method-detail ">
2075
+
2076
+ <div class="method-heading">
2077
+ <span class="method-name">facts</span><span
2078
+ class="method-args">(reset = false, clone = true)</span>
2079
+ <span class="method-click-advice">click to toggle source</span>
2080
+ </div>
2081
+
2082
+
2083
+ <div class="method-description">
2084
+
2085
+
2086
+
2087
+
2088
+
2089
+ <div class="method-source-code" id="facts-source">
2090
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 395</span>
2091
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">facts</span>(<span class="ruby-identifier">reset</span> = <span class="ruby-keyword">false</span>, <span class="ruby-identifier">clone</span> = <span class="ruby-keyword">true</span>)
2092
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">reset</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">fact_var</span>.<span class="ruby-identifier">nil?</span>
2093
+ <span class="ruby-identifier">default_facts</span> = <span class="ruby-identifier">extended_config</span>(<span class="ruby-value">:hiera_default_facts</span>, {
2094
+ <span class="ruby-value">:fqdn</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">hostname</span>,
2095
+ <span class="ruby-value">:hostname</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">hostname</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">/\..*$/</span>, <span class="ruby-string">&#39;&#39;</span>),
2096
+ <span class="ruby-value">:corl_provider</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">plugin_provider</span>.<span class="ruby-identifier">to_s</span>
2097
+ })
2098
+
2099
+ <span class="ruby-keyword">unless</span> <span class="ruby-identifier">local?</span>
2100
+ <span class="ruby-identifier">result</span> = <span class="ruby-identifier">run</span>.<span class="ruby-identifier">node_facts</span>({ <span class="ruby-value">:quiet</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">true</span> })
2101
+
2102
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">result</span>.<span class="ruby-identifier">status</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">code</span>.<span class="ruby-identifier">success</span>
2103
+ <span class="ruby-identifier">node_facts</span> = <span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-constant">Data</span>.<span class="ruby-identifier">symbol_map</span>(<span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-constant">Data</span>.<span class="ruby-identifier">parse_json</span>(<span class="ruby-identifier">result</span>.<span class="ruby-identifier">errors</span>))
2104
+ <span class="ruby-keyword">end</span>
2105
+ <span class="ruby-keyword">end</span>
2106
+ <span class="ruby-keyword">unless</span> <span class="ruby-identifier">node_facts</span>
2107
+ <span class="ruby-identifier">node_facts</span> = <span class="ruby-identifier">local?</span> <span class="ruby-operator">?</span> <span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-constant">Data</span>.<span class="ruby-identifier">merge</span>([ <span class="ruby-constant">CORL</span>.<span class="ruby-identifier">facts</span>, <span class="ruby-identifier">custom_facts</span> ]) <span class="ruby-operator">:</span> <span class="ruby-identifier">custom_facts</span>
2108
+ <span class="ruby-keyword">end</span>
2109
+
2110
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">fact_var</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">node_facts</span>).<span class="ruby-identifier">defaults</span>(<span class="ruby-identifier">default_facts</span>).<span class="ruby-identifier">export</span>
2111
+ <span class="ruby-keyword">end</span>
2112
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">fact_var</span>.<span class="ruby-identifier">clone</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">clone</span>
2113
+ <span class="ruby-identifier">fact_var</span>
2114
+ <span class="ruby-keyword">end</span></pre>
2115
+ </div><!-- facts-source -->
2116
+
2117
+ </div>
2118
+
2119
+
2120
+
2121
+
2122
+ </div><!-- facts-method -->
2123
+
2124
+
2125
+ <div id="method-i-filter_output" class="method-detail ">
2126
+
2127
+ <div class="method-heading">
2128
+ <span class="method-name">filter_output</span><span
2129
+ class="method-args">(type, data)</span>
2130
+ <span class="method-click-advice">click to toggle source</span>
2131
+ </div>
2132
+
2133
+
2134
+ <div class="method-description">
2135
+
2136
+
2137
+
2138
+
2139
+
2140
+ <div class="method-source-code" id="filter_output-source">
2141
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 1337</span>
2142
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">filter_output</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">data</span>)
2143
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-value">:output</span>
2144
+ <span class="ruby-comment"># Hide redundant Facter output</span>
2145
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">data</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">/^Already evaluated [a-z]+ at [^,]+, reevaluating anyways$/</span>
2146
+ <span class="ruby-identifier">data</span> = <span class="ruby-string">&#39;&#39;</span>
2147
+ <span class="ruby-keyword">end</span>
2148
+ <span class="ruby-keyword">end</span>
2149
+ <span class="ruby-identifier">data</span>
2150
+ <span class="ruby-keyword">end</span></pre>
2151
+ </div><!-- filter_output-source -->
2152
+
2153
+ </div>
2154
+
2155
+
2156
+
2157
+
2158
+ </div><!-- filter_output-method -->
2159
+
2160
+
2161
+ <div id="method-i-hiera_override_dir" class="method-detail ">
2162
+
2163
+ <div class="method-heading">
2164
+ <span class="method-name">hiera_override_dir</span><span
2165
+ class="method-args">()</span>
2166
+ <span class="method-click-advice">click to toggle source</span>
2167
+ </div>
2168
+
2169
+
2170
+ <div class="method-description">
2171
+
2172
+
2173
+
2174
+
2175
+
2176
+ <div class="method-source-code" id="hiera_override_dir-source">
2177
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 451</span>
2178
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">hiera_override_dir</span>
2179
+ <span class="ruby-identifier">network</span>.<span class="ruby-identifier">hiera_override_dir</span>
2180
+ <span class="ruby-keyword">end</span></pre>
2181
+ </div><!-- hiera_override_dir-source -->
2182
+
2183
+ </div>
2184
+
2185
+
2186
+
2187
+
2188
+ </div><!-- hiera_override_dir-method -->
2189
+
2190
+
2191
+ <div id="method-i-hiera_var" class="method-detail ">
2192
+
2193
+ <div class="method-heading">
2194
+ <span class="method-name">hiera_var</span><span
2195
+ class="method-args">()</span>
2196
+ <span class="method-click-advice">click to toggle source</span>
2197
+ </div>
2198
+
2199
+
2200
+ <div class="method-description">
2201
+
2202
+
2203
+
2204
+
2205
+
2206
+ <div class="method-source-code" id="hiera_var-source">
2207
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 441</span>
2208
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">hiera_var</span>
2209
+ <span class="ruby-ivar">@hiera</span>
2210
+ <span class="ruby-keyword">end</span></pre>
2211
+ </div><!-- hiera_var-source -->
2212
+
2213
+ </div>
2214
+
2215
+
2216
+
2217
+
2218
+ </div><!-- hiera_var-method -->
2219
+
2220
+
2221
+ <div id="method-i-hiera_var-3D" class="method-detail ">
2222
+
2223
+ <div class="method-heading">
2224
+ <span class="method-name">hiera_var=</span><span
2225
+ class="method-args">(hiera)</span>
2226
+ <span class="method-click-advice">click to toggle source</span>
2227
+ </div>
2228
+
2229
+
2230
+ <div class="method-description">
2231
+
2232
+
2233
+
2234
+
2235
+
2236
+ <div class="method-source-code" id="hiera_var-3D-source">
2237
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 445</span>
2238
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">hiera_var=</span><span class="ruby-identifier">hiera</span>
2239
+ <span class="ruby-ivar">@hiera</span> = <span class="ruby-identifier">hiera</span>
2240
+ <span class="ruby-keyword">end</span></pre>
2241
+ </div><!-- hiera_var-3D-source -->
2242
+
2243
+ </div>
2244
+
2245
+
2246
+
2247
+
2248
+ </div><!-- hiera_var-3D-method -->
2249
+
2250
+
2251
+ <div id="method-i-home" class="method-detail ">
2252
+
2253
+ <div class="method-heading">
2254
+ <span class="method-name">home</span><span
2255
+ class="method-args">(env_var = 'HOME', reset = false)</span>
2256
+ <span class="method-click-advice">click to toggle source</span>
2257
+ </div>
2258
+
2259
+
2260
+ <div class="method-description">
2261
+
2262
+
2263
+
2264
+
2265
+
2266
+ <div class="method-source-code" id="home-source">
2267
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 182</span>
2268
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">home</span>(<span class="ruby-identifier">env_var</span> = <span class="ruby-string">&#39;HOME&#39;</span>, <span class="ruby-identifier">reset</span> = <span class="ruby-keyword">false</span>)
2269
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">reset</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">myself</span>[<span class="ruby-value">:user_home</span>].<span class="ruby-identifier">nil?</span>
2270
+ <span class="ruby-identifier">myself</span>[<span class="ruby-value">:user_home</span>] = <span class="ruby-identifier">cli_capture</span>(<span class="ruby-value">:echo</span>, <span class="ruby-string">&#39;$&#39;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">env_var</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-string">&#39;$&#39;</span>, <span class="ruby-string">&#39;&#39;</span>)) <span class="ruby-keyword">if</span> <span class="ruby-identifier">machine</span>
2271
+ <span class="ruby-keyword">end</span>
2272
+ <span class="ruby-identifier">myself</span>[<span class="ruby-value">:user_home</span>]
2273
+ <span class="ruby-keyword">end</span></pre>
2274
+ </div><!-- home-source -->
2275
+
2276
+ </div>
2277
+
2278
+
2279
+
2280
+
2281
+ </div><!-- home-method -->
2282
+
2283
+
2284
+ <div id="method-i-hostname" class="method-detail ">
2285
+
2286
+ <div class="method-heading">
2287
+ <span class="method-name">hostname</span><span
2288
+ class="method-args">()</span>
2289
+ <span class="method-click-advice">click to toggle source</span>
2290
+ </div>
2291
+
2292
+
2293
+ <div class="method-description">
2294
+
2295
+
2296
+
2297
+
2298
+
2299
+ <div class="method-source-code" id="hostname-source">
2300
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 137</span>
2301
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">hostname</span>
2302
+ <span class="ruby-identifier">hostname</span> = <span class="ruby-identifier">setting</span>(<span class="ruby-value">:hostname</span>)
2303
+
2304
+ <span class="ruby-keyword">unless</span> <span class="ruby-identifier">hostname</span>
2305
+ <span class="ruby-identifier">hostname</span> = <span class="ruby-identifier">plugin_name</span>
2306
+ <span class="ruby-keyword">end</span>
2307
+
2308
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">hostname</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">ui</span>.<span class="ruby-identifier">resource</span>.<span class="ruby-identifier">to_s</span>
2309
+ <span class="ruby-identifier">ui</span>.<span class="ruby-identifier">resource</span> = <span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-constant">Console</span>.<span class="ruby-identifier">colorize</span>(<span class="ruby-identifier">hostname</span>, <span class="ruby-ivar">@class_color</span>)
2310
+ <span class="ruby-identifier">logger</span> = <span class="ruby-identifier">hostname</span>
2311
+ <span class="ruby-keyword">end</span>
2312
+ <span class="ruby-identifier">hostname</span>
2313
+ <span class="ruby-keyword">end</span></pre>
2314
+ </div><!-- hostname-source -->
2315
+
2316
+ </div>
2317
+
2318
+
2319
+
2320
+
2321
+ </div><!-- hostname-method -->
2322
+
2323
+
2324
+ <div id="method-i-id" class="method-detail ">
2325
+
2326
+ <div class="method-heading">
2327
+ <span class="method-name">id</span><span
2328
+ class="method-args">(reset = false)</span>
2329
+ <span class="method-click-advice">click to toggle source</span>
2330
+ </div>
2331
+
2332
+
2333
+ <div class="method-description">
2334
+
2335
+
2336
+
2337
+
2338
+
2339
+ <div class="method-source-code" id="id-source">
2340
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 118</span>
2341
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">id</span>(<span class="ruby-identifier">reset</span> = <span class="ruby-keyword">false</span>)
2342
+ <span class="ruby-identifier">myself</span>[<span class="ruby-value">:id</span>] = <span class="ruby-identifier">machine</span>.<span class="ruby-identifier">plugin_name</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">machine</span> <span class="ruby-operator">&amp;&amp;</span> ( <span class="ruby-identifier">reset</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">setting</span>(<span class="ruby-value">:id</span>).<span class="ruby-identifier">nil?</span> )
2343
+ <span class="ruby-identifier">setting</span>(<span class="ruby-value">:id</span>)
2344
+ <span class="ruby-keyword">end</span></pre>
2345
+ </div><!-- id-source -->
2346
+
2347
+ </div>
2348
+
2349
+
2350
+
2351
+
2352
+ </div><!-- id-method -->
2353
+
2354
+
2355
+ <div id="method-i-image" class="method-detail ">
2356
+
2357
+ <div class="method-heading">
2358
+ <span class="method-name">image</span><span
2359
+ class="method-args">(reset = false)</span>
2360
+ <span class="method-click-advice">click to toggle source</span>
2361
+ </div>
2362
+
2363
+
2364
+ <div class="method-description">
2365
+
2366
+
2367
+
2368
+
2369
+
2370
+ <div class="method-source-code" id="image-source">
2371
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 286</span>
2372
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">image</span>(<span class="ruby-identifier">reset</span> = <span class="ruby-keyword">false</span>)
2373
+ <span class="ruby-identifier">myself</span>[<span class="ruby-value">:image</span>] = <span class="ruby-identifier">machine</span>.<span class="ruby-identifier">image</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">machine</span> <span class="ruby-operator">&amp;&amp;</span> ( <span class="ruby-identifier">reset</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">myself</span>[<span class="ruby-value">:image</span>].<span class="ruby-identifier">nil?</span> )
2374
+ <span class="ruby-identifier">myself</span>[<span class="ruby-value">:image</span>]
2375
+ <span class="ruby-keyword">end</span></pre>
2376
+ </div><!-- image-source -->
2377
+
2378
+ </div>
2379
+
2380
+
2381
+
2382
+
2383
+ </div><!-- image-method -->
2384
+
2385
+
2386
+ <div id="method-i-image-3D" class="method-detail ">
2387
+
2388
+ <div class="method-heading">
2389
+ <span class="method-name">image=</span><span
2390
+ class="method-args">(image)</span>
2391
+ <span class="method-click-advice">click to toggle source</span>
2392
+ </div>
2393
+
2394
+
2395
+ <div class="method-description">
2396
+
2397
+
2398
+
2399
+
2400
+
2401
+ <div class="method-source-code" id="image-3D-source">
2402
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 282</span>
2403
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">image=</span><span class="ruby-identifier">image</span>
2404
+ <span class="ruby-identifier">myself</span>[<span class="ruby-value">:image</span>] = <span class="ruby-identifier">image</span>
2405
+ <span class="ruby-keyword">end</span></pre>
2406
+ </div><!-- image-3D-source -->
2407
+
2408
+ </div>
2409
+
2410
+
2411
+
2412
+
2413
+ </div><!-- image-3D-method -->
2414
+
2415
+
2416
+ <div id="method-i-image_id" class="method-detail ">
2417
+
2418
+ <div class="method-heading">
2419
+ <span class="method-name">image_id</span><span
2420
+ class="method-args">(image)</span>
2421
+ <span class="method-click-advice">click to toggle source</span>
2422
+ </div>
2423
+
2424
+
2425
+ <div class="method-description">
2426
+
2427
+
2428
+
2429
+
2430
+
2431
+ <div class="method-source-code" id="image_id-source">
2432
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 1363</span>
2433
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">image_id</span>(<span class="ruby-identifier">image</span>)
2434
+ <span class="ruby-identifier">image</span>.<span class="ruby-identifier">id</span>
2435
+ <span class="ruby-keyword">end</span></pre>
2436
+ </div><!-- image_id-source -->
2437
+
2438
+ </div>
2439
+
2440
+
2441
+
2442
+
2443
+ </div><!-- image_id-method -->
2444
+
2445
+
2446
+ <div id="method-i-image_search_text" class="method-detail ">
2447
+
2448
+ <div class="method-heading">
2449
+ <span class="method-name">image_search_text</span><span
2450
+ class="method-args">(image)</span>
2451
+ <span class="method-click-advice">click to toggle source</span>
2452
+ </div>
2453
+
2454
+
2455
+ <div class="method-description">
2456
+
2457
+
2458
+
2459
+
2460
+
2461
+ <div class="method-source-code" id="image_search_text-source">
2462
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 1375</span>
2463
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">image_search_text</span>(<span class="ruby-identifier">image</span>)
2464
+ <span class="ruby-identifier">image</span>.<span class="ruby-identifier">to_s</span>
2465
+ <span class="ruby-keyword">end</span></pre>
2466
+ </div><!-- image_search_text-source -->
2467
+
2468
+ </div>
2469
+
2470
+
2471
+
2472
+
2473
+ </div><!-- image_search_text-method -->
2474
+
2475
+
2476
+ <div id="method-i-images" class="method-detail ">
2477
+
2478
+ <div class="method-heading">
2479
+ <span class="method-name">images</span><span
2480
+ class="method-args">(search_terms = [], options = {})</span>
2481
+ <span class="method-click-advice">click to toggle source</span>
2482
+ </div>
2483
+
2484
+
2485
+ <div class="method-description">
2486
+
2487
+
2488
+
2489
+
2490
+
2491
+ <div class="method-source-code" id="images-source">
2492
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 243</span>
2493
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">images</span>(<span class="ruby-identifier">search_terms</span> = [], <span class="ruby-identifier">options</span> = {})
2494
+ <span class="ruby-identifier">config</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">ensure</span>(<span class="ruby-identifier">options</span>)
2495
+ <span class="ruby-identifier">images</span> = []
2496
+
2497
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">machine</span>
2498
+ <span class="ruby-identifier">loaded_images</span> = <span class="ruby-identifier">machine</span>.<span class="ruby-identifier">images</span>
2499
+
2500
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">loaded_images</span>
2501
+ <span class="ruby-identifier">require_all</span> = <span class="ruby-identifier">config</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value">:require_all</span>, <span class="ruby-keyword">false</span>)
2502
+
2503
+ <span class="ruby-identifier">loaded_images</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">image</span><span class="ruby-operator">|</span>
2504
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">usable_image?</span>(<span class="ruby-identifier">image</span>)
2505
+ <span class="ruby-identifier">include_image</span> = ( <span class="ruby-identifier">search_terms</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">?</span> <span class="ruby-keyword">true</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">require_all</span> )
2506
+ <span class="ruby-identifier">image_text</span> = <span class="ruby-identifier">image_search_text</span>(<span class="ruby-identifier">image</span>)
2507
+
2508
+ <span class="ruby-identifier">search_terms</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">term</span><span class="ruby-operator">|</span>
2509
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">config</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value">:match_case</span>, <span class="ruby-keyword">false</span>)
2510
+ <span class="ruby-identifier">success</span> = <span class="ruby-identifier">image_text</span>.<span class="ruby-identifier">match</span>(<span class="ruby-node">/#{term}/</span>)
2511
+ <span class="ruby-keyword">else</span>
2512
+ <span class="ruby-identifier">success</span> = <span class="ruby-identifier">image_text</span>.<span class="ruby-identifier">match</span>(<span class="ruby-node">/#{term}/</span>)
2513
+ <span class="ruby-keyword">end</span>
2514
+
2515
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">require_all</span>
2516
+ <span class="ruby-identifier">include_image</span> = <span class="ruby-keyword">false</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">success</span>
2517
+ <span class="ruby-keyword">else</span>
2518
+ <span class="ruby-identifier">include_image</span> = <span class="ruby-keyword">true</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span>
2519
+ <span class="ruby-keyword">end</span>
2520
+ <span class="ruby-keyword">end</span>
2521
+
2522
+ <span class="ruby-identifier">images</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">image</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">include_image</span>
2523
+ <span class="ruby-keyword">end</span>
2524
+ <span class="ruby-keyword">end</span>
2525
+ <span class="ruby-keyword">end</span>
2526
+ <span class="ruby-keyword">end</span>
2527
+ <span class="ruby-identifier">images</span>
2528
+ <span class="ruby-keyword">end</span></pre>
2529
+ </div><!-- images-source -->
2530
+
2531
+ </div>
2532
+
2533
+
2534
+
2535
+
2536
+ </div><!-- images-method -->
2537
+
2538
+
2539
+ <div id="method-i-keypair" class="method-detail ">
2540
+
2541
+ <div class="method-heading">
2542
+ <span class="method-name">keypair</span><span
2543
+ class="method-args">()</span>
2544
+ <span class="method-click-advice">click to toggle source</span>
2545
+ </div>
2546
+
2547
+
2548
+ <div class="method-description">
2549
+
2550
+
2551
+
2552
+
2553
+
2554
+ <div class="method-source-code" id="keypair-source">
2555
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 88</span>
2556
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">keypair</span>
2557
+ <span class="ruby-ivar">@keypair</span>
2558
+ <span class="ruby-keyword">end</span></pre>
2559
+ </div><!-- keypair-source -->
2560
+
2561
+ </div>
2562
+
2563
+
2564
+
2565
+
2566
+ </div><!-- keypair-method -->
2567
+
2568
+
2569
+ <div id="method-i-keypair-3D" class="method-detail ">
2570
+
2571
+ <div class="method-heading">
2572
+ <span class="method-name">keypair=</span><span
2573
+ class="method-args">(keypair)</span>
2574
+ <span class="method-click-advice">click to toggle source</span>
2575
+ </div>
2576
+
2577
+
2578
+ <div class="method-description">
2579
+
2580
+
2581
+
2582
+
2583
+
2584
+ <div class="method-source-code" id="keypair-3D-source">
2585
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 92</span>
2586
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">keypair=</span><span class="ruby-identifier">keypair</span>
2587
+ <span class="ruby-ivar">@keypair</span> = <span class="ruby-identifier">keypair</span>
2588
+ <span class="ruby-keyword">end</span></pre>
2589
+ </div><!-- keypair-3D-source -->
2590
+
2591
+ </div>
2592
+
2593
+
2594
+
2595
+
2596
+ </div><!-- keypair-3D-method -->
2597
+
2598
+
2599
+ <div id="method-i-local-3F" class="method-detail ">
2600
+
2601
+ <div class="method-heading">
2602
+ <span class="method-name">local?</span><span
2603
+ class="method-args">()</span>
2604
+ <span class="method-click-advice">click to toggle source</span>
2605
+ </div>
2606
+
2607
+
2608
+ <div class="method-description">
2609
+
2610
+
2611
+
2612
+
2613
+
2614
+ <div class="method-source-code" id="local-3F-source">
2615
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 71</span>
2616
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">local?</span>
2617
+ <span class="ruby-ivar">@local_context</span> <span class="ruby-operator">?</span> <span class="ruby-keyword">true</span> <span class="ruby-operator">:</span> <span class="ruby-keyword">false</span>
2618
+ <span class="ruby-keyword">end</span></pre>
2619
+ </div><!-- local-3F-source -->
2620
+
2621
+ </div>
2622
+
2623
+
2624
+
2625
+
2626
+ </div><!-- local-3F-method -->
2627
+
2628
+
2629
+ <div id="method-i-local_machine" class="method-detail ">
2630
+
2631
+ <div class="method-heading">
2632
+ <span class="method-name">local_machine</span><span
2633
+ class="method-args">()</span>
2634
+ <span class="method-click-advice">click to toggle source</span>
2635
+ </div>
2636
+
2637
+
2638
+ <div class="method-description">
2639
+
2640
+
2641
+
2642
+
2643
+
2644
+ <div class="method-source-code" id="local_machine-source">
2645
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 108</span>
2646
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">local_machine</span>
2647
+ <span class="ruby-ivar">@local_machine</span>
2648
+ <span class="ruby-keyword">end</span></pre>
2649
+ </div><!-- local_machine-source -->
2650
+
2651
+ </div>
2652
+
2653
+
2654
+
2655
+
2656
+ </div><!-- local_machine-method -->
2657
+
2658
+
2659
+ <div id="method-i-local_machine-3D" class="method-detail ">
2660
+
2661
+ <div class="method-heading">
2662
+ <span class="method-name">local_machine=</span><span
2663
+ class="method-args">(local_machine)</span>
2664
+ <span class="method-click-advice">click to toggle source</span>
2665
+ </div>
2666
+
2667
+
2668
+ <div class="method-description">
2669
+
2670
+
2671
+
2672
+
2673
+
2674
+ <div class="method-source-code" id="local_machine-3D-source">
2675
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 112</span>
2676
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">local_machine=</span><span class="ruby-identifier">local_machine</span>
2677
+ <span class="ruby-ivar">@local_machine</span> = <span class="ruby-identifier">local_machine</span>
2678
+ <span class="ruby-keyword">end</span></pre>
2679
+ </div><!-- local_machine-3D-source -->
2680
+
2681
+ </div>
2682
+
2683
+
2684
+
2685
+
2686
+ </div><!-- local_machine-3D-method -->
2687
+
2688
+
2689
+ <div id="method-i-localize" class="method-detail ">
2690
+
2691
+ <div class="method-heading">
2692
+ <span class="method-name">localize</span><span
2693
+ class="method-args">()</span>
2694
+ <span class="method-click-advice">click to toggle source</span>
2695
+ </div>
2696
+
2697
+
2698
+ <div class="method-description">
2699
+
2700
+
2701
+
2702
+
2703
+
2704
+ <div class="method-source-code" id="localize-source">
2705
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 56</span>
2706
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">localize</span>
2707
+ <span class="ruby-ivar">@local_context</span> = <span class="ruby-keyword">true</span>
2708
+ <span class="ruby-identifier">myself</span>.<span class="ruby-identifier">local_machine</span> = <span class="ruby-identifier">create_machine</span>(<span class="ruby-value">:local_machine</span>, <span class="ruby-value">:physical</span>)
2709
+ <span class="ruby-keyword">end</span></pre>
2710
+ </div><!-- localize-source -->
2711
+
2712
+ </div>
2713
+
2714
+
2715
+
2716
+
2717
+ </div><!-- localize-method -->
2718
+
2719
+
2720
+ <div id="method-i-lookup" class="method-detail ">
2721
+
2722
+ <div class="method-heading">
2723
+ <span class="method-name">lookup</span><span
2724
+ class="method-args">(property, default = nil, options = {})</span>
2725
+ <span class="method-click-advice">click to toggle source</span>
2726
+ </div>
2727
+
2728
+
2729
+ <div class="method-description">
2730
+
2731
+
2732
+
2733
+
2734
+
2735
+ <div class="method-source-code" id="lookup-source">
2736
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 457</span>
2737
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">lookup</span>(<span class="ruby-identifier">property</span>, <span class="ruby-identifier">default</span> = <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">options</span> = {})
2738
+ <span class="ruby-keyword">unless</span> <span class="ruby-identifier">local?</span>
2739
+ <span class="ruby-identifier">config</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">ensure</span>(<span class="ruby-identifier">options</span>).<span class="ruby-identifier">import</span>({ <span class="ruby-value">:property</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">property</span>, <span class="ruby-value">:quiet</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">true</span> })
2740
+ <span class="ruby-identifier">result</span> = <span class="ruby-identifier">run</span>.<span class="ruby-identifier">node_lookup</span>(<span class="ruby-identifier">config</span>)
2741
+
2742
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">result</span>.<span class="ruby-identifier">status</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">code</span>.<span class="ruby-identifier">success</span>
2743
+ <span class="ruby-keyword">return</span> <span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-constant">Data</span>.<span class="ruby-identifier">value</span>(<span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-constant">Data</span>.<span class="ruby-identifier">parse_json</span>(<span class="ruby-identifier">result</span>.<span class="ruby-identifier">errors</span>), <span class="ruby-identifier">default</span>)
2744
+ <span class="ruby-keyword">end</span>
2745
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">default</span>
2746
+ <span class="ruby-keyword">end</span>
2747
+ <span class="ruby-identifier">options</span>[<span class="ruby-value">:hiera_scope</span>] = <span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-constant">Data</span>.<span class="ruby-identifier">prefix</span>(<span class="ruby-string">&#39;::&#39;</span>, <span class="ruby-identifier">facts</span>, <span class="ruby-string">&#39;&#39;</span>)
2748
+ <span class="ruby-identifier">lookup_base</span>(<span class="ruby-identifier">property</span>, <span class="ruby-identifier">default</span>, <span class="ruby-identifier">options</span>)
2749
+ <span class="ruby-keyword">end</span></pre>
2750
+ </div><!-- lookup-source -->
2751
+
2752
+ </div>
2753
+
2754
+
2755
+
2756
+
2757
+ </div><!-- lookup-method -->
2758
+
2759
+
2760
+ <div id="method-i-machine" class="method-detail ">
2761
+
2762
+ <div class="method-heading">
2763
+ <span class="method-name">machine</span><span
2764
+ class="method-args">()</span>
2765
+ <span class="method-click-advice">click to toggle source</span>
2766
+ </div>
2767
+
2768
+
2769
+ <div class="method-description">
2770
+
2771
+
2772
+
2773
+
2774
+
2775
+ <div class="method-source-code" id="machine-source">
2776
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 98</span>
2777
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">machine</span>
2778
+ <span class="ruby-ivar">@machine</span>
2779
+ <span class="ruby-keyword">end</span></pre>
2780
+ </div><!-- machine-source -->
2781
+
2782
+ </div>
2783
+
2784
+
2785
+
2786
+
2787
+ </div><!-- machine-method -->
2788
+
2789
+
2790
+ <div id="method-i-machine-3D" class="method-detail ">
2791
+
2792
+ <div class="method-heading">
2793
+ <span class="method-name">machine=</span><span
2794
+ class="method-args">(machine)</span>
2795
+ <span class="method-click-advice">click to toggle source</span>
2796
+ </div>
2797
+
2798
+
2799
+ <div class="method-description">
2800
+
2801
+
2802
+
2803
+
2804
+
2805
+ <div class="method-source-code" id="machine-3D-source">
2806
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 102</span>
2807
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">machine=</span><span class="ruby-identifier">machine</span>
2808
+ <span class="ruby-ivar">@machine</span> = <span class="ruby-identifier">machine</span>
2809
+ <span class="ruby-keyword">end</span></pre>
2810
+ </div><!-- machine-3D-source -->
2811
+
2812
+ </div>
2813
+
2814
+
2815
+
2816
+
2817
+ </div><!-- machine-3D-method -->
2818
+
2819
+
2820
+ <div id="method-i-machine_config" class="method-detail ">
2821
+
2822
+ <div class="method-heading">
2823
+ <span class="method-name">machine_config</span><span
2824
+ class="method-args">() { |config| ... }</span>
2825
+ <span class="method-click-advice">click to toggle source</span>
2826
+ </div>
2827
+
2828
+
2829
+ <div class="method-description">
2830
+
2831
+
2832
+
2833
+
2834
+
2835
+ <div class="method-source-code" id="machine_config-source">
2836
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 373</span>
2837
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">machine_config</span>
2838
+ <span class="ruby-identifier">name</span> = <span class="ruby-identifier">setting</span>(<span class="ruby-value">:id</span>)
2839
+ <span class="ruby-identifier">name</span> = <span class="ruby-identifier">setting</span>(<span class="ruby-value">:hostname</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">name</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">name</span>.<span class="ruby-identifier">empty?</span>
2840
+ <span class="ruby-identifier">config</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">new</span>({ <span class="ruby-value">:name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">name</span> })
2841
+
2842
+ <span class="ruby-keyword">yield</span>(<span class="ruby-identifier">config</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
2843
+ <span class="ruby-identifier">config</span>
2844
+ <span class="ruby-keyword">end</span></pre>
2845
+ </div><!-- machine_config-source -->
2846
+
2847
+ </div>
2848
+
2849
+
2850
+
2851
+
2852
+ </div><!-- machine_config-method -->
2853
+
2854
+
2855
+ <div id="method-i-machine_type" class="method-detail ">
2856
+
2857
+ <div class="method-heading">
2858
+ <span class="method-name">machine_type</span><span
2859
+ class="method-args">(reset = false)</span>
2860
+ <span class="method-click-advice">click to toggle source</span>
2861
+ </div>
2862
+
2863
+
2864
+ <div class="method-description">
2865
+
2866
+
2867
+
2868
+
2869
+
2870
+ <div class="method-source-code" id="machine_type-source">
2871
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 225</span>
2872
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">machine_type</span>(<span class="ruby-identifier">reset</span> = <span class="ruby-keyword">false</span>)
2873
+ <span class="ruby-identifier">myself</span>[<span class="ruby-value">:machine_type</span>] = <span class="ruby-identifier">machine</span>.<span class="ruby-identifier">machine_type</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">machine</span> <span class="ruby-operator">&amp;&amp;</span> ( <span class="ruby-identifier">reset</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">myself</span>[<span class="ruby-value">:machine_type</span>].<span class="ruby-identifier">nil?</span> )
2874
+ <span class="ruby-identifier">machine_type</span> = <span class="ruby-identifier">myself</span>[<span class="ruby-value">:machine_type</span>]
2875
+
2876
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">machine_type</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">machine</span>
2877
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">types</span> = <span class="ruby-identifier">machine_types</span>
2878
+ <span class="ruby-keyword">unless</span> <span class="ruby-identifier">types</span>.<span class="ruby-identifier">empty?</span>
2879
+ <span class="ruby-identifier">machine_type</span> = <span class="ruby-identifier">machine_type_id</span>(<span class="ruby-identifier">types</span>.<span class="ruby-identifier">first</span>)
2880
+ <span class="ruby-identifier">myself</span>[<span class="ruby-value">:machine_type</span>] = <span class="ruby-identifier">machine_type</span>
2881
+ <span class="ruby-keyword">end</span>
2882
+ <span class="ruby-keyword">end</span>
2883
+ <span class="ruby-keyword">end</span>
2884
+
2885
+ <span class="ruby-identifier">machine_type</span>
2886
+ <span class="ruby-keyword">end</span></pre>
2887
+ </div><!-- machine_type-source -->
2888
+
2889
+ </div>
2890
+
2891
+
2892
+
2893
+
2894
+ </div><!-- machine_type-method -->
2895
+
2896
+
2897
+ <div id="method-i-machine_type_id" class="method-detail ">
2898
+
2899
+ <div class="method-heading">
2900
+ <span class="method-name">machine_type_id</span><span
2901
+ class="method-args">(machine_type)</span>
2902
+ <span class="method-click-advice">click to toggle source</span>
2903
+ </div>
2904
+
2905
+
2906
+ <div class="method-description">
2907
+
2908
+
2909
+
2910
+
2911
+
2912
+ <div class="method-source-code" id="machine_type_id-source">
2913
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 1350</span>
2914
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">machine_type_id</span>(<span class="ruby-identifier">machine_type</span>)
2915
+ <span class="ruby-identifier">machine_type</span>.<span class="ruby-identifier">id</span>
2916
+ <span class="ruby-keyword">end</span></pre>
2917
+ </div><!-- machine_type_id-source -->
2918
+
2919
+ </div>
2920
+
2921
+
2922
+
2923
+
2924
+ </div><!-- machine_type_id-method -->
2925
+
2926
+
2927
+ <div id="method-i-machine_types" class="method-detail ">
2928
+
2929
+ <div class="method-heading">
2930
+ <span class="method-name">machine_types</span><span
2931
+ class="method-args">()</span>
2932
+ <span class="method-click-advice">click to toggle source</span>
2933
+ </div>
2934
+
2935
+
2936
+ <div class="method-description">
2937
+
2938
+
2939
+
2940
+
2941
+
2942
+ <div class="method-source-code" id="machine_types-source">
2943
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 221</span>
2944
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">machine_types</span> <span class="ruby-comment"># Must be set at machine level (queried)</span>
2945
+ <span class="ruby-identifier">machine</span>.<span class="ruby-identifier">machine_types</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">machine</span>
2946
+ <span class="ruby-keyword">end</span></pre>
2947
+ </div><!-- machine_types-source -->
2948
+
2949
+ </div>
2950
+
2951
+
2952
+
2953
+
2954
+ </div><!-- machine_types-method -->
2955
+
2956
+
2957
+ <div id="method-i-method_missing" class="method-detail ">
2958
+
2959
+ <div class="method-heading">
2960
+ <span class="method-name">method_missing</span><span
2961
+ class="method-args">(method, *args, &code)</span>
2962
+ <span class="method-click-advice">click to toggle source</span>
2963
+ </div>
2964
+
2965
+
2966
+ <div class="method-description">
2967
+
2968
+
2969
+
2970
+
2971
+
2972
+ <div class="method-source-code" id="method_missing-source">
2973
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 48</span>
2974
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">method_missing</span>(<span class="ruby-identifier">method</span>, *<span class="ruby-identifier">args</span>, &amp;<span class="ruby-identifier">code</span>)
2975
+ <span class="ruby-identifier">action</span>(<span class="ruby-identifier">method</span>, *<span class="ruby-identifier">args</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">op</span>, <span class="ruby-identifier">data</span><span class="ruby-operator">|</span>
2976
+ <span class="ruby-identifier">code</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">op</span>, <span class="ruby-identifier">data</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">code</span>
2977
+ <span class="ruby-keyword">end</span>
2978
+ <span class="ruby-keyword">end</span></pre>
2979
+ </div><!-- method_missing-source -->
2980
+
2981
+ </div>
2982
+
2983
+
2984
+
2985
+
2986
+ </div><!-- method_missing-method -->
2987
+
2988
+
2989
+ <div id="method-i-normalize" class="method-detail ">
2990
+
2991
+ <div class="method-heading">
2992
+ <span class="method-name">normalize</span><span
2993
+ class="method-args">(reload)</span>
2994
+ <span class="method-click-advice">click to toggle source</span>
2995
+ </div>
2996
+
2997
+
2998
+ <div class="method-description">
2999
+
3000
+
3001
+
3002
+
3003
+
3004
+ <div class="method-source-code" id="normalize-source">
3005
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 12</span>
3006
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">normalize</span>(<span class="ruby-identifier">reload</span>)
3007
+ <span class="ruby-keyword">super</span>
3008
+
3009
+ <span class="ruby-ivar">@class_color</span> = <span class="ruby-value">:purple</span>
3010
+
3011
+ <span class="ruby-identifier">export</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">name</span>, <span class="ruby-identifier">value</span><span class="ruby-operator">|</span>
3012
+ <span class="ruby-identifier">myself</span>[<span class="ruby-identifier">name</span>] = <span class="ruby-identifier">value</span>
3013
+ <span class="ruby-keyword">end</span>
3014
+
3015
+ <span class="ruby-identifier">ui</span>.<span class="ruby-identifier">resource</span> = <span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-constant">Console</span>.<span class="ruby-identifier">colorize</span>(<span class="ruby-identifier">hostname</span>, <span class="ruby-ivar">@class_color</span>)
3016
+ <span class="ruby-identifier">logger</span> = <span class="ruby-identifier">hostname</span>
3017
+
3018
+ <span class="ruby-identifier">add_groups</span>([ <span class="ruby-string">&quot;all&quot;</span>, <span class="ruby-identifier">plugin_provider</span>.<span class="ruby-identifier">to_s</span>, <span class="ruby-identifier">plugin_name</span>.<span class="ruby-identifier">to_s</span> ])
3019
+
3020
+ <span class="ruby-keyword">unless</span> <span class="ruby-identifier">reload</span>
3021
+ <span class="ruby-ivar">@cli_interface</span> = <span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-constant">Liquid</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">method</span>, <span class="ruby-identifier">args</span>, &amp;<span class="ruby-identifier">code</span><span class="ruby-operator">|</span>
3022
+ <span class="ruby-identifier">result</span> = <span class="ruby-identifier">exec</span>({ <span class="ruby-value">:commands</span> =<span class="ruby-operator">&gt;</span> [ [ <span class="ruby-identifier">method</span>, <span class="ruby-identifier">args</span> ].<span class="ruby-identifier">flatten</span>.<span class="ruby-identifier">join</span>(<span class="ruby-string">&#39; &#39;</span>) ] }) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">op</span>, <span class="ruby-identifier">data</span><span class="ruby-operator">|</span>
3023
+ <span class="ruby-identifier">code</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">op</span>, <span class="ruby-identifier">data</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">code</span>
3024
+ <span class="ruby-keyword">end</span>
3025
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">result</span>
3026
+ <span class="ruby-identifier">result</span> = <span class="ruby-identifier">result</span>.<span class="ruby-identifier">first</span>
3027
+ <span class="ruby-identifier">warn</span>(<span class="ruby-identifier">result</span>.<span class="ruby-identifier">errors</span>, { <span class="ruby-value">:i18n</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">false</span> }) <span class="ruby-keyword">unless</span> <span class="ruby-identifier">result</span>.<span class="ruby-identifier">errors</span>.<span class="ruby-identifier">empty?</span>
3028
+ <span class="ruby-keyword">end</span>
3029
+ <span class="ruby-identifier">result</span>
3030
+ <span class="ruby-keyword">end</span>
3031
+
3032
+ <span class="ruby-ivar">@action_interface</span> = <span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-constant">Liquid</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">method</span>, <span class="ruby-identifier">args</span>, &amp;<span class="ruby-identifier">code</span><span class="ruby-operator">|</span>
3033
+ <span class="ruby-identifier">action</span>(<span class="ruby-identifier">method</span>, *<span class="ruby-identifier">args</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">op</span>, <span class="ruby-identifier">data</span><span class="ruby-operator">|</span>
3034
+ <span class="ruby-identifier">code</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">op</span>, <span class="ruby-identifier">data</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">code</span>
3035
+ <span class="ruby-keyword">end</span>
3036
+ <span class="ruby-keyword">end</span>
3037
+ <span class="ruby-keyword">end</span>
3038
+ <span class="ruby-keyword">end</span></pre>
3039
+ </div><!-- normalize-source -->
3040
+
3041
+ </div>
3042
+
3043
+
3044
+
3045
+
3046
+ </div><!-- normalize-method -->
3047
+
3048
+
3049
+ <div id="method-i-private_ip" class="method-detail ">
3050
+
3051
+ <div class="method-heading">
3052
+ <span class="method-name">private_ip</span><span
3053
+ class="method-args">(reset = false)</span>
3054
+ <span class="method-click-advice">click to toggle source</span>
3055
+ </div>
3056
+
3057
+
3058
+ <div class="method-description">
3059
+
3060
+
3061
+
3062
+
3063
+
3064
+ <div class="method-source-code" id="private_ip-source">
3065
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 130</span>
3066
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">private_ip</span>(<span class="ruby-identifier">reset</span> = <span class="ruby-keyword">false</span>)
3067
+ <span class="ruby-identifier">myself</span>[<span class="ruby-value">:private_ip</span>] = <span class="ruby-identifier">machine</span>.<span class="ruby-identifier">private_ip</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">machine</span> <span class="ruby-operator">&amp;&amp;</span> ( <span class="ruby-identifier">reset</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">setting</span>(<span class="ruby-value">:private_ip</span>).<span class="ruby-identifier">nil?</span> )
3068
+ <span class="ruby-identifier">setting</span>(<span class="ruby-value">:private_ip</span>)
3069
+ <span class="ruby-keyword">end</span></pre>
3070
+ </div><!-- private_ip-source -->
3071
+
3072
+ </div>
3073
+
3074
+
3075
+
3076
+
3077
+ </div><!-- private_ip-method -->
3078
+
3079
+
3080
+ <div id="method-i-private_key" class="method-detail ">
3081
+
3082
+ <div class="method-heading">
3083
+ <span class="method-name">private_key</span><span
3084
+ class="method-args">()</span>
3085
+ <span class="method-click-advice">click to toggle source</span>
3086
+ </div>
3087
+
3088
+
3089
+ <div class="method-description">
3090
+
3091
+
3092
+
3093
+
3094
+
3095
+ <div class="method-source-code" id="private_key-source">
3096
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 202</span>
3097
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">private_key</span>
3098
+ <span class="ruby-identifier">config_key</span> = <span class="ruby-identifier">myself</span>[<span class="ruby-value">:private_key</span>]
3099
+ <span class="ruby-keyword">return</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-identifier">config_key</span>, <span class="ruby-identifier">network</span>.<span class="ruby-identifier">directory</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">config_key</span>
3100
+ <span class="ruby-keyword">nil</span>
3101
+ <span class="ruby-keyword">end</span></pre>
3102
+ </div><!-- private_key-source -->
3103
+
3104
+ </div>
3105
+
3106
+
3107
+
3108
+
3109
+ </div><!-- private_key-method -->
3110
+
3111
+
3112
+ <div id="method-i-private_key-3D" class="method-detail ">
3113
+
3114
+ <div class="method-heading">
3115
+ <span class="method-name">private_key=</span><span
3116
+ class="method-args">(private_key)</span>
3117
+ <span class="method-click-advice">click to toggle source</span>
3118
+ </div>
3119
+
3120
+
3121
+ <div class="method-description">
3122
+
3123
+
3124
+
3125
+
3126
+
3127
+ <div class="method-source-code" id="private_key-3D-source">
3128
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 198</span>
3129
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">private_key=</span><span class="ruby-identifier">private_key</span>
3130
+ <span class="ruby-identifier">myself</span>[<span class="ruby-value">:private_key</span>] = <span class="ruby-identifier">private_key</span>
3131
+ <span class="ruby-keyword">end</span></pre>
3132
+ </div><!-- private_key-3D-source -->
3133
+
3134
+ </div>
3135
+
3136
+
3137
+
3138
+
3139
+ </div><!-- private_key-3D-method -->
3140
+
3141
+
3142
+ <div id="method-i-profiles" class="method-detail ">
3143
+
3144
+ <div class="method-heading">
3145
+ <span class="method-name">profiles</span><span
3146
+ class="method-args">()</span>
3147
+ <span class="method-click-advice">click to toggle source</span>
3148
+ </div>
3149
+
3150
+
3151
+ <div class="method-description">
3152
+
3153
+
3154
+
3155
+
3156
+
3157
+ <div class="method-source-code" id="profiles-source">
3158
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 319</span>
3159
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">profiles</span>
3160
+ [ <span class="ruby-identifier">array</span>(<span class="ruby-identifier">myself</span>[<span class="ruby-value">:profiles</span>]), <span class="ruby-identifier">lookup_array</span>(<span class="ruby-value">:profiles</span>).<span class="ruby-identifier">reverse</span> ].<span class="ruby-identifier">flatten</span>
3161
+ <span class="ruby-keyword">end</span></pre>
3162
+ </div><!-- profiles-source -->
3163
+
3164
+ </div>
3165
+
3166
+
3167
+
3168
+
3169
+ </div><!-- profiles-method -->
3170
+
3171
+
3172
+ <div id="method-i-profiles-3D" class="method-detail ">
3173
+
3174
+ <div class="method-heading">
3175
+ <span class="method-name">profiles=</span><span
3176
+ class="method-args">(profiles)</span>
3177
+ <span class="method-click-advice">click to toggle source</span>
3178
+ </div>
3179
+
3180
+
3181
+ <div class="method-description">
3182
+
3183
+
3184
+
3185
+
3186
+
3187
+ <div class="method-source-code" id="profiles-3D-source">
3188
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 315</span>
3189
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">profiles=</span><span class="ruby-identifier">profiles</span>
3190
+ <span class="ruby-identifier">myself</span>[<span class="ruby-value">:profiles</span>] = <span class="ruby-identifier">array</span>(<span class="ruby-identifier">profiles</span>)
3191
+ <span class="ruby-keyword">end</span></pre>
3192
+ </div><!-- profiles-3D-source -->
3193
+
3194
+ </div>
3195
+
3196
+
3197
+
3198
+
3199
+ </div><!-- profiles-3D-method -->
3200
+
3201
+
3202
+ <div id="method-i-provisioner_info" class="method-detail ">
3203
+
3204
+ <div class="method-heading">
3205
+ <span class="method-name">provisioner_info</span><span
3206
+ class="method-args">()</span>
3207
+ <span class="method-click-advice">click to toggle source</span>
3208
+ </div>
3209
+
3210
+
3211
+ <div class="method-description">
3212
+
3213
+
3214
+
3215
+
3216
+
3217
+ <div class="method-source-code" id="provisioner_info-source">
3218
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 325</span>
3219
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">provisioner_info</span>
3220
+ <span class="ruby-identifier">provisioner_info</span> = {}
3221
+
3222
+ <span class="ruby-comment"># Compose needed provisioners and profiles</span>
3223
+ <span class="ruby-identifier">profiles</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">profile</span><span class="ruby-operator">|</span>
3224
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">info</span> = <span class="ruby-constant">Plugin</span><span class="ruby-operator">::</span><span class="ruby-constant">Provisioner</span>.<span class="ruby-identifier">translate_reference</span>(<span class="ruby-identifier">profile</span>)
3225
+ <span class="ruby-identifier">provider</span> = <span class="ruby-identifier">info</span>[<span class="ruby-value">:provider</span>]
3226
+
3227
+ <span class="ruby-identifier">provisioner_info</span>[<span class="ruby-identifier">provider</span>] = { <span class="ruby-value">:profiles</span> =<span class="ruby-operator">&gt;</span> [] } <span class="ruby-keyword">unless</span> <span class="ruby-identifier">provisioner_info</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">provider</span>)
3228
+ <span class="ruby-identifier">provisioner_info</span>[<span class="ruby-identifier">provider</span>][<span class="ruby-value">:profiles</span>] <span class="ruby-operator">+=</span> <span class="ruby-identifier">info</span>[<span class="ruby-value">:profiles</span>]
3229
+ <span class="ruby-keyword">end</span>
3230
+ <span class="ruby-keyword">end</span>
3231
+ <span class="ruby-identifier">provisioner_info</span>
3232
+ <span class="ruby-keyword">end</span></pre>
3233
+ </div><!-- provisioner_info-source -->
3234
+
3235
+ </div>
3236
+
3237
+
3238
+
3239
+
3240
+ </div><!-- provisioner_info-method -->
3241
+
3242
+
3243
+ <div id="method-i-provisioners" class="method-detail ">
3244
+
3245
+ <div class="method-heading">
3246
+ <span class="method-name">provisioners</span><span
3247
+ class="method-args">()</span>
3248
+ <span class="method-click-advice">click to toggle source</span>
3249
+ </div>
3250
+
3251
+
3252
+ <div class="method-description">
3253
+
3254
+
3255
+
3256
+
3257
+
3258
+ <div class="method-source-code" id="provisioners-source">
3259
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 342</span>
3260
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">provisioners</span>
3261
+ <span class="ruby-identifier">provisioners</span> = {}
3262
+ <span class="ruby-identifier">provisioner_info</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">provider</span>, <span class="ruby-identifier">node_profiles</span><span class="ruby-operator">|</span>
3263
+ <span class="ruby-identifier">provisioners</span>[<span class="ruby-identifier">provider</span>] = <span class="ruby-identifier">network</span>.<span class="ruby-identifier">provisioners</span>(<span class="ruby-identifier">provider</span>)
3264
+ <span class="ruby-keyword">end</span>
3265
+ <span class="ruby-identifier">provisioners</span>
3266
+ <span class="ruby-keyword">end</span></pre>
3267
+ </div><!-- provisioners-source -->
3268
+
3269
+ </div>
3270
+
3271
+
3272
+
3273
+
3274
+ </div><!-- provisioners-method -->
3275
+
3276
+
3277
+ <div id="method-i-public_ip" class="method-detail ">
3278
+
3279
+ <div class="method-heading">
3280
+ <span class="method-name">public_ip</span><span
3281
+ class="method-args">(reset = false)</span>
3282
+ <span class="method-click-advice">click to toggle source</span>
3283
+ </div>
3284
+
3285
+
3286
+ <div class="method-description">
3287
+
3288
+
3289
+
3290
+
3291
+
3292
+ <div class="method-source-code" id="public_ip-source">
3293
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 125</span>
3294
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">public_ip</span>(<span class="ruby-identifier">reset</span> = <span class="ruby-keyword">false</span>)
3295
+ <span class="ruby-identifier">myself</span>[<span class="ruby-value">:public_ip</span>] = <span class="ruby-identifier">machine</span>.<span class="ruby-identifier">public_ip</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">machine</span> <span class="ruby-operator">&amp;&amp;</span> ( <span class="ruby-identifier">reset</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">setting</span>(<span class="ruby-value">:public_ip</span>).<span class="ruby-identifier">nil?</span> )
3296
+ <span class="ruby-identifier">setting</span>(<span class="ruby-value">:public_ip</span>)
3297
+ <span class="ruby-keyword">end</span></pre>
3298
+ </div><!-- public_ip-source -->
3299
+
3300
+ </div>
3301
+
3302
+
3303
+
3304
+
3305
+ </div><!-- public_ip-method -->
3306
+
3307
+
3308
+ <div id="method-i-public_key" class="method-detail ">
3309
+
3310
+ <div class="method-heading">
3311
+ <span class="method-name">public_key</span><span
3312
+ class="method-args">()</span>
3313
+ <span class="method-click-advice">click to toggle source</span>
3314
+ </div>
3315
+
3316
+
3317
+ <div class="method-description">
3318
+
3319
+
3320
+
3321
+
3322
+
3323
+ <div class="method-source-code" id="public_key-source">
3324
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 214</span>
3325
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">public_key</span>
3326
+ <span class="ruby-identifier">config_key</span> = <span class="ruby-identifier">myself</span>[<span class="ruby-value">:public_key</span>]
3327
+ <span class="ruby-keyword">return</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-identifier">config_key</span>, <span class="ruby-identifier">network</span>.<span class="ruby-identifier">directory</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">config_key</span>
3328
+ <span class="ruby-keyword">end</span></pre>
3329
+ </div><!-- public_key-source -->
3330
+
3331
+ </div>
3332
+
3333
+
3334
+
3335
+
3336
+ </div><!-- public_key-method -->
3337
+
3338
+
3339
+ <div id="method-i-public_key-3D" class="method-detail ">
3340
+
3341
+ <div class="method-heading">
3342
+ <span class="method-name">public_key=</span><span
3343
+ class="method-args">(public_key)</span>
3344
+ <span class="method-click-advice">click to toggle source</span>
3345
+ </div>
3346
+
3347
+
3348
+ <div class="method-description">
3349
+
3350
+
3351
+
3352
+
3353
+
3354
+ <div class="method-source-code" id="public_key-3D-source">
3355
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 210</span>
3356
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">public_key=</span><span class="ruby-identifier">public_key</span>
3357
+ <span class="ruby-identifier">myself</span>[<span class="ruby-value">:public_key</span>] = <span class="ruby-identifier">public_key</span>
3358
+ <span class="ruby-keyword">end</span></pre>
3359
+ </div><!-- public_key-3D-source -->
3360
+
3361
+ </div>
3362
+
3363
+
3364
+
3365
+
3366
+ </div><!-- public_key-3D-method -->
3367
+
3368
+
3369
+ <div id="method-i-reload" class="method-detail ">
3370
+
3371
+ <div class="method-heading">
3372
+ <span class="method-name">reload</span><span
3373
+ class="method-args">(options = {}) { |:config, config| ... }</span>
3374
+ <span class="method-click-advice">click to toggle source</span>
3375
+ </div>
3376
+
3377
+
3378
+ <div class="method-description">
3379
+
3380
+
3381
+
3382
+
3383
+
3384
+ <div class="method-source-code" id="reload-source">
3385
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 1109</span>
3386
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">reload</span>(<span class="ruby-identifier">options</span> = {})
3387
+ <span class="ruby-identifier">success</span> = <span class="ruby-keyword">true</span>
3388
+
3389
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">machine</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">machine</span>.<span class="ruby-identifier">created?</span>
3390
+ <span class="ruby-identifier">config</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">ensure</span>(<span class="ruby-identifier">options</span>)
3391
+
3392
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">extension_check</span>(<span class="ruby-value">:reload</span>, { <span class="ruby-value">:config</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span> })
3393
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Reloading node: #{plugin_name}&quot;</span>)
3394
+
3395
+ <span class="ruby-keyword">yield</span>(<span class="ruby-value">:config</span>, <span class="ruby-identifier">config</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
3396
+ <span class="ruby-identifier">success</span> = <span class="ruby-identifier">machine</span>.<span class="ruby-identifier">reload</span>(<span class="ruby-identifier">config</span>.<span class="ruby-identifier">export</span>)
3397
+
3398
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">block_given?</span>
3399
+ <span class="ruby-identifier">process_success</span> = <span class="ruby-keyword">yield</span>(<span class="ruby-value">:process</span>, <span class="ruby-identifier">config</span>)
3400
+ <span class="ruby-identifier">success</span> = <span class="ruby-identifier">process_success</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">process_success</span> <span class="ruby-operator">==</span> <span class="ruby-keyword">false</span>
3401
+ <span class="ruby-keyword">end</span>
3402
+
3403
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span>
3404
+ <span class="ruby-identifier">extension</span>(<span class="ruby-value">:reload_success</span>, { <span class="ruby-value">:config</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span> })
3405
+ <span class="ruby-keyword">end</span>
3406
+ <span class="ruby-keyword">end</span>
3407
+ <span class="ruby-keyword">else</span>
3408
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">warn</span>(<span class="ruby-node">&quot;Node #{plugin_name} does not have an attached machine or is not created so cannot be reloaded&quot;</span>)
3409
+ <span class="ruby-keyword">end</span>
3410
+ <span class="ruby-identifier">success</span>
3411
+ <span class="ruby-keyword">end</span></pre>
3412
+ </div><!-- reload-source -->
3413
+
3414
+ </div>
3415
+
3416
+
3417
+
3418
+
3419
+ </div><!-- reload-method -->
3420
+
3421
+
3422
+ <div id="method-i-remote_cache_setting" class="method-detail ">
3423
+
3424
+ <div class="method-heading">
3425
+ <span class="method-name">remote_cache_setting</span><span
3426
+ class="method-args">(keys, default = nil, format = false)</span>
3427
+ <span class="method-click-advice">click to toggle source</span>
3428
+ </div>
3429
+
3430
+
3431
+ <div class="method-description">
3432
+
3433
+
3434
+
3435
+
3436
+
3437
+ <div class="method-source-code" id="remote_cache_setting-source">
3438
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 473</span>
3439
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">remote_cache_setting</span>(<span class="ruby-identifier">keys</span>, <span class="ruby-identifier">default</span> = <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">format</span> = <span class="ruby-keyword">false</span>)
3440
+ <span class="ruby-identifier">cache_id</span> = <span class="ruby-identifier">keys</span>.<span class="ruby-identifier">flatten</span>.<span class="ruby-identifier">join</span>(<span class="ruby-string">&#39;.&#39;</span>)
3441
+ <span class="ruby-identifier">result</span> = <span class="ruby-identifier">run</span>.<span class="ruby-identifier">node_cache</span>({ <span class="ruby-value">:name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">cache_id</span> })
3442
+
3443
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">result</span>.<span class="ruby-identifier">status</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">code</span>.<span class="ruby-identifier">success</span>
3444
+ <span class="ruby-identifier">value</span> = <span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-constant">Data</span>.<span class="ruby-identifier">value</span>(<span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-constant">Data</span>.<span class="ruby-identifier">parse_json</span>(<span class="ruby-identifier">result</span>.<span class="ruby-identifier">errors</span>), <span class="ruby-identifier">default</span>)
3445
+ <span class="ruby-keyword">else</span>
3446
+ <span class="ruby-identifier">value</span> = <span class="ruby-identifier">default</span>
3447
+ <span class="ruby-keyword">end</span>
3448
+ <span class="ruby-identifier">filter</span>(<span class="ruby-identifier">value</span>, <span class="ruby-identifier">format</span>)
3449
+ <span class="ruby-keyword">end</span></pre>
3450
+ </div><!-- remote_cache_setting-source -->
3451
+
3452
+ </div>
3453
+
3454
+
3455
+
3456
+
3457
+ </div><!-- remote_cache_setting-method -->
3458
+
3459
+
3460
+ <div id="method-i-remove_custom_facts" class="method-detail ">
3461
+
3462
+ <div class="method-heading">
3463
+ <span class="method-name">remove_custom_facts</span><span
3464
+ class="method-args">(*facts)</span>
3465
+ <span class="method-click-advice">click to toggle source</span>
3466
+ </div>
3467
+
3468
+
3469
+ <div class="method-description">
3470
+
3471
+
3472
+
3473
+
3474
+
3475
+ <div class="method-source-code" id="remove_custom_facts-source">
3476
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 307</span>
3477
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">remove_custom_facts</span>(*<span class="ruby-identifier">facts</span>)
3478
+ <span class="ruby-identifier">facts</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">name</span><span class="ruby-operator">|</span>
3479
+ <span class="ruby-identifier">delete_setting</span>([ <span class="ruby-value">:facts</span>, <span class="ruby-identifier">name</span> ])
3480
+ <span class="ruby-keyword">end</span>
3481
+ <span class="ruby-keyword">end</span></pre>
3482
+ </div><!-- remove_custom_facts-source -->
3483
+
3484
+ </div>
3485
+
3486
+
3487
+
3488
+
3489
+ </div><!-- remove_custom_facts-method -->
3490
+
3491
+
3492
+ <div id="method-i-remove_plugin" class="method-detail ">
3493
+
3494
+ <div class="method-heading">
3495
+ <span class="method-name">remove_plugin</span><span
3496
+ class="method-args">()</span>
3497
+ <span class="method-click-advice">click to toggle source</span>
3498
+ </div>
3499
+
3500
+
3501
+ <div class="method-description">
3502
+
3503
+
3504
+
3505
+
3506
+
3507
+ <div class="method-source-code" id="remove_plugin-source">
3508
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 63</span>
3509
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">remove_plugin</span>
3510
+ <span class="ruby-constant">CORL</span>.<span class="ruby-identifier">remove_plugin</span>(<span class="ruby-identifier">local_machine</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">local_machine</span>
3511
+ <span class="ruby-constant">CORL</span>.<span class="ruby-identifier">remove_plugin</span>(<span class="ruby-identifier">machine</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">machine</span>
3512
+ <span class="ruby-keyword">end</span></pre>
3513
+ </div><!-- remove_plugin-source -->
3514
+
3515
+ </div>
3516
+
3517
+
3518
+
3519
+
3520
+ </div><!-- remove_plugin-method -->
3521
+
3522
+
3523
+ <div id="method-i-render_image" class="method-detail ">
3524
+
3525
+ <div class="method-heading">
3526
+ <span class="method-name">render_image</span><span
3527
+ class="method-args">(image)</span>
3528
+ <span class="method-click-advice">click to toggle source</span>
3529
+ </div>
3530
+
3531
+
3532
+ <div class="method-description">
3533
+
3534
+
3535
+
3536
+
3537
+
3538
+ <div class="method-source-code" id="render_image-source">
3539
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 1369</span>
3540
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">render_image</span>(<span class="ruby-identifier">image</span>)
3541
+ <span class="ruby-string">&#39;&#39;</span>
3542
+ <span class="ruby-keyword">end</span></pre>
3543
+ </div><!-- render_image-source -->
3544
+
3545
+ </div>
3546
+
3547
+
3548
+
3549
+
3550
+ </div><!-- render_image-method -->
3551
+
3552
+
3553
+ <div id="method-i-render_machine_type" class="method-detail ">
3554
+
3555
+ <div class="method-heading">
3556
+ <span class="method-name">render_machine_type</span><span
3557
+ class="method-args">(machine_type)</span>
3558
+ <span class="method-click-advice">click to toggle source</span>
3559
+ </div>
3560
+
3561
+
3562
+ <div class="method-description">
3563
+
3564
+
3565
+
3566
+
3567
+
3568
+ <div class="method-source-code" id="render_machine_type-source">
3569
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 1356</span>
3570
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">render_machine_type</span>(<span class="ruby-identifier">machine_type</span>)
3571
+ <span class="ruby-string">&#39;&#39;</span>
3572
+ <span class="ruby-keyword">end</span></pre>
3573
+ </div><!-- render_machine_type-source -->
3574
+
3575
+ </div>
3576
+
3577
+
3578
+
3579
+
3580
+ </div><!-- render_machine_type-method -->
3581
+
3582
+
3583
+ <div id="method-i-run" class="method-detail ">
3584
+
3585
+ <div class="method-heading">
3586
+ <span class="method-name">run</span><span
3587
+ class="method-args">()</span>
3588
+ <span class="method-click-advice">click to toggle source</span>
3589
+ </div>
3590
+
3591
+
3592
+ <div class="method-description">
3593
+
3594
+
3595
+
3596
+
3597
+
3598
+ <div class="method-source-code" id="run-source">
3599
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 911</span>
3600
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">run</span>
3601
+ <span class="ruby-ivar">@action_interface</span>
3602
+ <span class="ruby-keyword">end</span></pre>
3603
+ </div><!-- run-source -->
3604
+
3605
+ </div>
3606
+
3607
+
3608
+
3609
+
3610
+ </div><!-- run-method -->
3611
+
3612
+
3613
+ <div id="method-i-save" class="method-detail ">
3614
+
3615
+ <div class="method-heading">
3616
+ <span class="method-name">save</span><span
3617
+ class="method-args">(options = {}) { |config| ... }</span>
3618
+ <span class="method-click-advice">click to toggle source</span>
3619
+ </div>
3620
+
3621
+
3622
+ <div class="method-description">
3623
+
3624
+
3625
+
3626
+
3627
+
3628
+ <div class="method-source-code" id="save-source">
3629
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 1041</span>
3630
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">save</span>(<span class="ruby-identifier">options</span> = {})
3631
+ <span class="ruby-identifier">config</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">ensure</span>(<span class="ruby-identifier">options</span>)
3632
+
3633
+ <span class="ruby-comment"># Record machine parameters</span>
3634
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
3635
+ <span class="ruby-comment"># Provider or external configuration preparation</span>
3636
+ <span class="ruby-keyword">yield</span>(<span class="ruby-identifier">config</span>)
3637
+ <span class="ruby-keyword">else</span>
3638
+ <span class="ruby-comment"># Default configuration preparation</span>
3639
+ <span class="ruby-identifier">id</span>(<span class="ruby-keyword">true</span>)
3640
+ <span class="ruby-identifier">public_ip</span>(<span class="ruby-keyword">true</span>)
3641
+ <span class="ruby-identifier">private_ip</span>(<span class="ruby-keyword">true</span>)
3642
+ <span class="ruby-identifier">state</span>(<span class="ruby-keyword">true</span>)
3643
+
3644
+ <span class="ruby-identifier">machine_type</span>(<span class="ruby-keyword">false</span>)
3645
+ <span class="ruby-identifier">image</span>(<span class="ruby-keyword">false</span>)
3646
+ <span class="ruby-keyword">end</span>
3647
+
3648
+ <span class="ruby-identifier">network</span>.<span class="ruby-identifier">save</span>(<span class="ruby-identifier">config</span>.<span class="ruby-identifier">import</span>({
3649
+ <span class="ruby-value">:commit</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">true</span>,
3650
+ <span class="ruby-value">:allow_empty</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">true</span>,
3651
+ <span class="ruby-value">:message</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value">:message</span>, <span class="ruby-node">&quot;Saving #{plugin_provider} node #{plugin_name}&quot;</span>),
3652
+ <span class="ruby-value">:remote</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value">:remote</span>, <span class="ruby-value">:edit</span>)
3653
+ }))
3654
+ <span class="ruby-keyword">end</span></pre>
3655
+ </div><!-- save-source -->
3656
+
3657
+ </div>
3658
+
3659
+
3660
+
3661
+
3662
+ </div><!-- save-method -->
3663
+
3664
+
3665
+ <div id="method-i-send_files" class="method-detail ">
3666
+
3667
+ <div class="method-heading">
3668
+ <span class="method-name">send_files</span><span
3669
+ class="method-args">(local_path, remote_path, files = nil, permission = '0644', &code)</span>
3670
+ <span class="method-click-advice">click to toggle source</span>
3671
+ </div>
3672
+
3673
+
3674
+ <div class="method-description">
3675
+
3676
+
3677
+
3678
+
3679
+
3680
+ <div class="method-source-code" id="send_files-source">
3681
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 745</span>
3682
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">send_files</span>(<span class="ruby-identifier">local_path</span>, <span class="ruby-identifier">remote_path</span>, <span class="ruby-identifier">files</span> = <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">permission</span> = <span class="ruby-string">&#39;0644&#39;</span>, &amp;<span class="ruby-identifier">code</span>)
3683
+ <span class="ruby-identifier">local_path</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-identifier">local_path</span>)
3684
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">false</span> <span class="ruby-keyword">unless</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">directory?</span>(<span class="ruby-identifier">local_path</span>)
3685
+
3686
+ <span class="ruby-identifier">success</span> = <span class="ruby-keyword">true</span>
3687
+
3688
+ <span class="ruby-identifier">send_file</span> = <span class="ruby-identifier">lambda</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">local_file</span>, <span class="ruby-identifier">remote_file</span><span class="ruby-operator">|</span>
3689
+ <span class="ruby-identifier">send_success</span> = <span class="ruby-identifier">upload</span>(<span class="ruby-identifier">local_file</span>, <span class="ruby-identifier">remote_file</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">op</span>, <span class="ruby-identifier">options</span><span class="ruby-operator">|</span>
3690
+ <span class="ruby-identifier">code</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">op</span>, <span class="ruby-identifier">options</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">code</span>
3691
+ <span class="ruby-keyword">end</span>
3692
+ <span class="ruby-identifier">send_success</span> = <span class="ruby-identifier">cli_check</span>(<span class="ruby-value">:chmod</span>, <span class="ruby-identifier">permission</span>, <span class="ruby-identifier">remote_file</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">send_success</span>
3693
+ <span class="ruby-identifier">send_success</span>
3694
+ <span class="ruby-keyword">end</span>
3695
+
3696
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">files</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">files</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Array</span>)
3697
+ <span class="ruby-identifier">files</span>.<span class="ruby-identifier">flatten</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">rel_file_name</span><span class="ruby-operator">|</span>
3698
+ <span class="ruby-identifier">local_file</span> = <span class="ruby-node">&quot;#{local_path}/#{rel_file_name}&quot;</span>
3699
+ <span class="ruby-identifier">remote_file</span> = <span class="ruby-node">&quot;#{remote_path}/#{rel_file_name}&quot;</span>
3700
+
3701
+ <span class="ruby-keyword">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>(<span class="ruby-identifier">local_file</span>)
3702
+ <span class="ruby-identifier">send_success</span> = <span class="ruby-identifier">send_file</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">local_file</span>, <span class="ruby-identifier">remote_file</span>)
3703
+ <span class="ruby-identifier">success</span> = <span class="ruby-keyword">false</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">send_success</span>
3704
+ <span class="ruby-keyword">end</span>
3705
+ <span class="ruby-keyword">end</span>
3706
+ <span class="ruby-keyword">else</span>
3707
+ <span class="ruby-identifier">send_success</span> = <span class="ruby-identifier">send_file</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">local_path</span>, <span class="ruby-identifier">remote_path</span>)
3708
+ <span class="ruby-identifier">success</span> = <span class="ruby-keyword">false</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">send_success</span>
3709
+ <span class="ruby-keyword">end</span>
3710
+ <span class="ruby-identifier">success</span>
3711
+ <span class="ruby-keyword">end</span></pre>
3712
+ </div><!-- send_files-source -->
3713
+
3714
+ </div>
3715
+
3716
+
3717
+
3718
+
3719
+ </div><!-- send_files-method -->
3720
+
3721
+
3722
+ <div id="method-i-set_remote_cache_setting" class="method-detail ">
3723
+
3724
+ <div class="method-heading">
3725
+ <span class="method-name">set_remote_cache_setting</span><span
3726
+ class="method-args">(keys, value)</span>
3727
+ <span class="method-click-advice">click to toggle source</span>
3728
+ </div>
3729
+
3730
+
3731
+ <div class="method-description">
3732
+
3733
+
3734
+
3735
+
3736
+
3737
+ <div class="method-source-code" id="set_remote_cache_setting-source">
3738
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 487</span>
3739
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">set_remote_cache_setting</span>(<span class="ruby-identifier">keys</span>, <span class="ruby-identifier">value</span>)
3740
+ <span class="ruby-identifier">run</span>.<span class="ruby-identifier">node_cache</span>({
3741
+ <span class="ruby-value">:name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">keys</span>.<span class="ruby-identifier">flatten</span>.<span class="ruby-identifier">join</span>(<span class="ruby-string">&#39;.&#39;</span>),
3742
+ <span class="ruby-value">:value</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-constant">Data</span>.<span class="ruby-identifier">to_json</span>(<span class="ruby-identifier">value</span>, <span class="ruby-keyword">false</span>),
3743
+ <span class="ruby-value">:json</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">true</span>
3744
+ }).<span class="ruby-identifier">status</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">code</span>.<span class="ruby-identifier">success</span>
3745
+ <span class="ruby-keyword">end</span></pre>
3746
+ </div><!-- set_remote_cache_setting-source -->
3747
+
3748
+ </div>
3749
+
3750
+
3751
+
3752
+
3753
+ </div><!-- set_remote_cache_setting-method -->
3754
+
3755
+
3756
+ <div id="method-i-ssh_path" class="method-detail ">
3757
+
3758
+ <div class="method-heading">
3759
+ <span class="method-name">ssh_path</span><span
3760
+ class="method-args">(home_env_var = 'HOME', reset = false)</span>
3761
+ <span class="method-click-advice">click to toggle source</span>
3762
+ </div>
3763
+
3764
+
3765
+ <div class="method-description">
3766
+
3767
+
3768
+
3769
+
3770
+
3771
+ <div class="method-source-code" id="ssh_path-source">
3772
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 191</span>
3773
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">ssh_path</span>(<span class="ruby-identifier">home_env_var</span> = <span class="ruby-string">&#39;HOME&#39;</span>, <span class="ruby-identifier">reset</span> = <span class="ruby-keyword">false</span>)
3774
+ <span class="ruby-identifier">home</span> = <span class="ruby-identifier">home</span>(<span class="ruby-identifier">home_env_var</span>, <span class="ruby-identifier">reset</span>)
3775
+ <span class="ruby-identifier">home</span> <span class="ruby-operator">?</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">home</span>, <span class="ruby-string">&#39;.ssh&#39;</span>) <span class="ruby-operator">:</span> <span class="ruby-keyword">nil</span>
3776
+ <span class="ruby-keyword">end</span></pre>
3777
+ </div><!-- ssh_path-source -->
3778
+
3779
+ </div>
3780
+
3781
+
3782
+
3783
+
3784
+ </div><!-- ssh_path-method -->
3785
+
3786
+
3787
+ <div id="method-i-ssh_port" class="method-detail ">
3788
+
3789
+ <div class="method-heading">
3790
+ <span class="method-name">ssh_port</span><span
3791
+ class="method-args">()</span>
3792
+ <span class="method-click-advice">click to toggle source</span>
3793
+ </div>
3794
+
3795
+
3796
+ <div class="method-description">
3797
+
3798
+
3799
+
3800
+
3801
+
3802
+ <div class="method-source-code" id="ssh_port-source">
3803
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 175</span>
3804
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">ssh_port</span>
3805
+ <span class="ruby-identifier">myself</span>[<span class="ruby-value">:ssh_port</span>] = <span class="ruby-value">22</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">myself</span>[<span class="ruby-value">:ssh_port</span>].<span class="ruby-identifier">nil?</span>
3806
+ <span class="ruby-identifier">myself</span>[<span class="ruby-value">:ssh_port</span>]
3807
+ <span class="ruby-keyword">end</span></pre>
3808
+ </div><!-- ssh_port-source -->
3809
+
3810
+ </div>
3811
+
3812
+
3813
+
3814
+
3815
+ </div><!-- ssh_port-method -->
3816
+
3817
+
3818
+ <div id="method-i-ssh_port-3D" class="method-detail ">
3819
+
3820
+ <div class="method-heading">
3821
+ <span class="method-name">ssh_port=</span><span
3822
+ class="method-args">(ssh_port)</span>
3823
+ <span class="method-click-advice">click to toggle source</span>
3824
+ </div>
3825
+
3826
+
3827
+ <div class="method-description">
3828
+
3829
+
3830
+
3831
+
3832
+
3833
+ <div class="method-source-code" id="ssh_port-3D-source">
3834
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 170</span>
3835
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">ssh_port=</span><span class="ruby-identifier">ssh_port</span>
3836
+ <span class="ruby-identifier">myself</span>[<span class="ruby-value">:ssh_port</span>] = <span class="ruby-identifier">ssh_port</span>
3837
+ <span class="ruby-identifier">machine</span>.<span class="ruby-identifier">init_ssh</span>(<span class="ruby-identifier">ssh_port</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">machine</span>
3838
+ <span class="ruby-keyword">end</span></pre>
3839
+ </div><!-- ssh_port-3D-source -->
3840
+
3841
+ </div>
3842
+
3843
+
3844
+
3845
+
3846
+ </div><!-- ssh_port-3D-method -->
3847
+
3848
+
3849
+ <div id="method-i-start" class="method-detail ">
3850
+
3851
+ <div class="method-heading">
3852
+ <span class="method-name">start</span><span
3853
+ class="method-args">(options = {}) { |:config, config| ... }</span>
3854
+ <span class="method-click-advice">click to toggle source</span>
3855
+ </div>
3856
+
3857
+
3858
+ <div class="method-description">
3859
+
3860
+
3861
+
3862
+
3863
+
3864
+ <div class="method-source-code" id="start-source">
3865
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 1069</span>
3866
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">start</span>(<span class="ruby-identifier">options</span> = {})
3867
+ <span class="ruby-identifier">success</span> = <span class="ruby-keyword">true</span>
3868
+
3869
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">machine</span>
3870
+ <span class="ruby-identifier">config</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">ensure</span>(<span class="ruby-identifier">options</span>)
3871
+
3872
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">extension_check</span>(<span class="ruby-value">:start</span>, { <span class="ruby-value">:config</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span> })
3873
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Starting node: #{plugin_name}&quot;</span>)
3874
+
3875
+ <span class="ruby-keyword">yield</span>(<span class="ruby-value">:config</span>, <span class="ruby-identifier">config</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
3876
+ <span class="ruby-identifier">success</span> = <span class="ruby-identifier">machine</span>.<span class="ruby-identifier">start</span>(<span class="ruby-identifier">config</span>.<span class="ruby-identifier">export</span>)
3877
+ <span class="ruby-identifier">success</span> = <span class="ruby-identifier">save</span>(<span class="ruby-identifier">config</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span>
3878
+
3879
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span>
3880
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">config</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value">:bootstrap</span>, <span class="ruby-keyword">true</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">bootstrap_script</span>
3881
+ <span class="ruby-identifier">result</span> = <span class="ruby-identifier">command</span>(<span class="ruby-node">&quot;HOSTNAME=&#39;#{hostname}&#39; #{bootstrap_script}&quot;</span>, { <span class="ruby-value">:as_admin</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">true</span> }) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">op</span>, <span class="ruby-identifier">data</span><span class="ruby-operator">|</span>
3882
+ <span class="ruby-keyword">yield</span>(<span class="ruby-node">&quot;bootstrap_#{op}&quot;</span>.<span class="ruby-identifier">to_sym</span>, <span class="ruby-identifier">data</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
3883
+ <span class="ruby-identifier">data</span>
3884
+ <span class="ruby-keyword">end</span>
3885
+ <span class="ruby-identifier">success</span> = <span class="ruby-keyword">false</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">result</span>.<span class="ruby-identifier">status</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">code</span>.<span class="ruby-identifier">success</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">reload</span>
3886
+ <span class="ruby-keyword">end</span>
3887
+ <span class="ruby-keyword">end</span>
3888
+
3889
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">block_given?</span>
3890
+ <span class="ruby-identifier">process_success</span> = <span class="ruby-keyword">yield</span>(<span class="ruby-value">:process</span>, <span class="ruby-identifier">config</span>)
3891
+ <span class="ruby-identifier">success</span> = <span class="ruby-identifier">process_success</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">process_success</span> <span class="ruby-operator">==</span> <span class="ruby-keyword">false</span>
3892
+ <span class="ruby-keyword">end</span>
3893
+
3894
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span>
3895
+ <span class="ruby-identifier">extension</span>(<span class="ruby-value">:start_success</span>, { <span class="ruby-value">:config</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span> })
3896
+ <span class="ruby-keyword">end</span>
3897
+ <span class="ruby-keyword">end</span>
3898
+ <span class="ruby-keyword">else</span>
3899
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">warn</span>(<span class="ruby-node">&quot;Node #{plugin_name} does not have an attached machine so cannot be started&quot;</span>)
3900
+ <span class="ruby-keyword">end</span>
3901
+ <span class="ruby-identifier">success</span>
3902
+ <span class="ruby-keyword">end</span></pre>
3903
+ </div><!-- start-source -->
3904
+
3905
+ </div>
3906
+
3907
+
3908
+
3909
+
3910
+ </div><!-- start-method -->
3911
+
3912
+
3913
+ <div id="method-i-state" class="method-detail ">
3914
+
3915
+ <div class="method-heading">
3916
+ <span class="method-name">state</span><span
3917
+ class="method-args">(reset = false)</span>
3918
+ <span class="method-click-advice">click to toggle source</span>
3919
+ </div>
3920
+
3921
+
3922
+ <div class="method-description">
3923
+
3924
+
3925
+
3926
+
3927
+
3928
+ <div class="method-source-code" id="state-source">
3929
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 153</span>
3930
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">state</span>(<span class="ruby-identifier">reset</span> = <span class="ruby-keyword">false</span>)
3931
+ <span class="ruby-identifier">myself</span>[<span class="ruby-value">:state</span>] = <span class="ruby-identifier">machine</span>.<span class="ruby-identifier">state</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">machine</span> <span class="ruby-operator">&amp;&amp;</span> ( <span class="ruby-identifier">reset</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">setting</span>(<span class="ruby-value">:state</span>).<span class="ruby-identifier">nil?</span> )
3932
+ <span class="ruby-identifier">setting</span>(<span class="ruby-value">:state</span>)
3933
+ <span class="ruby-keyword">end</span></pre>
3934
+ </div><!-- state-source -->
3935
+
3936
+ </div>
3937
+
3938
+
3939
+
3940
+
3941
+ </div><!-- state-method -->
3942
+
3943
+
3944
+ <div id="method-i-stop" class="method-detail ">
3945
+
3946
+ <div class="method-heading">
3947
+ <span class="method-name">stop</span><span
3948
+ class="method-args">(options = {}) { |:config, config| ... }</span>
3949
+ <span class="method-click-advice">click to toggle source</span>
3950
+ </div>
3951
+
3952
+
3953
+ <div class="method-description">
3954
+
3955
+
3956
+
3957
+
3958
+
3959
+ <div class="method-source-code" id="stop-source">
3960
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 1168</span>
3961
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">stop</span>(<span class="ruby-identifier">options</span> = {})
3962
+ <span class="ruby-identifier">success</span> = <span class="ruby-keyword">true</span>
3963
+
3964
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">machine</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">machine</span>.<span class="ruby-identifier">running?</span>
3965
+ <span class="ruby-identifier">config</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">ensure</span>(<span class="ruby-identifier">options</span>)
3966
+
3967
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">extension_check</span>(<span class="ruby-value">:stop</span>, { <span class="ruby-value">:config</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span> })
3968
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Stopping node: #{plugin_name}&quot;</span>)
3969
+
3970
+ <span class="ruby-keyword">yield</span>(<span class="ruby-value">:config</span>, <span class="ruby-identifier">config</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
3971
+ <span class="ruby-identifier">success</span> = <span class="ruby-identifier">machine</span>.<span class="ruby-identifier">stop</span>(<span class="ruby-identifier">config</span>.<span class="ruby-identifier">export</span>)
3972
+
3973
+ <span class="ruby-identifier">myself</span>.<span class="ruby-identifier">machine</span> = <span class="ruby-keyword">nil</span>
3974
+
3975
+ <span class="ruby-identifier">override_settings</span> = <span class="ruby-keyword">false</span>
3976
+ <span class="ruby-identifier">override_settings</span> = <span class="ruby-keyword">yield</span>(<span class="ruby-value">:finalize</span>, <span class="ruby-identifier">config</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">block_given?</span>
3977
+
3978
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span> <span class="ruby-identifier">override_settings</span>
3979
+ <span class="ruby-identifier">delete_setting</span>(<span class="ruby-value">:id</span>)
3980
+ <span class="ruby-identifier">delete_setting</span>(<span class="ruby-value">:public_ip</span>)
3981
+ <span class="ruby-identifier">delete_setting</span>(<span class="ruby-value">:private_ip</span>)
3982
+ <span class="ruby-identifier">delete_setting</span>(<span class="ruby-value">:ssh_port</span>)
3983
+ <span class="ruby-identifier">delete_setting</span>(<span class="ruby-value">:build</span>)
3984
+
3985
+ <span class="ruby-identifier">myself</span>[<span class="ruby-value">:state</span>] = <span class="ruby-value">:stopped</span>
3986
+ <span class="ruby-keyword">end</span>
3987
+ <span class="ruby-identifier">success</span> = <span class="ruby-identifier">save</span>(<span class="ruby-identifier">config</span>)
3988
+
3989
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">block_given?</span>
3990
+ <span class="ruby-identifier">process_success</span> = <span class="ruby-keyword">yield</span>(<span class="ruby-value">:process</span>, <span class="ruby-identifier">config</span>)
3991
+ <span class="ruby-identifier">success</span> = <span class="ruby-identifier">process_success</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">process_success</span> <span class="ruby-operator">==</span> <span class="ruby-keyword">false</span>
3992
+ <span class="ruby-keyword">end</span>
3993
+
3994
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span>
3995
+ <span class="ruby-identifier">extension</span>(<span class="ruby-value">:stop_success</span>, { <span class="ruby-value">:config</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span> })
3996
+ <span class="ruby-keyword">end</span>
3997
+ <span class="ruby-keyword">end</span>
3998
+ <span class="ruby-keyword">else</span>
3999
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">warn</span>(<span class="ruby-node">&quot;Node #{plugin_name} does not have an attached machine or is not running so cannot be stopped&quot;</span>)
4000
+ <span class="ruby-keyword">end</span>
4001
+ <span class="ruby-identifier">success</span>
4002
+ <span class="ruby-keyword">end</span></pre>
4003
+ </div><!-- stop-source -->
4004
+
4005
+ </div>
4006
+
4007
+
4008
+
4009
+
4010
+ </div><!-- stop-method -->
4011
+
4012
+
4013
+ <div id="method-i-terminal" class="method-detail ">
4014
+
4015
+ <div class="method-heading">
4016
+ <span class="method-name">terminal</span><span
4017
+ class="method-args">(options = {})</span>
4018
+ <span class="method-click-advice">click to toggle source</span>
4019
+ </div>
4020
+
4021
+
4022
+ <div class="method-description">
4023
+
4024
+
4025
+
4026
+
4027
+
4028
+ <div class="method-source-code" id="terminal-source">
4029
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 917</span>
4030
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">terminal</span>(<span class="ruby-identifier">options</span> = {})
4031
+ <span class="ruby-identifier">myself</span>.<span class="ruby-identifier">status</span> = <span class="ruby-identifier">code</span>.<span class="ruby-identifier">unknown_status</span>
4032
+
4033
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">machine</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">machine</span>.<span class="ruby-identifier">running?</span>
4034
+ <span class="ruby-identifier">config</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">ensure</span>(<span class="ruby-identifier">options</span>)
4035
+
4036
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">extension_check</span>(<span class="ruby-value">:terminal</span>, { <span class="ruby-value">:config</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span> })
4037
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Launching terminal for node: #{plugin_name}&quot;</span>)
4038
+
4039
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">local?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">local_machine</span>
4040
+ <span class="ruby-identifier">active_machine</span> = <span class="ruby-identifier">local_machine</span>
4041
+ <span class="ruby-keyword">else</span>
4042
+ <span class="ruby-identifier">active_machine</span> = <span class="ruby-identifier">machine</span>
4043
+ <span class="ruby-keyword">end</span>
4044
+
4045
+ <span class="ruby-identifier">config</span>[<span class="ruby-value">:private_keys</span>] = <span class="ruby-identifier">private_key</span>
4046
+ <span class="ruby-identifier">config</span>[<span class="ruby-value">:port</span>] = <span class="ruby-identifier">ssh_port</span>
4047
+
4048
+ <span class="ruby-identifier">myself</span>.<span class="ruby-identifier">status</span> = <span class="ruby-identifier">active_machine</span>.<span class="ruby-identifier">terminal</span>(<span class="ruby-identifier">user</span>, <span class="ruby-identifier">config</span>.<span class="ruby-identifier">export</span>)
4049
+
4050
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">status</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">code</span>.<span class="ruby-identifier">success</span>
4051
+ <span class="ruby-identifier">extension</span>(<span class="ruby-value">:exec_success</span>, { <span class="ruby-value">:config</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span> })
4052
+ <span class="ruby-keyword">end</span>
4053
+ <span class="ruby-keyword">end</span>
4054
+ <span class="ruby-keyword">else</span>
4055
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">warn</span>(<span class="ruby-node">&quot;Node #{plugin_name} does not have an attached machine or is not running so cannot launch terminal&quot;</span>)
4056
+ <span class="ruby-keyword">end</span>
4057
+ <span class="ruby-identifier">status</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">code</span>.<span class="ruby-identifier">success</span>
4058
+ <span class="ruby-keyword">end</span></pre>
4059
+ </div><!-- terminal-source -->
4060
+
4061
+ </div>
4062
+
4063
+
4064
+
4065
+
4066
+ </div><!-- terminal-method -->
4067
+
4068
+
4069
+ <div id="method-i-translate_reference" class="method-detail ">
4070
+
4071
+ <div class="method-heading">
4072
+ <span class="method-name">translate_reference</span><span
4073
+ class="method-args">(reference)</span>
4074
+ <span class="method-click-advice">click to toggle source</span>
4075
+ </div>
4076
+
4077
+
4078
+ <div class="method-description">
4079
+
4080
+
4081
+
4082
+
4083
+
4084
+ <div class="method-source-code" id="translate_reference-source">
4085
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 1311</span>
4086
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">translate_reference</span>(<span class="ruby-identifier">reference</span>)
4087
+ <span class="ruby-identifier">myself</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">translate_reference</span>(<span class="ruby-identifier">reference</span>)
4088
+ <span class="ruby-keyword">end</span></pre>
4089
+ </div><!-- translate_reference-source -->
4090
+
4091
+ </div>
4092
+
4093
+
4094
+
4095
+
4096
+ </div><!-- translate_reference-method -->
4097
+
4098
+
4099
+ <div id="method-i-upload" class="method-detail ">
4100
+
4101
+ <div class="method-heading">
4102
+ <span class="method-name">upload</span><span
4103
+ class="method-args">(local_path, remote_path, options = {}) { |:config, hook_config| ... }</span>
4104
+ <span class="method-click-advice">click to toggle source</span>
4105
+ </div>
4106
+
4107
+
4108
+ <div class="method-description">
4109
+
4110
+
4111
+
4112
+
4113
+
4114
+ <div class="method-source-code" id="upload-source">
4115
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 707</span>
4116
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">upload</span>(<span class="ruby-identifier">local_path</span>, <span class="ruby-identifier">remote_path</span>, <span class="ruby-identifier">options</span> = {})
4117
+ <span class="ruby-identifier">success</span> = <span class="ruby-keyword">false</span>
4118
+
4119
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">machine</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">machine</span>.<span class="ruby-identifier">running?</span>
4120
+ <span class="ruby-identifier">config</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">ensure</span>(<span class="ruby-identifier">options</span>)
4121
+ <span class="ruby-identifier">hook_config</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">new</span>({ <span class="ruby-value">:local_path</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">local_path</span>, <span class="ruby-value">:remote_path</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">remote_path</span>, <span class="ruby-value">:config</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span> })
4122
+
4123
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">extension_check</span>(<span class="ruby-value">:upload</span>, <span class="ruby-identifier">hook_config</span>)
4124
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Uploading to #{plugin_name}&quot;</span>)
4125
+
4126
+ <span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Starting upload of #{local_path} to #{remote_path}&quot;</span>, { <span class="ruby-value">:i18n</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">false</span> })
4127
+ <span class="ruby-keyword">yield</span>(<span class="ruby-value">:config</span>, <span class="ruby-identifier">hook_config</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
4128
+
4129
+ <span class="ruby-identifier">active_machine</span> = <span class="ruby-identifier">local?</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">local_machine</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">machine</span>
4130
+
4131
+ <span class="ruby-identifier">success</span> = <span class="ruby-identifier">active_machine</span>.<span class="ruby-identifier">upload</span>(<span class="ruby-identifier">local_path</span>, <span class="ruby-identifier">remote_path</span>, <span class="ruby-identifier">config</span>.<span class="ruby-identifier">export</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">name</span>, <span class="ruby-identifier">sent</span>, <span class="ruby-identifier">total</span><span class="ruby-operator">|</span>
4132
+ <span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;#{name}: Sent #{sent} of #{total}&quot;</span>, { <span class="ruby-value">:i18n</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">false</span> })
4133
+ <span class="ruby-keyword">yield</span>(<span class="ruby-value">:progress</span>, { <span class="ruby-value">:name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">name</span>, <span class="ruby-value">:sent</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">sent</span>, <span class="ruby-value">:total</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">total</span> })
4134
+ <span class="ruby-keyword">end</span>
4135
+
4136
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">block_given?</span>
4137
+ <span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Successfully finished upload of #{local_path} to #{remote_path}&quot;</span>, { <span class="ruby-value">:i18n</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">false</span> })
4138
+ <span class="ruby-identifier">process_success</span> = <span class="ruby-keyword">yield</span>(<span class="ruby-value">:process</span>, <span class="ruby-identifier">hook_config</span>)
4139
+ <span class="ruby-identifier">success</span> = <span class="ruby-identifier">process_success</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">process_success</span> <span class="ruby-operator">==</span> <span class="ruby-keyword">false</span>
4140
+ <span class="ruby-keyword">end</span>
4141
+
4142
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span>
4143
+ <span class="ruby-identifier">extension</span>(<span class="ruby-value">:upload_success</span>, <span class="ruby-identifier">hook_config</span>)
4144
+ <span class="ruby-keyword">end</span>
4145
+ <span class="ruby-keyword">end</span>
4146
+ <span class="ruby-keyword">else</span>
4147
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">warn</span>(<span class="ruby-node">&quot;Node #{plugin_name} does not have an attached machine or is not running so cannot upload&quot;</span>)
4148
+ <span class="ruby-keyword">end</span>
4149
+ <span class="ruby-identifier">success</span>
4150
+ <span class="ruby-keyword">end</span></pre>
4151
+ </div><!-- upload-source -->
4152
+
4153
+ </div>
4154
+
4155
+
4156
+
4157
+
4158
+ </div><!-- upload-method -->
4159
+
4160
+
4161
+ <div id="method-i-usable_image-3F" class="method-detail ">
4162
+
4163
+ <div class="method-heading">
4164
+ <span class="method-name">usable_image?</span><span
4165
+ class="method-args">(image)</span>
4166
+ <span class="method-click-advice">click to toggle source</span>
4167
+ </div>
4168
+
4169
+
4170
+ <div class="method-description">
4171
+
4172
+
4173
+
4174
+
4175
+
4176
+ <div class="method-source-code" id="usable_image-3F-source">
4177
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 77</span>
4178
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">usable_image?</span>(<span class="ruby-identifier">image</span>)
4179
+ <span class="ruby-keyword">true</span>
4180
+ <span class="ruby-keyword">end</span></pre>
4181
+ </div><!-- usable_image-3F-source -->
4182
+
4183
+ </div>
4184
+
4185
+
4186
+
4187
+
4188
+ </div><!-- usable_image-3F-method -->
4189
+
4190
+
4191
+ <div id="method-i-user" class="method-detail ">
4192
+
4193
+ <div class="method-heading">
4194
+ <span class="method-name">user</span><span
4195
+ class="method-args">()</span>
4196
+ <span class="method-click-advice">click to toggle source</span>
4197
+ </div>
4198
+
4199
+
4200
+ <div class="method-description">
4201
+
4202
+
4203
+
4204
+
4205
+
4206
+ <div class="method-source-code" id="user-source">
4207
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 164</span>
4208
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">user</span>
4209
+ <span class="ruby-identifier">myself</span>[<span class="ruby-value">:user</span>]
4210
+ <span class="ruby-keyword">end</span></pre>
4211
+ </div><!-- user-source -->
4212
+
4213
+ </div>
4214
+
4215
+
4216
+
4217
+
4218
+ </div><!-- user-method -->
4219
+
4220
+
4221
+ <div id="method-i-user-3D" class="method-detail ">
4222
+
4223
+ <div class="method-heading">
4224
+ <span class="method-name">user=</span><span
4225
+ class="method-args">(user)</span>
4226
+ <span class="method-click-advice">click to toggle source</span>
4227
+ </div>
4228
+
4229
+
4230
+ <div class="method-description">
4231
+
4232
+
4233
+
4234
+
4235
+
4236
+ <div class="method-source-code" id="user-3D-source">
4237
+ <pre><span class="ruby-comment"># File lib/core/plugin/node.rb, line 160</span>
4238
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">user=</span><span class="ruby-identifier">user</span>
4239
+ <span class="ruby-identifier">myself</span>[<span class="ruby-value">:user</span>] = <span class="ruby-identifier">user</span>
4240
+ <span class="ruby-keyword">end</span></pre>
4241
+ </div><!-- user-3D-source -->
4242
+
4243
+ </div>
4244
+
4245
+
4246
+
4247
+
4248
+ </div><!-- user-3D-method -->
4249
+
4250
+
4251
+ </section><!-- public-instance-method-details -->
4252
+
4253
+ </section><!-- 5Buntitled-5D -->
4254
+
4255
+ </div><!-- documentation -->
4256
+
4257
+
4258
+ <footer id="validator-badges">
4259
+ <p><a href="http://validator.w3.org/check/referer">[Validate]</a>
4260
+ <p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.2.
4261
+ <p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
4262
+ </footer>
4263
+