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,1766 @@
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::Network - 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/network.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
+
67
+ <!-- Method Quickref -->
68
+ <nav id="method-list-section" class="section">
69
+ <h3 class="section-header">Methods</h3>
70
+
71
+ <ul class="link-list">
72
+
73
+ <li><a href="#method-i-add_node">#add_node</a>
74
+
75
+ <li><a href="#method-i-attach_data">#attach_data</a>
76
+
77
+ <li><a href="#method-i-attach_files">#attach_files</a>
78
+
79
+ <li><a href="#method-i-batch">#batch</a>
80
+
81
+ <li><a href="#method-i-build">#build</a>
82
+
83
+ <li><a href="#method-i-build_directory">#build_directory</a>
84
+
85
+ <li><a href="#method-i-cache">#cache</a>
86
+
87
+ <li><a href="#method-i-config_directory">#config_directory</a>
88
+
89
+ <li><a href="#method-i-create_builder">#create_builder</a>
90
+
91
+ <li><a href="#method-i-delete_attachments">#delete_attachments</a>
92
+
93
+ <li><a href="#method-i-directory">#directory</a>
94
+
95
+ <li><a href="#method-i-each_node_config">#each_node_config</a>
96
+
97
+ <li><a href="#method-i-has_nodes-3F">#has_nodes?</a>
98
+
99
+ <li><a href="#method-i-hiera_override_dir">#hiera_override_dir</a>
100
+
101
+ <li><a href="#method-i-hiera_var">#hiera_var</a>
102
+
103
+ <li><a href="#method-i-hiera_var-3D">#hiera_var=</a>
104
+
105
+ <li><a href="#method-i-home">#home</a>
106
+
107
+ <li><a href="#method-i-identity_builder">#identity_builder</a>
108
+
109
+ <li><a href="#method-i-ignore">#ignore</a>
110
+
111
+ <li><a href="#method-i-init_node">#init_node</a>
112
+
113
+ <li><a href="#method-i-key_cache_directory">#key_cache_directory</a>
114
+
115
+ <li><a href="#method-i-key_directory">#key_directory</a>
116
+
117
+ <li><a href="#method-i-load">#load</a>
118
+
119
+ <li><a href="#method-i-local_node">#local_node</a>
120
+
121
+ <li><a href="#method-i-node_by_ip">#node_by_ip</a>
122
+
123
+ <li><a href="#method-i-node_groups">#node_groups</a>
124
+
125
+ <li><a href="#method-i-node_info">#node_info</a>
126
+
127
+ <li><a href="#method-i-nodes_by_reference">#nodes_by_reference</a>
128
+
129
+ <li><a href="#method-i-normalize">#normalize</a>
130
+
131
+ <li><a href="#method-i-package_builder">#package_builder</a>
132
+
133
+ <li><a href="#method-i-remote">#remote</a>
134
+
135
+ <li><a href="#method-i-remove_plugin">#remove_plugin</a>
136
+
137
+ <li><a href="#method-i-save">#save</a>
138
+
139
+ <li><a href="#method-i-set_remote">#set_remote</a>
140
+
141
+ <li><a href="#method-i-test_node">#test_node</a>
142
+
143
+ </ul>
144
+ </nav>
145
+
146
+ </div>
147
+
148
+ <div id="project-metadata">
149
+ <nav id="fileindex-section" class="section project-section">
150
+ <h3 class="section-header">Pages</h3>
151
+
152
+ <ul>
153
+
154
+ <li class="file"><a href="../../README_rdoc.html">README</a>
155
+
156
+ </ul>
157
+ </nav>
158
+
159
+ <nav id="classindex-section" class="section project-section">
160
+ <h3 class="section-header">Class and Module Index</h3>
161
+
162
+ <ul class="link-list">
163
+
164
+ <li><a href="../../CORL.html">CORL</a>
165
+
166
+ <li><a href="../../CORL/Build.html">CORL::Build</a>
167
+
168
+ <li><a href="../../CORL/Builder.html">CORL::Builder</a>
169
+
170
+ <li><a href="../../CORL/Builder/Identity.html">CORL::Builder::Identity</a>
171
+
172
+ <li><a href="../../CORL/Builder/Package.html">CORL::Builder::Package</a>
173
+
174
+ <li><a href="../../CORL/Configuration.html">CORL::Configuration</a>
175
+
176
+ <li><a href="../../CORL/Configuration/File.html">CORL::Configuration::File</a>
177
+
178
+ <li><a href="../../CORL/Errors.html">CORL::Errors</a>
179
+
180
+ <li><a href="../../CORL/Facade.html">CORL::Facade</a>
181
+
182
+ <li><a href="../../CORL/Machine.html">CORL::Machine</a>
183
+
184
+ <li><a href="../../CORL/Machine/AWS.html">CORL::Machine::AWS</a>
185
+
186
+ <li><a href="../../CORL/Machine/Fog.html">CORL::Machine::Fog</a>
187
+
188
+ <li><a href="../../CORL/Machine/Physical.html">CORL::Machine::Physical</a>
189
+
190
+ <li><a href="../../CORL/Machine/Rackspace.html">CORL::Machine::Rackspace</a>
191
+
192
+ <li><a href="../../CORL/Machine/Vagrant.html">CORL::Machine::Vagrant</a>
193
+
194
+ <li><a href="../../CORL/Mixin.html">CORL::Mixin</a>
195
+
196
+ <li><a href="../../CORL/Mixin/Action.html">CORL::Mixin::Action</a>
197
+
198
+ <li><a href="../../CORL/Mixin/Action/Keypair.html">CORL::Mixin::Action::Keypair</a>
199
+
200
+ <li><a href="../../CORL/Mixin/Action/Registration.html">CORL::Mixin::Action::Registration</a>
201
+
202
+ <li><a href="../../CORL/Mixin/Builder.html">CORL::Mixin::Builder</a>
203
+
204
+ <li><a href="../../CORL/Mixin/Builder/Global.html">CORL::Mixin::Builder::Global</a>
205
+
206
+ <li><a href="../../CORL/Mixin/Builder/Instance.html">CORL::Mixin::Builder::Instance</a>
207
+
208
+ <li><a href="../../CORL/Mixin/Lookup.html">CORL::Mixin::Lookup</a>
209
+
210
+ <li><a href="../../CORL/Mixin/Machine.html">CORL::Mixin::Machine</a>
211
+
212
+ <li><a href="../../CORL/Mixin/Machine/SSH.html">CORL::Mixin::Machine::SSH</a>
213
+
214
+ <li><a href="../../CORL/Mixin/Macro.html">CORL::Mixin::Macro</a>
215
+
216
+ <li><a href="../../CORL/Mixin/Macro/NetworkSettings.html">CORL::Mixin::Macro::NetworkSettings</a>
217
+
218
+ <li><a href="../../CORL/Network.html">CORL::Network</a>
219
+
220
+ <li><a href="../../CORL/Network/CORL.html">CORL::Network::CORL</a>
221
+
222
+ <li><a href="../../CORL/Node.html">CORL::Node</a>
223
+
224
+ <li><a href="../../CORL/Node/AWS.html">CORL::Node::AWS</a>
225
+
226
+ <li><a href="../../CORL/Node/Fog.html">CORL::Node::Fog</a>
227
+
228
+ <li><a href="../../CORL/Node/Local.html">CORL::Node::Local</a>
229
+
230
+ <li><a href="../../CORL/Node/Rackspace.html">CORL::Node::Rackspace</a>
231
+
232
+ <li><a href="../../CORL/Node/Vagrant.html">CORL::Node::Vagrant</a>
233
+
234
+ <li><a href="../../CORL/Plugin.html">CORL::Plugin</a>
235
+
236
+ <li><a href="../../CORL/Plugin/Builder.html">CORL::Plugin::Builder</a>
237
+
238
+ <li><a href="../../CORL/Plugin/Configuration.html">CORL::Plugin::Configuration</a>
239
+
240
+ <li><a href="../../CORL/Plugin/Machine.html">CORL::Plugin::Machine</a>
241
+
242
+ <li><a href="../../CORL/Plugin/Network.html">CORL::Plugin::Network</a>
243
+
244
+ <li><a href="../../CORL/Plugin/Node.html">CORL::Plugin::Node</a>
245
+
246
+ <li><a href="../../CORL/Plugin/Provisioner.html">CORL::Plugin::Provisioner</a>
247
+
248
+ <li><a href="../../CORL/Provisioner.html">CORL::Provisioner</a>
249
+
250
+ <li><a href="../../CORL/Provisioner/Puppetnode.html">CORL::Provisioner::Puppetnode</a>
251
+
252
+ <li><a href="../../CORL/Util.html">CORL::Util</a>
253
+
254
+ <li><a href="../../CORL/Util/Puppet.html">CORL::Util::Puppet</a>
255
+
256
+ <li><a href="../../CORL/Util/Puppet/Resource.html">CORL::Util::Puppet::Resource</a>
257
+
258
+ <li><a href="../../CORL/Util/Puppet/ResourceGroup.html">CORL::Util::Puppet::ResourceGroup</a>
259
+
260
+ <li><a href="../../CORL/Vagrant.html">CORL::Vagrant</a>
261
+
262
+ <li><a href="../../CORL/Vagrant/Config.html">CORL::Vagrant::Config</a>
263
+
264
+ <li><a href="../../Nucleon.html">Nucleon</a>
265
+
266
+ <li><a href="../../Nucleon/Action.html">Nucleon::Action</a>
267
+
268
+ <li><a href="../../Nucleon/Action/Cloud.html">Nucleon::Action::Cloud</a>
269
+
270
+ <li><a href="../../Nucleon/Action/Cloud/Config.html">Nucleon::Action::Cloud::Config</a>
271
+
272
+ <li><a href="../../Nucleon/Action/Cloud/Create.html">Nucleon::Action::Cloud::Create</a>
273
+
274
+ <li><a href="../../Nucleon/Action/Cloud/Images.html">Nucleon::Action::Cloud::Images</a>
275
+
276
+ <li><a href="../../Nucleon/Action/Cloud/Inspect.html">Nucleon::Action::Cloud::Inspect</a>
277
+
278
+ <li><a href="../../Nucleon/Action/Cloud/Machines.html">Nucleon::Action::Cloud::Machines</a>
279
+
280
+ <li><a href="../../Nucleon/Action/Cloud/Regions.html">Nucleon::Action::Cloud::Regions</a>
281
+
282
+ <li><a href="../../Nucleon/Action/Cloud/Settings.html">Nucleon::Action::Cloud::Settings</a>
283
+
284
+ <li><a href="../../Nucleon/Action/Cloud/Vagrantfile.html">Nucleon::Action::Cloud::Vagrantfile</a>
285
+
286
+ <li><a href="../../Nucleon/Action/Node.html">Nucleon::Action::Node</a>
287
+
288
+ <li><a href="../../Nucleon/Action/Node/Authorize.html">Nucleon::Action::Node::Authorize</a>
289
+
290
+ <li><a href="../../Nucleon/Action/Node/Bootstrap.html">Nucleon::Action::Node::Bootstrap</a>
291
+
292
+ <li><a href="../../Nucleon/Action/Node/Build.html">Nucleon::Action::Node::Build</a>
293
+
294
+ <li><a href="../../Nucleon/Action/Node/Cache.html">Nucleon::Action::Node::Cache</a>
295
+
296
+ <li><a href="../../Nucleon/Action/Node/Destroy.html">Nucleon::Action::Node::Destroy</a>
297
+
298
+ <li><a href="../../Nucleon/Action/Node/Exec.html">Nucleon::Action::Node::Exec</a>
299
+
300
+ <li><a href="../../Nucleon/Action/Node/Fact.html">Nucleon::Action::Node::Fact</a>
301
+
302
+ <li><a href="../../Nucleon/Action/Node/Facts.html">Nucleon::Action::Node::Facts</a>
303
+
304
+ <li><a href="../../Nucleon/Action/Node/Group.html">Nucleon::Action::Node::Group</a>
305
+
306
+ <li><a href="../../Nucleon/Action/Node/Groups.html">Nucleon::Action::Node::Groups</a>
307
+
308
+ <li><a href="../../Nucleon/Action/Node/IP.html">Nucleon::Action::Node::IP</a>
309
+
310
+ <li><a href="../../Nucleon/Action/Node/Identity.html">Nucleon::Action::Node::Identity</a>
311
+
312
+ <li><a href="../../Nucleon/Action/Node/Image.html">Nucleon::Action::Node::Image</a>
313
+
314
+ <li><a href="../../Nucleon/Action/Node/Keypair.html">Nucleon::Action::Node::Keypair</a>
315
+
316
+ <li><a href="../../Nucleon/Action/Node/Lookup.html">Nucleon::Action::Node::Lookup</a>
317
+
318
+ <li><a href="../../Nucleon/Action/Node/Provision.html">Nucleon::Action::Node::Provision</a>
319
+
320
+ <li><a href="../../Nucleon/Action/Node/Reboot.html">Nucleon::Action::Node::Reboot</a>
321
+
322
+ <li><a href="../../Nucleon/Action/Node/Revoke.html">Nucleon::Action::Node::Revoke</a>
323
+
324
+ <li><a href="../../Nucleon/Action/Node/SSH.html">Nucleon::Action::Node::SSH</a>
325
+
326
+ <li><a href="../../Nucleon/Action/Node/Seed.html">Nucleon::Action::Node::Seed</a>
327
+
328
+ <li><a href="../../Nucleon/Action/Node/Spawn.html">Nucleon::Action::Node::Spawn</a>
329
+
330
+ <li><a href="../../Nucleon/Action/Node/Start.html">Nucleon::Action::Node::Start</a>
331
+
332
+ <li><a href="../../Nucleon/Action/Node/Status.html">Nucleon::Action::Node::Status</a>
333
+
334
+ <li><a href="../../Nucleon/Action/Node/Stop.html">Nucleon::Action::Node::Stop</a>
335
+
336
+ <li><a href="../../Nucleon/Action/Plugin.html">Nucleon::Action::Plugin</a>
337
+
338
+ <li><a href="../../Nucleon/Action/Plugin/Create.html">Nucleon::Action::Plugin::Create</a>
339
+
340
+ <li><a href="../../Nucleon/Action/Plugin/List.html">Nucleon::Action::Plugin::List</a>
341
+
342
+ <li><a href="../../Nucleon/Action/Plugins.html">Nucleon::Action::Plugins</a>
343
+
344
+ <li><a href="../../Nucleon/Config.html">Nucleon::Config</a>
345
+
346
+ <li><a href="../../Nucleon/Event.html">Nucleon::Event</a>
347
+
348
+ <li><a href="../../Nucleon/Event/Puppet.html">Nucleon::Event::Puppet</a>
349
+
350
+ <li><a href="../../Nucleon/Plugin.html">Nucleon::Plugin</a>
351
+
352
+ <li><a href="../../Nucleon/Plugin/Base.html">Nucleon::Plugin::Base</a>
353
+
354
+ <li><a href="../../Nucleon/Plugin/CloudAction.html">Nucleon::Plugin::CloudAction</a>
355
+
356
+ <li><a href="../../Nucleon/Template.html">Nucleon::Template</a>
357
+
358
+ <li><a href="../../Nucleon/Template/Environment.html">Nucleon::Template::Environment</a>
359
+
360
+ <li><a href="../../VagrantPlugins.html">VagrantPlugins</a>
361
+
362
+ <li><a href="../../VagrantPlugins/CORL.html">VagrantPlugins::CORL</a>
363
+
364
+ <li><a href="../../VagrantPlugins/CORL/Action.html">VagrantPlugins::CORL::Action</a>
365
+
366
+ <li><a href="../../VagrantPlugins/CORL/Action/DeleteCache.html">VagrantPlugins::CORL::Action::DeleteCache</a>
367
+
368
+ <li><a href="../../VagrantPlugins/CORL/Action/InitKeys.html">VagrantPlugins::CORL::Action::InitKeys</a>
369
+
370
+ <li><a href="../../VagrantPlugins/CORL/Action/LinkNetwork.html">VagrantPlugins::CORL::Action::LinkNetwork</a>
371
+
372
+ <li><a href="../../VagrantPlugins/CORL/BaseAction.html">VagrantPlugins::CORL::BaseAction</a>
373
+
374
+ <li><a href="../../VagrantPlugins/CORL/Command.html">VagrantPlugins::CORL::Command</a>
375
+
376
+ <li><a href="../../VagrantPlugins/CORL/Command/Launcher.html">VagrantPlugins::CORL::Command::Launcher</a>
377
+
378
+ <li><a href="../../VagrantPlugins/CORL/Config.html">VagrantPlugins::CORL::Config</a>
379
+
380
+ <li><a href="../../VagrantPlugins/CORL/Config/CORL.html">VagrantPlugins::CORL::Config::CORL</a>
381
+
382
+ <li><a href="../../VagrantPlugins/CORL/Plugin.html">VagrantPlugins::CORL::Plugin</a>
383
+
384
+ <li><a href="../../VagrantPlugins/CORL/Provisioner.html">VagrantPlugins::CORL::Provisioner</a>
385
+
386
+ <li><a href="../../VagrantPlugins/CORL/Provisioner/CORL.html">VagrantPlugins::CORL::Provisioner::CORL</a>
387
+
388
+ <li><a href="../../Puppet.html">Puppet</a>
389
+
390
+ <li><a href="../../Puppet/DataBinding.html">Puppet::DataBinding</a>
391
+
392
+ <li><a href="../../Puppet/DataBinding/Corl.html">Puppet::DataBinding::Corl</a>
393
+
394
+ <li><a href="../../Puppet/Indirector.html">Puppet::Indirector</a>
395
+
396
+ <li><a href="../../Puppet/Indirector/Corl.html">Puppet::Indirector::Corl</a>
397
+
398
+ <li><a href="../../Puppet/Parser.html">Puppet::Parser</a>
399
+
400
+ <li><a href="../../Puppet/Parser/Functions.html">Puppet::Parser::Functions</a>
401
+
402
+ <li><a href="../../Fog.html">Fog</a>
403
+
404
+ <li><a href="../../Fog/Compute.html">Fog::Compute</a>
405
+
406
+ <li><a href="../../Fog/Compute/AWS.html">Fog::Compute::AWS</a>
407
+
408
+ <li><a href="../../Fog/Compute/AWS/Server.html">Fog::Compute::AWS::Server</a>
409
+
410
+ <li><a href="../../Fog/Compute/RackspaceV2.html">Fog::Compute::RackspaceV2</a>
411
+
412
+ <li><a href="../../Fog/Compute/RackspaceV2/Server.html">Fog::Compute::RackspaceV2::Server</a>
413
+
414
+ <li><a href="../../Vagrant.html">Vagrant</a>
415
+
416
+ <li><a href="../../Vagrant/Config.html">Vagrant::Config</a>
417
+
418
+ <li><a href="../../Vagrant/Config/Loader.html">Vagrant::Config::Loader</a>
419
+
420
+ <li><a href="../../Vagrant/Vagrantfile.html">Vagrant::Vagrantfile</a>
421
+
422
+ <li><a href="../../Hiera.html">Hiera</a>
423
+
424
+ <li><a href="../../Hiera/Backend.html">Hiera::Backend</a>
425
+
426
+ <li><a href="../../Hiera/Corl_logger.html">Hiera::Corl_logger</a>
427
+
428
+ <li><a href="../../Object.html">Object</a>
429
+
430
+ </ul>
431
+ </nav>
432
+
433
+ </div>
434
+ </nav>
435
+
436
+ <div id="documentation">
437
+ <h1 class="class">class CORL::Plugin::Network</h1>
438
+
439
+ <div id="description" class="description">
440
+
441
+ </div><!-- description -->
442
+
443
+
444
+
445
+
446
+ <section id="5Buntitled-5D" class="documentation-section">
447
+
448
+
449
+
450
+
451
+
452
+
453
+
454
+
455
+ <!-- Methods -->
456
+
457
+ <section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
458
+ <h3 class="section-header">Public Instance Methods</h3>
459
+
460
+
461
+ <div id="method-i-add_node" class="method-detail ">
462
+
463
+ <div class="method-heading">
464
+ <span class="method-name">add_node</span><span
465
+ class="method-args">(provider, name, options = {}) { |:preprocess, hook_config| ... }</span>
466
+ <span class="method-click-advice">click to toggle source</span>
467
+ </div>
468
+
469
+
470
+ <div class="method-description">
471
+
472
+
473
+
474
+
475
+
476
+ <div class="method-source-code" id="add_node-source">
477
+ <pre><span class="ruby-comment"># File lib/core/plugin/network.rb, line 301</span>
478
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">add_node</span>(<span class="ruby-identifier">provider</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">options</span> = {})
479
+ <span class="ruby-identifier">config</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">ensure</span>(<span class="ruby-identifier">options</span>)
480
+
481
+ <span class="ruby-identifier">keypair</span> = <span class="ruby-identifier">config</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value">:keypair</span>, <span class="ruby-keyword">nil</span>)
482
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">false</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">keypair</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">keypair</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-constant">SSH</span><span class="ruby-operator">::</span><span class="ruby-constant">Keypair</span>)
483
+
484
+ <span class="ruby-identifier">remote_name</span> = <span class="ruby-identifier">config</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value">:remote</span>, <span class="ruby-value">:edit</span>)
485
+
486
+ <span class="ruby-identifier">node_options</span> = <span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-constant">Data</span>.<span class="ruby-identifier">clean</span>({
487
+ <span class="ruby-value">:settings</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">array</span>(<span class="ruby-identifier">config</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value">:groups</span>, [])) <span class="ruby-operator">|</span> [ <span class="ruby-string">&quot;server&quot;</span> ],
488
+ <span class="ruby-value">:region</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value">:region</span>, <span class="ruby-keyword">nil</span>),
489
+ <span class="ruby-value">:machine_type</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value">:machine_type</span>, <span class="ruby-keyword">nil</span>),
490
+ <span class="ruby-value">:public_ip</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value">:public_ip</span>, <span class="ruby-keyword">nil</span>),
491
+ <span class="ruby-value">:image</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value">:image</span>, <span class="ruby-keyword">nil</span>),
492
+ <span class="ruby-value">:user</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value">:user</span>, <span class="ruby-value">:root</span>),
493
+ <span class="ruby-value">:hostname</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">name</span>
494
+ })
495
+
496
+ <span class="ruby-comment"># Set node data</span>
497
+ <span class="ruby-identifier">node</span> = <span class="ruby-identifier">set_node</span>(<span class="ruby-identifier">provider</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">node_options</span>)
498
+ <span class="ruby-identifier">hook_config</span> = { <span class="ruby-value">:node</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">node</span>, <span class="ruby-value">:remote</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">remote_name</span>, <span class="ruby-value">:config</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">config</span> }
499
+ <span class="ruby-identifier">success</span> = <span class="ruby-keyword">true</span>
500
+
501
+ <span class="ruby-keyword">yield</span>(<span class="ruby-value">:preprocess</span>, <span class="ruby-identifier">hook_config</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
502
+
503
+ <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span> <span class="ruby-identifier">node</span>.<span class="ruby-identifier">local?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">node</span>.<span class="ruby-identifier">attach_keys</span>(<span class="ruby-identifier">keypair</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">extension_check</span>(<span class="ruby-value">:add_node</span>, <span class="ruby-identifier">hook_config</span>)
504
+ <span class="ruby-identifier">node</span>.<span class="ruby-identifier">keypair</span> = <span class="ruby-identifier">keypair</span>
505
+
506
+ <span class="ruby-comment"># Create new node / machine</span>
507
+ <span class="ruby-identifier">success</span> = <span class="ruby-identifier">node</span>.<span class="ruby-identifier">create</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>
508
+ <span class="ruby-identifier">block_given?</span> <span class="ruby-operator">?</span> <span class="ruby-keyword">yield</span>(<span class="ruby-node">&quot;create_#{op}&quot;</span>.<span class="ruby-identifier">to_sym</span>, <span class="ruby-identifier">data</span>) <span class="ruby-operator">:</span> <span class="ruby-identifier">data</span>
509
+ <span class="ruby-keyword">end</span>
510
+
511
+ <span class="ruby-identifier">remote_name</span> = <span class="ruby-keyword">nil</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">remote_name</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span> <span class="ruby-identifier">remote</span>(<span class="ruby-identifier">remote_name</span>)
512
+
513
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">node</span>.<span class="ruby-identifier">save</span>({ <span class="ruby-value">:remote</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">remote_name</span>, <span class="ruby-value">:message</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;Created machine #{name} on #{provider}&quot;</span> })
514
+ <span class="ruby-identifier">success</span> = <span class="ruby-identifier">init_node</span>(<span class="ruby-identifier">node</span>, <span class="ruby-identifier">config</span>.<span class="ruby-identifier">defaults</span>({ <span class="ruby-value">:bootstrap</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">true</span>, <span class="ruby-value">:seed</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>
515
+ <span class="ruby-identifier">block_given?</span> <span class="ruby-operator">?</span> <span class="ruby-keyword">yield</span>(<span class="ruby-identifier">op</span>, <span class="ruby-identifier">data</span>) <span class="ruby-operator">:</span> <span class="ruby-identifier">data</span>
516
+ <span class="ruby-keyword">end</span>
517
+ <span class="ruby-keyword">end</span>
518
+ <span class="ruby-keyword">end</span>
519
+ <span class="ruby-identifier">success</span>
520
+ <span class="ruby-keyword">end</span></pre>
521
+ </div><!-- add_node-source -->
522
+
523
+ </div>
524
+
525
+
526
+
527
+
528
+ </div><!-- add_node-method -->
529
+
530
+
531
+ <div id="method-i-attach_data" class="method-detail ">
532
+
533
+ <div class="method-heading">
534
+ <span class="method-name">attach_data</span><span
535
+ class="method-args">(type, name, data, options = {})</span>
536
+ <span class="method-click-advice">click to toggle source</span>
537
+ </div>
538
+
539
+
540
+ <div class="method-description">
541
+
542
+
543
+
544
+
545
+
546
+ <div class="method-source-code" id="attach_data-source">
547
+ <pre><span class="ruby-comment"># File lib/core/plugin/network.rb, line 283</span>
548
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">attach_data</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">data</span>, <span class="ruby-identifier">options</span> = {})
549
+ <span class="ruby-identifier">attach_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">:type</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">:source</span> })
550
+ <span class="ruby-identifier">attached_data</span> = <span class="ruby-keyword">nil</span>
551
+
552
+ <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>)
553
+ <span class="ruby-identifier">attached_data</span> = <span class="ruby-identifier">config</span>.<span class="ruby-identifier">attach</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">data</span>, <span class="ruby-identifier">attach_config</span>)
554
+ <span class="ruby-keyword">end</span>
555
+ <span class="ruby-identifier">attached_data</span>
556
+ <span class="ruby-keyword">end</span></pre>
557
+ </div><!-- attach_data-source -->
558
+
559
+ </div>
560
+
561
+
562
+
563
+
564
+ </div><!-- attach_data-method -->
565
+
566
+
567
+ <div id="method-i-attach_files" class="method-detail ">
568
+
569
+ <div class="method-heading">
570
+ <span class="method-name">attach_files</span><span
571
+ class="method-args">(type, name, files, options = {})</span>
572
+ <span class="method-click-advice">click to toggle source</span>
573
+ </div>
574
+
575
+
576
+ <div class="method-description">
577
+
578
+
579
+
580
+
581
+
582
+ <div class="method-source-code" id="attach_files-source">
583
+ <pre><span class="ruby-comment"># File lib/core/plugin/network.rb, line 267</span>
584
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">attach_files</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">files</span>, <span class="ruby-identifier">options</span> = {})
585
+ <span class="ruby-identifier">attach_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">:type</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">:file</span> })
586
+ <span class="ruby-identifier">included_files</span> = []
587
+ <span class="ruby-identifier">files</span> = [ <span class="ruby-identifier">files</span> ] <span class="ruby-keyword">unless</span> <span class="ruby-identifier">files</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Array</span>)
588
+
589
+ <span class="ruby-identifier">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>
590
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">file</span>
591
+ <span class="ruby-identifier">attached_file</span> = <span class="ruby-identifier">config</span>.<span class="ruby-identifier">attach</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">file</span>, <span class="ruby-identifier">attach_config</span>)
592
+ <span class="ruby-identifier">included_files</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">attached_file</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">attached_file</span>.<span class="ruby-identifier">nil?</span>
593
+ <span class="ruby-keyword">end</span>
594
+ <span class="ruby-keyword">end</span>
595
+ <span class="ruby-identifier">included_files</span>
596
+ <span class="ruby-keyword">end</span></pre>
597
+ </div><!-- attach_files-source -->
598
+
599
+ </div>
600
+
601
+
602
+
603
+
604
+ </div><!-- attach_files-method -->
605
+
606
+
607
+ <div id="method-i-batch" class="method-detail ">
608
+
609
+ <div class="method-heading">
610
+ <span class="method-name">batch</span><span
611
+ class="method-args">(node_references, default_provider = nil, parallel = true, &code)</span>
612
+ <span class="method-click-advice">click to toggle source</span>
613
+ </div>
614
+
615
+
616
+ <div class="method-description">
617
+
618
+
619
+
620
+
621
+
622
+ <div class="method-source-code" id="batch-source">
623
+ <pre><span class="ruby-comment"># File lib/core/plugin/network.rb, line 437</span>
624
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">batch</span>(<span class="ruby-identifier">node_references</span>, <span class="ruby-identifier">default_provider</span> = <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">parallel</span> = <span class="ruby-keyword">true</span>, &amp;<span class="ruby-identifier">code</span>)
625
+ <span class="ruby-identifier">success</span> = <span class="ruby-keyword">true</span>
626
+
627
+ <span class="ruby-identifier">node_references</span> = <span class="ruby-identifier">array</span>(<span class="ruby-identifier">node_references</span>.<span class="ruby-identifier">clone</span>)
628
+
629
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">has_nodes?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span> <span class="ruby-identifier">node_references</span>.<span class="ruby-identifier">empty?</span>
630
+ <span class="ruby-comment"># Execute action on selected nodes </span>
631
+ <span class="ruby-identifier">nodes</span> = <span class="ruby-identifier">nodes_by_reference</span>(<span class="ruby-identifier">node_references</span>, <span class="ruby-identifier">default_provider</span>)
632
+
633
+ <span class="ruby-keyword">if</span> <span class="ruby-constant">CORL</span>.<span class="ruby-identifier">parallel?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">parallel</span>
634
+ <span class="ruby-identifier">values</span> = []
635
+ <span class="ruby-identifier">nodes</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">node</span><span class="ruby-operator">|</span>
636
+ <span class="ruby-identifier">values</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">Celluloid</span><span class="ruby-operator">::</span><span class="ruby-constant">Future</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">node</span>, &amp;<span class="ruby-identifier">code</span>)
637
+ <span class="ruby-keyword">end</span>
638
+ <span class="ruby-identifier">values</span> = <span class="ruby-identifier">values</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">future</span><span class="ruby-operator">|</span> <span class="ruby-identifier">future</span>.<span class="ruby-identifier">value</span> }
639
+ <span class="ruby-identifier">success</span> = <span class="ruby-keyword">false</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">values</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-keyword">false</span>)
640
+ <span class="ruby-keyword">else</span>
641
+ <span class="ruby-identifier">nodes</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">node</span><span class="ruby-operator">|</span>
642
+ <span class="ruby-identifier">proc_success</span> = <span class="ruby-identifier">code</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">node</span>)
643
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">proc_success</span> <span class="ruby-operator">==</span> <span class="ruby-keyword">false</span>
644
+ <span class="ruby-identifier">success</span> = <span class="ruby-keyword">false</span>
645
+ <span class="ruby-keyword">break</span>
646
+ <span class="ruby-keyword">end</span>
647
+ <span class="ruby-keyword">end</span>
648
+ <span class="ruby-keyword">end</span>
649
+ <span class="ruby-keyword">end</span>
650
+ <span class="ruby-identifier">success</span>
651
+ <span class="ruby-keyword">end</span></pre>
652
+ </div><!-- batch-source -->
653
+
654
+ </div>
655
+
656
+
657
+
658
+
659
+ </div><!-- batch-method -->
660
+
661
+
662
+ <div id="method-i-build" class="method-detail ">
663
+
664
+ <div class="method-heading">
665
+ <span class="method-name">build</span><span
666
+ class="method-args">()</span>
667
+ <span class="method-click-advice">click to toggle source</span>
668
+ </div>
669
+
670
+
671
+ <div class="method-description">
672
+
673
+
674
+
675
+
676
+
677
+ <div class="method-source-code" id="build-source">
678
+ <pre><span class="ruby-comment"># File lib/core/plugin/network.rb, line 232</span>
679
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">build</span>
680
+ <span class="ruby-ivar">@build</span>
681
+ <span class="ruby-keyword">end</span></pre>
682
+ </div><!-- build-source -->
683
+
684
+ </div>
685
+
686
+
687
+
688
+
689
+ </div><!-- build-method -->
690
+
691
+
692
+ <div id="method-i-build_directory" class="method-detail ">
693
+
694
+ <div class="method-heading">
695
+ <span class="method-name">build_directory</span><span
696
+ class="method-args">()</span>
697
+ <span class="method-click-advice">click to toggle source</span>
698
+ </div>
699
+
700
+
701
+ <div class="method-description">
702
+
703
+
704
+
705
+
706
+
707
+ <div class="method-source-code" id="build_directory-source">
708
+ <pre><span class="ruby-comment"># File lib/core/plugin/network.rb, line 85</span>
709
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">build_directory</span>
710
+ <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">directory</span>, <span class="ruby-string">&#39;build&#39;</span>)
711
+ <span class="ruby-keyword">end</span></pre>
712
+ </div><!-- build_directory-source -->
713
+
714
+ </div>
715
+
716
+
717
+
718
+
719
+ </div><!-- build_directory-method -->
720
+
721
+
722
+ <div id="method-i-cache" class="method-detail ">
723
+
724
+ <div class="method-heading">
725
+ <span class="method-name">cache</span><span
726
+ class="method-args">()</span>
727
+ <span class="method-click-advice">click to toggle source</span>
728
+ </div>
729
+
730
+
731
+ <div class="method-description">
732
+
733
+
734
+
735
+
736
+
737
+ <div class="method-source-code" id="cache-source">
738
+ <pre><span class="ruby-comment"># File lib/core/plugin/network.rb, line 103</span>
739
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">cache</span>
740
+ <span class="ruby-identifier">config</span>.<span class="ruby-identifier">cache</span>
741
+ <span class="ruby-keyword">end</span></pre>
742
+ </div><!-- cache-source -->
743
+
744
+ </div>
745
+
746
+
747
+
748
+
749
+ </div><!-- cache-method -->
750
+
751
+
752
+ <div id="method-i-config_directory" class="method-detail ">
753
+
754
+ <div class="method-heading">
755
+ <span class="method-name">config_directory</span><span
756
+ class="method-args">()</span>
757
+ <span class="method-click-advice">click to toggle source</span>
758
+ </div>
759
+
760
+
761
+ <div class="method-description">
762
+
763
+
764
+
765
+
766
+
767
+ <div class="method-source-code" id="config_directory-source">
768
+ <pre><span class="ruby-comment"># File lib/core/plugin/network.rb, line 97</span>
769
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">config_directory</span>
770
+ <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">directory</span>, <span class="ruby-string">&#39;config&#39;</span>)
771
+ <span class="ruby-keyword">end</span></pre>
772
+ </div><!-- config_directory-source -->
773
+
774
+ </div>
775
+
776
+
777
+
778
+
779
+ </div><!-- config_directory-method -->
780
+
781
+
782
+ <div id="method-i-create_builder" class="method-detail ">
783
+
784
+ <div class="method-heading">
785
+ <span class="method-name">create_builder</span><span
786
+ class="method-args">(name, provider, options = {})</span>
787
+ <span class="method-click-advice">click to toggle source</span>
788
+ </div>
789
+
790
+
791
+ <div class="method-description">
792
+
793
+
794
+
795
+
796
+
797
+ <div class="method-source-code" id="create_builder-source">
798
+ <pre><span class="ruby-comment"># File lib/core/plugin/network.rb, line 238</span>
799
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">create_builder</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">provider</span>, <span class="ruby-identifier">options</span> = {})
800
+ <span class="ruby-constant">CORL</span>.<span class="ruby-identifier">create_plugin</span>(<span class="ruby-value">:CORL</span>, <span class="ruby-value">:builder</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> }}))
801
+ <span class="ruby-keyword">end</span></pre>
802
+ </div><!-- create_builder-source -->
803
+
804
+ </div>
805
+
806
+
807
+
808
+
809
+ </div><!-- create_builder-method -->
810
+
811
+
812
+ <div id="method-i-delete_attachments" class="method-detail ">
813
+
814
+ <div class="method-heading">
815
+ <span class="method-name">delete_attachments</span><span
816
+ class="method-args">(ids, options = {})</span>
817
+ <span class="method-click-advice">click to toggle source</span>
818
+ </div>
819
+
820
+
821
+ <div class="method-description">
822
+
823
+
824
+
825
+
826
+
827
+ <div class="method-source-code" id="delete_attachments-source">
828
+ <pre><span class="ruby-comment"># File lib/core/plugin/network.rb, line 295</span>
829
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">delete_attachments</span>(<span class="ruby-identifier">ids</span>, <span class="ruby-identifier">options</span> = {})
830
+ <span class="ruby-identifier">config</span>.<span class="ruby-identifier">delete_attachments</span>(<span class="ruby-identifier">ids</span>, <span class="ruby-identifier">options</span>)
831
+ <span class="ruby-keyword">end</span></pre>
832
+ </div><!-- delete_attachments-source -->
833
+
834
+ </div>
835
+
836
+
837
+
838
+
839
+ </div><!-- delete_attachments-method -->
840
+
841
+
842
+ <div id="method-i-directory" class="method-detail ">
843
+
844
+ <div class="method-heading">
845
+ <span class="method-name">directory</span><span
846
+ class="method-args">()</span>
847
+ <span class="method-click-advice">click to toggle source</span>
848
+ </div>
849
+
850
+
851
+ <div class="method-description">
852
+
853
+
854
+
855
+
856
+
857
+ <div class="method-source-code" id="directory-source">
858
+ <pre><span class="ruby-comment"># File lib/core/plugin/network.rb, line 73</span>
859
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">directory</span>
860
+ <span class="ruby-identifier">config</span>.<span class="ruby-identifier">directory</span>
861
+ <span class="ruby-keyword">end</span></pre>
862
+ </div><!-- directory-source -->
863
+
864
+ </div>
865
+
866
+
867
+
868
+
869
+ </div><!-- directory-method -->
870
+
871
+
872
+ <div id="method-i-each_node_config" class="method-detail ">
873
+
874
+ <div class="method-heading">
875
+ <span class="method-name">each_node_config</span><span
876
+ class="method-args">(provider = nil) { |node_provider, name, info| ... }</span>
877
+ <span class="method-click-advice">click to toggle source</span>
878
+ </div>
879
+
880
+
881
+ <div class="method-description">
882
+
883
+
884
+
885
+
886
+
887
+ <div class="method-source-code" id="each_node_config-source">
888
+ <pre><span class="ruby-comment"># File lib/core/plugin/network.rb, line 425</span>
889
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">each_node_config</span>(<span class="ruby-identifier">provider</span> = <span class="ruby-keyword">nil</span>)
890
+ <span class="ruby-identifier">node_config</span>.<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">node_provider</span>, <span class="ruby-identifier">nodes</span><span class="ruby-operator">|</span>
891
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">provider</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">provider</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">node_provider</span>
892
+ <span class="ruby-identifier">nodes</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">info</span><span class="ruby-operator">|</span>
893
+ <span class="ruby-keyword">yield</span>(<span class="ruby-identifier">node_provider</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">info</span>)
894
+ <span class="ruby-keyword">end</span>
895
+ <span class="ruby-keyword">end</span>
896
+ <span class="ruby-keyword">end</span>
897
+ <span class="ruby-keyword">end</span></pre>
898
+ </div><!-- each_node_config-source -->
899
+
900
+ </div>
901
+
902
+
903
+
904
+
905
+ </div><!-- each_node_config-method -->
906
+
907
+
908
+ <div id="method-i-has_nodes-3F" class="method-detail ">
909
+
910
+ <div class="method-heading">
911
+ <span class="method-name">has_nodes?</span><span
912
+ class="method-args">(provider = nil)</span>
913
+ <span class="method-click-advice">click to toggle source</span>
914
+ </div>
915
+
916
+
917
+ <div class="method-description">
918
+
919
+
920
+
921
+
922
+
923
+ <div class="method-source-code" id="has_nodes-3F-source">
924
+ <pre><span class="ruby-comment"># File lib/core/plugin/network.rb, line 38</span>
925
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">has_nodes?</span>(<span class="ruby-identifier">provider</span> = <span class="ruby-keyword">nil</span>)
926
+ <span class="ruby-identifier">node_config</span>(<span class="ruby-identifier">provider</span>).<span class="ruby-identifier">export</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">?</span> <span class="ruby-keyword">false</span> <span class="ruby-operator">:</span> <span class="ruby-keyword">true</span>
927
+ <span class="ruby-keyword">end</span></pre>
928
+ </div><!-- has_nodes-3F-source -->
929
+
930
+ </div>
931
+
932
+
933
+
934
+
935
+ </div><!-- has_nodes-3F-method -->
936
+
937
+
938
+ <div id="method-i-hiera_override_dir" class="method-detail ">
939
+
940
+ <div class="method-heading">
941
+ <span class="method-name">hiera_override_dir</span><span
942
+ class="method-args">()</span>
943
+ <span class="method-click-advice">click to toggle source</span>
944
+ </div>
945
+
946
+
947
+ <div class="method-description">
948
+
949
+
950
+
951
+
952
+
953
+ <div class="method-source-code" id="hiera_override_dir-source">
954
+ <pre><span class="ruby-comment"># File lib/core/plugin/network.rb, line 61</span>
955
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">hiera_override_dir</span>
956
+ <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">directory</span>, <span class="ruby-string">&#39;config&#39;</span>)
957
+ <span class="ruby-keyword">end</span></pre>
958
+ </div><!-- hiera_override_dir-source -->
959
+
960
+ </div>
961
+
962
+
963
+
964
+
965
+ </div><!-- hiera_override_dir-method -->
966
+
967
+
968
+ <div id="method-i-hiera_var" class="method-detail ">
969
+
970
+ <div class="method-heading">
971
+ <span class="method-name">hiera_var</span><span
972
+ class="method-args">()</span>
973
+ <span class="method-click-advice">click to toggle source</span>
974
+ </div>
975
+
976
+
977
+ <div class="method-description">
978
+
979
+
980
+
981
+
982
+
983
+ <div class="method-source-code" id="hiera_var-source">
984
+ <pre><span class="ruby-comment"># File lib/core/plugin/network.rb, line 51</span>
985
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">hiera_var</span>
986
+ <span class="ruby-ivar">@hiera</span>
987
+ <span class="ruby-keyword">end</span></pre>
988
+ </div><!-- hiera_var-source -->
989
+
990
+ </div>
991
+
992
+
993
+
994
+
995
+ </div><!-- hiera_var-method -->
996
+
997
+
998
+ <div id="method-i-hiera_var-3D" class="method-detail ">
999
+
1000
+ <div class="method-heading">
1001
+ <span class="method-name">hiera_var=</span><span
1002
+ class="method-args">(hiera)</span>
1003
+ <span class="method-click-advice">click to toggle source</span>
1004
+ </div>
1005
+
1006
+
1007
+ <div class="method-description">
1008
+
1009
+
1010
+
1011
+
1012
+
1013
+ <div class="method-source-code" id="hiera_var-3D-source">
1014
+ <pre><span class="ruby-comment"># File lib/core/plugin/network.rb, line 55</span>
1015
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">hiera_var=</span><span class="ruby-identifier">hiera</span>
1016
+ <span class="ruby-ivar">@hiera</span> = <span class="ruby-identifier">hiera</span>
1017
+ <span class="ruby-keyword">end</span></pre>
1018
+ </div><!-- hiera_var-3D-source -->
1019
+
1020
+ </div>
1021
+
1022
+
1023
+
1024
+
1025
+ </div><!-- hiera_var-3D-method -->
1026
+
1027
+
1028
+ <div id="method-i-home" class="method-detail ">
1029
+
1030
+ <div class="method-heading">
1031
+ <span class="method-name">home</span><span
1032
+ class="method-args">()</span>
1033
+ <span class="method-click-advice">click to toggle source</span>
1034
+ </div>
1035
+
1036
+
1037
+ <div class="method-description">
1038
+
1039
+
1040
+
1041
+
1042
+
1043
+ <div class="method-source-code" id="home-source">
1044
+ <pre><span class="ruby-comment"># File lib/core/plugin/network.rb, line 67</span>
1045
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">home</span>
1046
+ <span class="ruby-identifier">extension_set</span>(<span class="ruby-value">:home</span>, ( <span class="ruby-constant">ENV</span>[<span class="ruby-string">&#39;USER&#39;</span>] <span class="ruby-operator">==</span> <span class="ruby-string">&#39;root&#39;</span> <span class="ruby-operator">?</span> <span class="ruby-string">&#39;/root&#39;</span> <span class="ruby-operator">:</span> <span class="ruby-constant">ENV</span>[<span class="ruby-string">&#39;HOME&#39;</span>] ))
1047
+ <span class="ruby-keyword">end</span></pre>
1048
+ </div><!-- home-source -->
1049
+
1050
+ </div>
1051
+
1052
+
1053
+
1054
+
1055
+ </div><!-- home-method -->
1056
+
1057
+
1058
+ <div id="method-i-identity_builder" class="method-detail ">
1059
+
1060
+ <div class="method-heading">
1061
+ <span class="method-name">identity_builder</span><span
1062
+ class="method-args">(options = {})</span>
1063
+ <span class="method-click-advice">click to toggle source</span>
1064
+ </div>
1065
+
1066
+
1067
+ <div class="method-description">
1068
+
1069
+
1070
+
1071
+
1072
+
1073
+ <div class="method-source-code" id="identity_builder-source">
1074
+ <pre><span class="ruby-comment"># File lib/core/plugin/network.rb, line 244</span>
1075
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">identity_builder</span>(<span class="ruby-identifier">options</span> = {})
1076
+ <span class="ruby-identifier">create_builder</span>(<span class="ruby-value">:network_identity_builder</span>, <span class="ruby-value">:identity</span>, <span class="ruby-identifier">options</span>)
1077
+ <span class="ruby-keyword">end</span></pre>
1078
+ </div><!-- identity_builder-source -->
1079
+
1080
+ </div>
1081
+
1082
+
1083
+
1084
+
1085
+ </div><!-- identity_builder-method -->
1086
+
1087
+
1088
+ <div id="method-i-ignore" class="method-detail ">
1089
+
1090
+ <div class="method-heading">
1091
+ <span class="method-name">ignore</span><span
1092
+ class="method-args">(files)</span>
1093
+ <span class="method-click-advice">click to toggle source</span>
1094
+ </div>
1095
+
1096
+
1097
+ <div class="method-description">
1098
+
1099
+
1100
+
1101
+
1102
+
1103
+ <div class="method-source-code" id="ignore-source">
1104
+ <pre><span class="ruby-comment"># File lib/core/plugin/network.rb, line 109</span>
1105
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">ignore</span>(<span class="ruby-identifier">files</span>)
1106
+ <span class="ruby-identifier">config</span>.<span class="ruby-identifier">ignore</span>(<span class="ruby-identifier">files</span>)
1107
+ <span class="ruby-keyword">end</span></pre>
1108
+ </div><!-- ignore-source -->
1109
+
1110
+ </div>
1111
+
1112
+
1113
+
1114
+
1115
+ </div><!-- ignore-method -->
1116
+
1117
+
1118
+ <div id="method-i-init_node" class="method-detail ">
1119
+
1120
+ <div class="method-heading">
1121
+ <span class="method-name">init_node</span><span
1122
+ class="method-args">(node, options = {}) { |"bootstrap_| ... }</span>
1123
+ <span class="method-click-advice">click to toggle source</span>
1124
+ </div>
1125
+
1126
+
1127
+ <div class="method-description">
1128
+
1129
+
1130
+
1131
+
1132
+
1133
+ <div class="method-source-code" id="init_node-source">
1134
+ <pre><span class="ruby-comment"># File lib/core/plugin/network.rb, line 347</span>
1135
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">init_node</span>(<span class="ruby-identifier">node</span>, <span class="ruby-identifier">options</span> = {})
1136
+ <span class="ruby-identifier">config</span> = <span class="ruby-constant">Config</span>.<span class="ruby-identifier">ensure</span>(<span class="ruby-identifier">options</span>)
1137
+ <span class="ruby-identifier">success</span> = <span class="ruby-keyword">true</span>
1138
+
1139
+ <span class="ruby-identifier">bootstrap_requested</span> = <span class="ruby-identifier">config</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-value">:bootstrap</span>)
1140
+ <span class="ruby-identifier">bootstrap</span> = <span class="ruby-identifier">config</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value">:bootstrap</span>, <span class="ruby-keyword">false</span>)
1141
+
1142
+ <span class="ruby-identifier">seed_requested</span> = <span class="ruby-identifier">config</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-value">:seed</span>)
1143
+ <span class="ruby-identifier">seed</span> = <span class="ruby-identifier">config</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value">:seed</span>, <span class="ruby-keyword">false</span>)
1144
+
1145
+ <span class="ruby-keyword">unless</span> <span class="ruby-identifier">node</span>.<span class="ruby-identifier">cache_setting</span>(<span class="ruby-value">:initialized</span>)
1146
+ <span class="ruby-identifier">bootstrap</span> = <span class="ruby-keyword">true</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">bootstrap_requested</span>
1147
+ <span class="ruby-identifier">seed</span> = <span class="ruby-keyword">true</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">seed_requested</span>
1148
+ <span class="ruby-keyword">end</span>
1149
+
1150
+ <span class="ruby-identifier">provision</span> = <span class="ruby-identifier">config</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value">:provision</span>, <span class="ruby-keyword">true</span>)
1151
+
1152
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">bootstrap</span>
1153
+ <span class="ruby-comment"># Bootstrap machine</span>
1154
+ <span class="ruby-identifier">success</span> = <span class="ruby-identifier">node</span>.<span class="ruby-identifier">bootstrap</span>(<span class="ruby-identifier">home</span>, <span class="ruby-identifier">extended_config</span>(<span class="ruby-value">:bootstrap</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>
1155
+ <span class="ruby-identifier">block_given?</span> <span class="ruby-operator">?</span> <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-operator">:</span> <span class="ruby-identifier">data</span>
1156
+ <span class="ruby-keyword">end</span>
1157
+ <span class="ruby-keyword">end</span>
1158
+
1159
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span>
1160
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">seed</span>
1161
+ <span class="ruby-identifier">seed_project</span> = <span class="ruby-identifier">config</span>.<span class="ruby-identifier">get</span>(<span class="ruby-value">:project_reference</span>, <span class="ruby-keyword">nil</span>)
1162
+ <span class="ruby-identifier">save_config</span> = { <span class="ruby-value">:commit</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">true</span>, <span class="ruby-value">:remote</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">remote_name</span>, <span class="ruby-value">:push</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">true</span> }
1163
+
1164
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">seed_project</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">remote_name</span>
1165
+ <span class="ruby-comment"># Reset project remote</span>
1166
+ <span class="ruby-identifier">seed_info</span> = <span class="ruby-constant">Plugin</span><span class="ruby-operator">::</span><span class="ruby-constant">Project</span>.<span class="ruby-identifier">translate_reference</span>(<span class="ruby-identifier">seed_project</span>)
1167
+
1168
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">seed_info</span>
1169
+ <span class="ruby-identifier">seed_url</span> = <span class="ruby-identifier">seed_info</span>[<span class="ruby-value">:url</span>]
1170
+ <span class="ruby-identifier">seed_branch</span> = <span class="ruby-identifier">seed_info</span>[<span class="ruby-value">:revision</span>] <span class="ruby-keyword">if</span> <span class="ruby-identifier">seed_info</span>[<span class="ruby-value">:revision</span>]
1171
+ <span class="ruby-keyword">else</span>
1172
+ <span class="ruby-identifier">seed_url</span> = <span class="ruby-identifier">seed_project</span>
1173
+ <span class="ruby-keyword">end</span>
1174
+ <span class="ruby-identifier">set_remote</span>(<span class="ruby-value">:origin</span>, <span class="ruby-identifier">seed_url</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">remote_name</span>.<span class="ruby-identifier">to_sym</span> <span class="ruby-operator">==</span> <span class="ruby-value">:edit</span>
1175
+ <span class="ruby-identifier">set_remote</span>(<span class="ruby-identifier">remote_name</span>, <span class="ruby-identifier">seed_url</span>)
1176
+ <span class="ruby-identifier">save_config</span>[<span class="ruby-value">:pull</span>] = <span class="ruby-keyword">false</span>
1177
+ <span class="ruby-keyword">end</span>
1178
+
1179
+ <span class="ruby-comment"># Save network changes (preliminary)</span>
1180
+ <span class="ruby-identifier">success</span> = <span class="ruby-identifier">node</span>.<span class="ruby-identifier">save</span>(<span class="ruby-identifier">extended_config</span>(<span class="ruby-value">:node_save</span>, <span class="ruby-identifier">save_config</span>))
1181
+
1182
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">seed_project</span>
1183
+ <span class="ruby-comment"># Seed machine with remote project reference</span>
1184
+ <span class="ruby-identifier">result</span> = <span class="ruby-identifier">node</span>.<span class="ruby-identifier">node_seed</span>({
1185
+ <span class="ruby-value">:project_reference</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">seed_project</span>,
1186
+ <span class="ruby-value">:project_branch</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">seed_branch</span>
1187
+ }) <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>
1188
+ <span class="ruby-keyword">yield</span>(<span class="ruby-node">&quot;seed_#{op}&quot;</span>.<span class="ruby-identifier">to_sym</span>, <span class="ruby-identifier">data</span>)
1189
+ <span class="ruby-keyword">end</span>
1190
+ <span class="ruby-identifier">success</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>
1191
+ <span class="ruby-keyword">end</span>
1192
+ <span class="ruby-keyword">end</span>
1193
+
1194
+ <span class="ruby-identifier">node</span>.<span class="ruby-identifier">set_cache_setting</span>(<span class="ruby-value">:initialized</span>, <span class="ruby-keyword">true</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span>
1195
+
1196
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">provision</span>
1197
+ <span class="ruby-comment"># Run configured provisioners on machine</span>
1198
+ <span class="ruby-identifier">result</span> = <span class="ruby-identifier">node</span>.<span class="ruby-identifier">node_provision</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>
1199
+ <span class="ruby-keyword">yield</span>(<span class="ruby-node">&quot;provision_#{op}&quot;</span>.<span class="ruby-identifier">to_sym</span>, <span class="ruby-identifier">data</span>)
1200
+ <span class="ruby-keyword">end</span>
1201
+ <span class="ruby-identifier">success</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>
1202
+ <span class="ruby-keyword">end</span>
1203
+
1204
+ <span class="ruby-comment"># Update local network project</span>
1205
+ <span class="ruby-identifier">success</span> = <span class="ruby-identifier">load</span>({ <span class="ruby-value">:remote</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">remote_name</span>, <span class="ruby-value">:pull</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">true</span> }) <span class="ruby-keyword">if</span> <span class="ruby-identifier">success</span>
1206
+ <span class="ruby-keyword">end</span>
1207
+ <span class="ruby-identifier">success</span>
1208
+ <span class="ruby-keyword">end</span></pre>
1209
+ </div><!-- init_node-source -->
1210
+
1211
+ </div>
1212
+
1213
+
1214
+
1215
+
1216
+ </div><!-- init_node-method -->
1217
+
1218
+
1219
+ <div id="method-i-key_cache_directory" class="method-detail ">
1220
+
1221
+ <div class="method-heading">
1222
+ <span class="method-name">key_cache_directory</span><span
1223
+ class="method-args">()</span>
1224
+ <span class="method-click-advice">click to toggle source</span>
1225
+ </div>
1226
+
1227
+
1228
+ <div class="method-description">
1229
+
1230
+
1231
+
1232
+
1233
+
1234
+ <div class="method-source-code" id="key_cache_directory-source">
1235
+ <pre><span class="ruby-comment"># File lib/core/plugin/network.rb, line 91</span>
1236
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">key_cache_directory</span>
1237
+ <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">build_directory</span>, <span class="ruby-string">&#39;keys&#39;</span>)
1238
+ <span class="ruby-keyword">end</span></pre>
1239
+ </div><!-- key_cache_directory-source -->
1240
+
1241
+ </div>
1242
+
1243
+
1244
+
1245
+
1246
+ </div><!-- key_cache_directory-method -->
1247
+
1248
+
1249
+ <div id="method-i-key_directory" class="method-detail ">
1250
+
1251
+ <div class="method-heading">
1252
+ <span class="method-name">key_directory</span><span
1253
+ class="method-args">()</span>
1254
+ <span class="method-click-advice">click to toggle source</span>
1255
+ </div>
1256
+
1257
+
1258
+ <div class="method-description">
1259
+
1260
+
1261
+
1262
+
1263
+
1264
+ <div class="method-source-code" id="key_directory-source">
1265
+ <pre><span class="ruby-comment"># File lib/core/plugin/network.rb, line 79</span>
1266
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">key_directory</span>
1267
+ <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">directory</span>, <span class="ruby-string">&#39;keys&#39;</span>)
1268
+ <span class="ruby-keyword">end</span></pre>
1269
+ </div><!-- key_directory-source -->
1270
+
1271
+ </div>
1272
+
1273
+
1274
+
1275
+
1276
+ </div><!-- key_directory-method -->
1277
+
1278
+
1279
+ <div id="method-i-load" class="method-detail ">
1280
+
1281
+ <div class="method-heading">
1282
+ <span class="method-name">load</span><span
1283
+ class="method-args">(options = {})</span>
1284
+ <span class="method-click-advice">click to toggle source</span>
1285
+ </div>
1286
+
1287
+
1288
+ <div class="method-description">
1289
+
1290
+
1291
+
1292
+
1293
+
1294
+ <div class="method-source-code" id="load-source">
1295
+ <pre><span class="ruby-comment"># File lib/core/plugin/network.rb, line 255</span>
1296
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">load</span>(<span class="ruby-identifier">options</span> = {})
1297
+ <span class="ruby-identifier">config</span>.<span class="ruby-identifier">load</span>(<span class="ruby-identifier">options</span>)
1298
+ <span class="ruby-keyword">end</span></pre>
1299
+ </div><!-- load-source -->
1300
+
1301
+ </div>
1302
+
1303
+
1304
+
1305
+
1306
+ </div><!-- load-method -->
1307
+
1308
+
1309
+ <div id="method-i-local_node" class="method-detail ">
1310
+
1311
+ <div class="method-heading">
1312
+ <span class="method-name">local_node</span><span
1313
+ class="method-args">(require_new = false)</span>
1314
+ <span class="method-click-advice">click to toggle source</span>
1315
+ </div>
1316
+
1317
+
1318
+ <div class="method-description">
1319
+
1320
+
1321
+
1322
+
1323
+
1324
+ <div class="method-source-code" id="local_node-source">
1325
+ <pre><span class="ruby-comment"># File lib/core/plugin/network.rb, line 195</span>
1326
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">local_node</span>(<span class="ruby-identifier">require_new</span> = <span class="ruby-keyword">false</span>)
1327
+ <span class="ruby-identifier">ip_address</span> = <span class="ruby-constant">CORL</span>.<span class="ruby-identifier">public_ip</span>
1328
+ <span class="ruby-identifier">local_node</span> = <span class="ruby-identifier">node_by_ip</span>(<span class="ruby-identifier">ip_address</span>, <span class="ruby-identifier">require_new</span>)
1329
+
1330
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">local_node</span>.<span class="ruby-identifier">nil?</span>
1331
+ <span class="ruby-identifier">name</span> = <span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-constant">Data</span>.<span class="ruby-identifier">ensure_value</span>(<span class="ruby-identifier">lookup</span>(<span class="ruby-value">:fqdn</span>), <span class="ruby-identifier">ip_address</span>)
1332
+ <span class="ruby-identifier">local_node</span> = <span class="ruby-constant">CORL</span>.<span class="ruby-identifier">node</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">extended_config</span>(<span class="ruby-value">:local_node</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> }}), <span class="ruby-value">:local</span>)
1333
+ <span class="ruby-keyword">else</span>
1334
+ <span class="ruby-identifier">local_node</span>.<span class="ruby-identifier">network</span> = <span class="ruby-identifier">myself</span>
1335
+ <span class="ruby-identifier">local_node</span>.<span class="ruby-identifier">normalize</span>(<span class="ruby-keyword">true</span>)
1336
+ <span class="ruby-identifier">local_node</span>.<span class="ruby-identifier">localize</span>
1337
+ <span class="ruby-keyword">end</span>
1338
+ <span class="ruby-identifier">local_node</span>
1339
+ <span class="ruby-keyword">end</span></pre>
1340
+ </div><!-- local_node-source -->
1341
+
1342
+ </div>
1343
+
1344
+
1345
+
1346
+
1347
+ </div><!-- local_node-method -->
1348
+
1349
+
1350
+ <div id="method-i-node_by_ip" class="method-detail ">
1351
+
1352
+ <div class="method-heading">
1353
+ <span class="method-name">node_by_ip</span><span
1354
+ class="method-args">(public_ip, require_new = false)</span>
1355
+ <span class="method-click-advice">click to toggle source</span>
1356
+ </div>
1357
+
1358
+
1359
+ <div class="method-description">
1360
+
1361
+
1362
+
1363
+
1364
+
1365
+ <div class="method-source-code" id="node_by_ip-source">
1366
+ <pre><span class="ruby-comment"># File lib/core/plugin/network.rb, line 186</span>
1367
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">node_by_ip</span>(<span class="ruby-identifier">public_ip</span>, <span class="ruby-identifier">require_new</span> = <span class="ruby-keyword">false</span>)
1368
+ <span class="ruby-identifier">each_node_config</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">provider</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">info</span><span class="ruby-operator">|</span>
1369
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">node</span>(<span class="ruby-identifier">provider</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">require_new</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">info</span>[<span class="ruby-value">:public_ip</span>] <span class="ruby-operator">==</span> <span class="ruby-identifier">public_ip</span>
1370
+ <span class="ruby-keyword">end</span>
1371
+ <span class="ruby-keyword">nil</span>
1372
+ <span class="ruby-keyword">end</span></pre>
1373
+ </div><!-- node_by_ip-source -->
1374
+
1375
+ </div>
1376
+
1377
+
1378
+
1379
+
1380
+ </div><!-- node_by_ip-method -->
1381
+
1382
+
1383
+ <div id="method-i-node_groups" class="method-detail ">
1384
+
1385
+ <div class="method-heading">
1386
+ <span class="method-name">node_groups</span><span
1387
+ class="method-args">()</span>
1388
+ <span class="method-click-advice">click to toggle source</span>
1389
+ </div>
1390
+
1391
+
1392
+ <div class="method-description">
1393
+
1394
+
1395
+
1396
+
1397
+
1398
+ <div class="method-source-code" id="node_groups-source">
1399
+ <pre><span class="ruby-comment"># File lib/core/plugin/network.rb, line 125</span>
1400
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">node_groups</span>
1401
+ <span class="ruby-identifier">groups</span> = {}
1402
+
1403
+ <span class="ruby-identifier">each_node_config</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">provider</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">info</span><span class="ruby-operator">|</span>
1404
+ <span class="ruby-identifier">search_node</span>(<span class="ruby-identifier">provider</span>, <span class="ruby-identifier">name</span>, <span class="ruby-value">:settings</span>, [], <span class="ruby-value">:array</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">group</span><span class="ruby-operator">|</span>
1405
+ <span class="ruby-identifier">group</span> = <span class="ruby-identifier">group</span>.<span class="ruby-identifier">to_sym</span>
1406
+ <span class="ruby-identifier">groups</span>[<span class="ruby-identifier">group</span>] = [] <span class="ruby-keyword">unless</span> <span class="ruby-identifier">groups</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">group</span>)
1407
+ <span class="ruby-identifier">groups</span>[<span class="ruby-identifier">group</span>] <span class="ruby-operator">&lt;&lt;</span> { <span class="ruby-value">:provider</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">provider</span>, <span class="ruby-value">:name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">name</span> }
1408
+ <span class="ruby-keyword">end</span>
1409
+ <span class="ruby-keyword">end</span>
1410
+ <span class="ruby-identifier">groups</span>
1411
+ <span class="ruby-keyword">end</span></pre>
1412
+ </div><!-- node_groups-source -->
1413
+
1414
+ </div>
1415
+
1416
+
1417
+
1418
+
1419
+ </div><!-- node_groups-method -->
1420
+
1421
+
1422
+ <div id="method-i-node_info" class="method-detail ">
1423
+
1424
+ <div class="method-heading">
1425
+ <span class="method-name">node_info</span><span
1426
+ class="method-args">(references, default_provider = nil)</span>
1427
+ <span class="method-click-advice">click to toggle source</span>
1428
+ </div>
1429
+
1430
+
1431
+ <div class="method-description">
1432
+
1433
+
1434
+
1435
+
1436
+
1437
+ <div class="method-source-code" id="node_info-source">
1438
+ <pre><span class="ruby-comment"># File lib/core/plugin/network.rb, line 140</span>
1439
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">node_info</span>(<span class="ruby-identifier">references</span>, <span class="ruby-identifier">default_provider</span> = <span class="ruby-keyword">nil</span>)
1440
+ <span class="ruby-identifier">groups</span> = <span class="ruby-identifier">node_groups</span>
1441
+ <span class="ruby-identifier">node_info</span> = {}
1442
+
1443
+ <span class="ruby-identifier">default_provider</span> = <span class="ruby-constant">Manager</span>.<span class="ruby-identifier">connection</span>.<span class="ruby-identifier">type_default</span>(<span class="ruby-value">:node</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">default_provider</span>.<span class="ruby-identifier">nil?</span>
1444
+
1445
+ <span class="ruby-identifier">references</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">reference</span><span class="ruby-operator">|</span>
1446
+ <span class="ruby-identifier">info</span> = <span class="ruby-constant">Plugin</span><span class="ruby-operator">::</span><span class="ruby-constant">Node</span>.<span class="ruby-identifier">translate_reference</span>(<span class="ruby-identifier">reference</span>)
1447
+ <span class="ruby-identifier">info</span> = { <span class="ruby-value">:provider</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">default_provider</span>, <span class="ruby-value">:name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">reference</span> } <span class="ruby-keyword">unless</span> <span class="ruby-identifier">info</span>
1448
+ <span class="ruby-identifier">name</span> = <span class="ruby-identifier">info</span>[<span class="ruby-value">:name</span>].<span class="ruby-identifier">to_sym</span>
1449
+
1450
+ <span class="ruby-comment"># Check for group membership</span>
1451
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">groups</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">name</span>)
1452
+ <span class="ruby-identifier">groups</span>[<span class="ruby-identifier">name</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">member_info</span><span class="ruby-operator">|</span>
1453
+ <span class="ruby-identifier">provider</span> = <span class="ruby-identifier">member_info</span>[<span class="ruby-value">:provider</span>].<span class="ruby-identifier">to_sym</span>
1454
+
1455
+ <span class="ruby-identifier">node_info</span>[<span class="ruby-identifier">provider</span>] = [] <span class="ruby-keyword">unless</span> <span class="ruby-identifier">node_info</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">provider</span>)
1456
+ <span class="ruby-identifier">node_info</span>[<span class="ruby-identifier">provider</span>] <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">member_info</span>[<span class="ruby-value">:name</span>]
1457
+ <span class="ruby-keyword">end</span>
1458
+ <span class="ruby-keyword">else</span>
1459
+ <span class="ruby-comment"># Not a group</span>
1460
+ <span class="ruby-identifier">provider</span> = <span class="ruby-identifier">info</span>[<span class="ruby-value">:provider</span>].<span class="ruby-identifier">to_sym</span>
1461
+
1462
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">node_config</span>.<span class="ruby-identifier">export</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">provider</span>)
1463
+ <span class="ruby-identifier">node_found</span> = <span class="ruby-keyword">false</span>
1464
+
1465
+ <span class="ruby-identifier">each_node_config</span>(<span class="ruby-identifier">provider</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">node_provider</span>, <span class="ruby-identifier">node_name</span>, <span class="ruby-identifier">node</span><span class="ruby-operator">|</span>
1466
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">node_name</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">name</span>
1467
+ <span class="ruby-identifier">node_info</span>[<span class="ruby-identifier">node_provider</span>] = [] <span class="ruby-keyword">unless</span> <span class="ruby-identifier">node_info</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-identifier">node_provider</span>)
1468
+ <span class="ruby-identifier">node_info</span>[<span class="ruby-identifier">node_provider</span>] <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">node_name</span>
1469
+ <span class="ruby-identifier">node_found</span> = <span class="ruby-keyword">true</span>
1470
+ <span class="ruby-keyword">break</span>
1471
+ <span class="ruby-keyword">end</span>
1472
+ <span class="ruby-keyword">end</span>
1473
+
1474
+ <span class="ruby-keyword">unless</span> <span class="ruby-identifier">node_found</span>
1475
+ <span class="ruby-comment"># TODO: Error or something?</span>
1476
+ <span class="ruby-keyword">end</span>
1477
+ <span class="ruby-keyword">end</span>
1478
+ <span class="ruby-keyword">end</span>
1479
+ <span class="ruby-keyword">end</span>
1480
+ <span class="ruby-identifier">node_info</span>
1481
+ <span class="ruby-keyword">end</span></pre>
1482
+ </div><!-- node_info-source -->
1483
+
1484
+ </div>
1485
+
1486
+
1487
+
1488
+
1489
+ </div><!-- node_info-method -->
1490
+
1491
+
1492
+ <div id="method-i-nodes_by_reference" class="method-detail ">
1493
+
1494
+ <div class="method-heading">
1495
+ <span class="method-name">nodes_by_reference</span><span
1496
+ class="method-args">(references, default_provider = nil, require_new = false)</span>
1497
+ <span class="method-click-advice">click to toggle source</span>
1498
+ </div>
1499
+
1500
+
1501
+ <div class="method-description">
1502
+
1503
+
1504
+
1505
+
1506
+
1507
+ <div class="method-source-code" id="nodes_by_reference-source">
1508
+ <pre><span class="ruby-comment"># File lib/core/plugin/network.rb, line 212</span>
1509
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">nodes_by_reference</span>(<span class="ruby-identifier">references</span>, <span class="ruby-identifier">default_provider</span> = <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">require_new</span> = <span class="ruby-keyword">false</span>)
1510
+ <span class="ruby-identifier">nodes</span> = []
1511
+
1512
+ <span class="ruby-identifier">node_info</span>(<span class="ruby-identifier">references</span>, <span class="ruby-identifier">default_provider</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">names</span><span class="ruby-operator">|</span>
1513
+ <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>
1514
+ <span class="ruby-identifier">nodes</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">node</span>(<span class="ruby-identifier">provider</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">require_new</span>)
1515
+ <span class="ruby-keyword">end</span>
1516
+ <span class="ruby-keyword">end</span>
1517
+ <span class="ruby-identifier">nodes</span>
1518
+ <span class="ruby-keyword">end</span></pre>
1519
+ </div><!-- nodes_by_reference-source -->
1520
+
1521
+ </div>
1522
+
1523
+
1524
+
1525
+
1526
+ </div><!-- nodes_by_reference-method -->
1527
+
1528
+
1529
+ <div id="method-i-normalize" class="method-detail ">
1530
+
1531
+ <div class="method-heading">
1532
+ <span class="method-name">normalize</span><span
1533
+ class="method-args">(reload)</span>
1534
+ <span class="method-click-advice">click to toggle source</span>
1535
+ </div>
1536
+
1537
+
1538
+ <div class="method-description">
1539
+
1540
+
1541
+
1542
+
1543
+
1544
+ <div class="method-source-code" id="normalize-source">
1545
+ <pre><span class="ruby-comment"># File lib/core/plugin/network.rb, line 11</span>
1546
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">normalize</span>(<span class="ruby-identifier">reload</span>)
1547
+ <span class="ruby-keyword">super</span>
1548
+
1549
+ <span class="ruby-identifier">logger</span>.<span class="ruby-identifier">info</span>(<span class="ruby-node">&quot;Initializing network: reloading? #{reload}&quot;</span>)
1550
+ <span class="ruby-identifier">myself</span>.<span class="ruby-identifier">config</span> = <span class="ruby-constant">CORL</span>.<span class="ruby-identifier">configuration</span>(<span class="ruby-constant">Config</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">myself</span>.<span class="ruby-identifier">_export</span>).<span class="ruby-identifier">import</span>({ <span class="ruby-value">:autosave</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">false</span>, <span class="ruby-value">:create</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">false</span> })) <span class="ruby-keyword">unless</span> <span class="ruby-identifier">reload</span>
1551
+
1552
+ <span class="ruby-identifier">config</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value">:directory</span>) <span class="ruby-comment"># TODO: Figure out what to do with this??</span>
1553
+
1554
+ <span class="ruby-keyword">unless</span> <span class="ruby-identifier">reload</span>
1555
+ <span class="ruby-ivar">@build</span> = <span class="ruby-constant">Build</span>.<span class="ruby-identifier">new</span>
1556
+ <span class="ruby-identifier">ignore</span>([ <span class="ruby-string">&#39;build&#39;</span>, <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-string">&#39;config&#39;</span>, <span class="ruby-string">&#39;identities&#39;</span>) ])
1557
+ <span class="ruby-keyword">end</span>
1558
+ <span class="ruby-keyword">end</span></pre>
1559
+ </div><!-- normalize-source -->
1560
+
1561
+ </div>
1562
+
1563
+
1564
+
1565
+
1566
+ </div><!-- normalize-method -->
1567
+
1568
+
1569
+ <div id="method-i-package_builder" class="method-detail ">
1570
+
1571
+ <div class="method-heading">
1572
+ <span class="method-name">package_builder</span><span
1573
+ class="method-args">(name, options = {})</span>
1574
+ <span class="method-click-advice">click to toggle source</span>
1575
+ </div>
1576
+
1577
+
1578
+ <div class="method-description">
1579
+
1580
+
1581
+
1582
+
1583
+
1584
+ <div class="method-source-code" id="package_builder-source">
1585
+ <pre><span class="ruby-comment"># File lib/core/plugin/network.rb, line 248</span>
1586
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">package_builder</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">options</span> = {})
1587
+ <span class="ruby-identifier">create_builder</span>(<span class="ruby-value">:network_package_builder</span>, <span class="ruby-value">:package</span>, <span class="ruby-identifier">options</span>)
1588
+ <span class="ruby-keyword">end</span></pre>
1589
+ </div><!-- package_builder-source -->
1590
+
1591
+ </div>
1592
+
1593
+
1594
+
1595
+
1596
+ </div><!-- package_builder-method -->
1597
+
1598
+
1599
+ <div id="method-i-remote" class="method-detail ">
1600
+
1601
+ <div class="method-heading">
1602
+ <span class="method-name">remote</span><span
1603
+ class="method-args">(name)</span>
1604
+ <span class="method-click-advice">click to toggle source</span>
1605
+ </div>
1606
+
1607
+
1608
+ <div class="method-description">
1609
+
1610
+
1611
+
1612
+
1613
+
1614
+ <div class="method-source-code" id="remote-source">
1615
+ <pre><span class="ruby-comment"># File lib/core/plugin/network.rb, line 115</span>
1616
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">remote</span>(<span class="ruby-identifier">name</span>)
1617
+ <span class="ruby-identifier">config</span>.<span class="ruby-identifier">remote</span>(<span class="ruby-identifier">name</span>)
1618
+ <span class="ruby-keyword">end</span></pre>
1619
+ </div><!-- remote-source -->
1620
+
1621
+ </div>
1622
+
1623
+
1624
+
1625
+
1626
+ </div><!-- remote-method -->
1627
+
1628
+
1629
+ <div id="method-i-remove_plugin" class="method-detail ">
1630
+
1631
+ <div class="method-heading">
1632
+ <span class="method-name">remove_plugin</span><span
1633
+ class="method-args">()</span>
1634
+ <span class="method-click-advice">click to toggle source</span>
1635
+ </div>
1636
+
1637
+
1638
+ <div class="method-description">
1639
+
1640
+
1641
+
1642
+
1643
+
1644
+ <div class="method-source-code" id="remove_plugin-source">
1645
+ <pre><span class="ruby-comment"># File lib/core/plugin/network.rb, line 27</span>
1646
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">remove_plugin</span>
1647
+ <span class="ruby-constant">CORL</span>.<span class="ruby-identifier">remove_plugin</span>(<span class="ruby-identifier">config</span>)
1648
+
1649
+ <span class="ruby-identifier">each_plugin</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">type</span>, <span class="ruby-identifier">provider</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">plugin</span><span class="ruby-operator">|</span>
1650
+ <span class="ruby-constant">CORL</span>.<span class="ruby-identifier">remove_plugin</span>(<span class="ruby-identifier">plugin</span>)
1651
+ <span class="ruby-keyword">end</span>
1652
+ <span class="ruby-keyword">end</span></pre>
1653
+ </div><!-- remove_plugin-source -->
1654
+
1655
+ </div>
1656
+
1657
+
1658
+
1659
+
1660
+ </div><!-- remove_plugin-method -->
1661
+
1662
+
1663
+ <div id="method-i-save" class="method-detail ">
1664
+
1665
+ <div class="method-heading">
1666
+ <span class="method-name">save</span><span
1667
+ class="method-args">(options = {})</span>
1668
+ <span class="method-click-advice">click to toggle source</span>
1669
+ </div>
1670
+
1671
+
1672
+ <div class="method-description">
1673
+
1674
+
1675
+
1676
+
1677
+
1678
+ <div class="method-source-code" id="save-source">
1679
+ <pre><span class="ruby-comment"># File lib/core/plugin/network.rb, line 261</span>
1680
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">save</span>(<span class="ruby-identifier">options</span> = {})
1681
+ <span class="ruby-identifier">config</span>.<span class="ruby-identifier">save</span>(<span class="ruby-identifier">options</span>)
1682
+ <span class="ruby-keyword">end</span></pre>
1683
+ </div><!-- save-source -->
1684
+
1685
+ </div>
1686
+
1687
+
1688
+
1689
+
1690
+ </div><!-- save-method -->
1691
+
1692
+
1693
+ <div id="method-i-set_remote" class="method-detail ">
1694
+
1695
+ <div class="method-heading">
1696
+ <span class="method-name">set_remote</span><span
1697
+ class="method-args">(name, location)</span>
1698
+ <span class="method-click-advice">click to toggle source</span>
1699
+ </div>
1700
+
1701
+
1702
+ <div class="method-description">
1703
+
1704
+
1705
+
1706
+
1707
+
1708
+ <div class="method-source-code" id="set_remote-source">
1709
+ <pre><span class="ruby-comment"># File lib/core/plugin/network.rb, line 119</span>
1710
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">set_remote</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">location</span>)
1711
+ <span class="ruby-identifier">config</span>.<span class="ruby-identifier">set_remote</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">location</span>)
1712
+ <span class="ruby-keyword">end</span></pre>
1713
+ </div><!-- set_remote-source -->
1714
+
1715
+ </div>
1716
+
1717
+
1718
+
1719
+
1720
+ </div><!-- set_remote-method -->
1721
+
1722
+
1723
+ <div id="method-i-test_node" class="method-detail ">
1724
+
1725
+ <div class="method-heading">
1726
+ <span class="method-name">test_node</span><span
1727
+ class="method-args">(provider, options = {})</span>
1728
+ <span class="method-click-advice">click to toggle source</span>
1729
+ </div>
1730
+
1731
+
1732
+ <div class="method-description">
1733
+
1734
+
1735
+
1736
+
1737
+
1738
+ <div class="method-source-code" id="test_node-source">
1739
+ <pre><span class="ruby-comment"># File lib/core/plugin/network.rb, line 225</span>
1740
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">test_node</span>(<span class="ruby-identifier">provider</span>, <span class="ruby-identifier">options</span> = {})
1741
+ <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">: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> } })
1742
+ <span class="ruby-constant">CORL</span>.<span class="ruby-identifier">node</span>(<span class="ruby-value">:test</span>, <span class="ruby-identifier">config</span>.<span class="ruby-identifier">export</span>, <span class="ruby-identifier">provider</span>)
1743
+ <span class="ruby-keyword">end</span></pre>
1744
+ </div><!-- test_node-source -->
1745
+
1746
+ </div>
1747
+
1748
+
1749
+
1750
+
1751
+ </div><!-- test_node-method -->
1752
+
1753
+
1754
+ </section><!-- public-instance-method-details -->
1755
+
1756
+ </section><!-- 5Buntitled-5D -->
1757
+
1758
+ </div><!-- documentation -->
1759
+
1760
+
1761
+ <footer id="validator-badges">
1762
+ <p><a href="http://validator.w3.org/check/referer">[Validate]</a>
1763
+ <p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.2.
1764
+ <p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
1765
+ </footer>
1766
+