mu 5.7.2.3
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.
- data/Mu_Gem.html +1591 -0
- data/bin/mu +11 -0
- data/lib/mu.rb +65 -0
- data/lib/mu/api/ddt.rb +233 -0
- data/lib/mu/api/homepage.rb +54 -0
- data/lib/mu/api/muapi.rb +231 -0
- data/lib/mu/api/netconfig.rb +233 -0
- data/lib/mu/api/scale.rb +199 -0
- data/lib/mu/api/system.rb +40 -0
- data/lib/mu/client.rb +31 -0
- data/lib/mu/command.rb +28 -0
- data/lib/mu/command/api.rb +95 -0
- data/lib/mu/command/cmd_appid.rb +486 -0
- data/lib/mu/command/cmd_cli.rb +151 -0
- data/lib/mu/command/cmd_ddt.rb +449 -0
- data/lib/mu/command/cmd_homepage.rb +146 -0
- data/lib/mu/command/cmd_muapi.rb +361 -0
- data/lib/mu/command/cmd_netconfig.rb +262 -0
- data/lib/mu/command/cmd_runscale.rb +533 -0
- data/lib/mu/command/cmd_runscenario.rb +258 -0
- data/lib/mu/command/cmd_runverify.rb +336 -0
- data/lib/mu/command/cmd_scale.rb +333 -0
- data/lib/mu/command/cmd_system.rb +127 -0
- data/lib/mu/command/curl.rb +246 -0
- data/lib/mu/command/help.rb +29 -0
- data/lib/mu/curl/error.rb +54 -0
- data/lib/mu/curl/verify.rb +137 -0
- data/lib/mu/helper.rb +55 -0
- data/lib/mu/http_helper.rb +232 -0
- data/rdoc/classes/Mu.html +305 -0
- data/rdoc/classes/Mu/Client.html +265 -0
- data/rdoc/classes/Mu/Command.html +208 -0
- data/rdoc/classes/Mu/Command/API.html +524 -0
- data/rdoc/classes/Mu/Command/Cmd_appid.html +934 -0
- data/rdoc/classes/Mu/Command/Cmd_cli.html +515 -0
- data/rdoc/classes/Mu/Command/Cmd_ddt.html +1169 -0
- data/rdoc/classes/Mu/Command/Cmd_homepage.html +489 -0
- data/rdoc/classes/Mu/Command/Cmd_muapi.html +968 -0
- data/rdoc/classes/Mu/Command/Cmd_netconfig.html +743 -0
- data/rdoc/classes/Mu/Command/Cmd_runscale.html +970 -0
- data/rdoc/classes/Mu/Command/Cmd_runscenario.html +530 -0
- data/rdoc/classes/Mu/Command/Cmd_runverify.html +621 -0
- data/rdoc/classes/Mu/Command/Cmd_scale.html +939 -0
- data/rdoc/classes/Mu/Command/Cmd_system.html +426 -0
- data/rdoc/classes/Mu/Command/Curl.html +524 -0
- data/rdoc/classes/Mu/Command/Help.html +166 -0
- data/rdoc/classes/Mu/Curl.html +116 -0
- data/rdoc/classes/Mu/Curl/Error.html +157 -0
- data/rdoc/classes/Mu/Curl/Error/Authorize.html +178 -0
- data/rdoc/classes/Mu/Curl/Error/Connect.html +149 -0
- data/rdoc/classes/Mu/Curl/Error/DNS.html +113 -0
- data/rdoc/classes/Mu/Curl/Error/Region.html +160 -0
- data/rdoc/classes/Mu/Curl/Error/Status.html +149 -0
- data/rdoc/classes/Mu/Curl/Error/Timeout.html +149 -0
- data/rdoc/classes/Mu/Curl/Verify.html +282 -0
- data/rdoc/classes/Mu/Curl/Verify/Request.html +227 -0
- data/rdoc/classes/Mu/Curl/Verify/Response.html +187 -0
- data/rdoc/classes/Mu/Curl/Verify/Result.html +188 -0
- data/rdoc/classes/Mu/Ddt.html +914 -0
- data/rdoc/classes/Mu/Helper.html +308 -0
- data/rdoc/classes/Mu/Homepage.html +377 -0
- data/rdoc/classes/Mu/HttpHelper.html +639 -0
- data/rdoc/classes/Mu/Muapi.html +816 -0
- data/rdoc/classes/Mu/Netconfig.html +781 -0
- data/rdoc/classes/Mu/Scale.html +832 -0
- data/rdoc/classes/Mu/System.html +281 -0
- data/rdoc/classes/Object.html +148 -0
- data/rdoc/classes/TCTestMu.html +1793 -0
- data/rdoc/classes/Test.html +107 -0
- data/rdoc/classes/Test/Unit.html +107 -0
- data/rdoc/classes/Test/Unit/TestCase.html +113 -0
- data/rdoc/created.rid +1 -0
- data/rdoc/files/lib/mu/api/ddt_rb.html +101 -0
- data/rdoc/files/lib/mu/api/homepage_rb.html +101 -0
- data/rdoc/files/lib/mu/api/muapi_rb.html +101 -0
- data/rdoc/files/lib/mu/api/netconfig_rb.html +101 -0
- data/rdoc/files/lib/mu/api/scale_rb.html +101 -0
- data/rdoc/files/lib/mu/api/system_rb.html +101 -0
- data/rdoc/files/lib/mu/client_rb.html +101 -0
- data/rdoc/files/lib/mu/command/api_rb.html +101 -0
- data/rdoc/files/lib/mu/command/cmd_appid_rb.html +119 -0
- data/rdoc/files/lib/mu/command/cmd_cli_rb.html +108 -0
- data/rdoc/files/lib/mu/command/cmd_ddt_rb.html +117 -0
- data/rdoc/files/lib/mu/command/cmd_homepage_rb.html +115 -0
- data/rdoc/files/lib/mu/command/cmd_muapi_rb.html +116 -0
- data/rdoc/files/lib/mu/command/cmd_netconfig_rb.html +116 -0
- data/rdoc/files/lib/mu/command/cmd_runscale_rb.html +119 -0
- data/rdoc/files/lib/mu/command/cmd_runscenario_rb.html +115 -0
- data/rdoc/files/lib/mu/command/cmd_runverify_rb.html +117 -0
- data/rdoc/files/lib/mu/command/cmd_scale_rb.html +115 -0
- data/rdoc/files/lib/mu/command/cmd_system_rb.html +116 -0
- data/rdoc/files/lib/mu/command/curl_rb.html +101 -0
- data/rdoc/files/lib/mu/command/help_rb.html +101 -0
- data/rdoc/files/lib/mu/command_rb.html +107 -0
- data/rdoc/files/lib/mu/curl/error_rb.html +101 -0
- data/rdoc/files/lib/mu/curl/verify_rb.html +101 -0
- data/rdoc/files/lib/mu/helper_rb.html +101 -0
- data/rdoc/files/lib/mu/http_helper_rb.html +101 -0
- data/rdoc/files/lib/mu_rb.html +121 -0
- data/rdoc/files/test/helper_rb.html +112 -0
- data/rdoc/files/test/tc_test_mu_rb.html +111 -0
- data/rdoc/fr_class_index.html +68 -0
- data/rdoc/fr_file_index.html +55 -0
- data/rdoc/fr_method_index.html +374 -0
- data/rdoc/index.html +24 -0
- data/rdoc/rdoc-style.css +208 -0
- data/test/data/app_id_stats.csv +1 -0
- data/test/data/data_cgi.msl +94 -0
- data/test/data/data_cgi.xml +322 -0
- data/test/data/default_test.csv +3 -0
- data/test/data/ftp_with_channel.xml +1643 -0
- data/test/data/irc.xml +3837 -0
- data/test/data/scale_configuration.json +25 -0
- data/test/data/test_data_cgi_error.xml +35 -0
- data/test/helper.rb +18 -0
- data/test/tc_test_mu.rb +716 -0
- metadata +322 -0
|
@@ -0,0 +1,781 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
2
|
+
<!DOCTYPE html
|
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
5
|
+
|
|
6
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
7
|
+
<head>
|
|
8
|
+
<title>Class: Mu::Netconfig</title>
|
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
10
|
+
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
|
11
|
+
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
|
12
|
+
<script type="text/javascript">
|
|
13
|
+
// <![CDATA[
|
|
14
|
+
|
|
15
|
+
function popupCode( url ) {
|
|
16
|
+
window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function toggleCode( id ) {
|
|
20
|
+
if ( document.getElementById )
|
|
21
|
+
elem = document.getElementById( id );
|
|
22
|
+
else if ( document.all )
|
|
23
|
+
elem = eval( "document.all." + id );
|
|
24
|
+
else
|
|
25
|
+
return false;
|
|
26
|
+
|
|
27
|
+
elemStyle = elem.style;
|
|
28
|
+
|
|
29
|
+
if ( elemStyle.display != "block" ) {
|
|
30
|
+
elemStyle.display = "block"
|
|
31
|
+
} else {
|
|
32
|
+
elemStyle.display = "none"
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Make codeblocks hidden by default
|
|
39
|
+
document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
|
|
40
|
+
|
|
41
|
+
// ]]>
|
|
42
|
+
</script>
|
|
43
|
+
|
|
44
|
+
</head>
|
|
45
|
+
<body>
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
<div id="classHeader">
|
|
50
|
+
<table class="header-table">
|
|
51
|
+
<tr class="top-aligned-row">
|
|
52
|
+
<td><strong>Class</strong></td>
|
|
53
|
+
<td class="class-name-in-header">Mu::Netconfig</td>
|
|
54
|
+
</tr>
|
|
55
|
+
<tr class="top-aligned-row">
|
|
56
|
+
<td><strong>In:</strong></td>
|
|
57
|
+
<td>
|
|
58
|
+
<a href="../../files/lib/mu/api/netconfig_rb.html">
|
|
59
|
+
lib/mu/api/netconfig.rb
|
|
60
|
+
</a>
|
|
61
|
+
<br />
|
|
62
|
+
</td>
|
|
63
|
+
</tr>
|
|
64
|
+
|
|
65
|
+
<tr class="top-aligned-row">
|
|
66
|
+
<td><strong>Parent:</strong></td>
|
|
67
|
+
<td>
|
|
68
|
+
<a href="../Object.html">
|
|
69
|
+
Object
|
|
70
|
+
</a>
|
|
71
|
+
</td>
|
|
72
|
+
</tr>
|
|
73
|
+
</table>
|
|
74
|
+
</div>
|
|
75
|
+
<!-- banner header -->
|
|
76
|
+
|
|
77
|
+
<div id="bodyContent">
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
<div id="contextContent">
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
</div>
|
|
86
|
+
|
|
87
|
+
<div id="method-list">
|
|
88
|
+
<h3 class="section-bar">Methods</h3>
|
|
89
|
+
|
|
90
|
+
<div class="name-list">
|
|
91
|
+
<a href="#M000285">clear_hosts</a>
|
|
92
|
+
<a href="#M000288">clear_interface</a>
|
|
93
|
+
<a href="#M000291">clear_routes</a>
|
|
94
|
+
<a href="#M000289">clear_vlans</a>
|
|
95
|
+
<a href="#M000282">create</a>
|
|
96
|
+
<a href="#M000283">delete</a>
|
|
97
|
+
<a href="#M000294">do_modify</a>
|
|
98
|
+
<a href="#M000280">get</a>
|
|
99
|
+
<a href="#M000295">http_request</a>
|
|
100
|
+
<a href="#M000281">modify</a>
|
|
101
|
+
<a href="#M000279">new</a>
|
|
102
|
+
<a href="#M000287">resolve_hosts</a>
|
|
103
|
+
<a href="#M000284">restore</a>
|
|
104
|
+
<a href="#M000286">restore_hosts</a>
|
|
105
|
+
<a href="#M000290">restore_interfaces</a>
|
|
106
|
+
<a href="#M000292">restore_routes</a>
|
|
107
|
+
<a href="#M000293">save</a>
|
|
108
|
+
</div>
|
|
109
|
+
</div>
|
|
110
|
+
|
|
111
|
+
</div>
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
<!-- if includes -->
|
|
115
|
+
<div id="includes">
|
|
116
|
+
<h3 class="section-bar">Included Modules</h3>
|
|
117
|
+
|
|
118
|
+
<div id="includes-list">
|
|
119
|
+
<span class="include-name"><a href="Helper.html">Helper</a></span>
|
|
120
|
+
</div>
|
|
121
|
+
</div>
|
|
122
|
+
|
|
123
|
+
<div id="section">
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
<div id="attribute-list">
|
|
130
|
+
<h3 class="section-bar">Attributes</h3>
|
|
131
|
+
|
|
132
|
+
<div class="name-list">
|
|
133
|
+
<table>
|
|
134
|
+
<tr class="top-aligned-row context-row">
|
|
135
|
+
<td class="context-item-name">config</td>
|
|
136
|
+
<td class="context-item-value"> [RW] </td>
|
|
137
|
+
<td class="context-item-desc"></td>
|
|
138
|
+
</tr>
|
|
139
|
+
<tr class="top-aligned-row context-row">
|
|
140
|
+
<td class="context-item-name">docroot</td>
|
|
141
|
+
<td class="context-item-value"> [RW] </td>
|
|
142
|
+
<td class="context-item-desc"></td>
|
|
143
|
+
</tr>
|
|
144
|
+
<tr class="top-aligned-row context-row">
|
|
145
|
+
<td class="context-item-name">element</td>
|
|
146
|
+
<td class="context-item-value"> [RW] </td>
|
|
147
|
+
<td class="context-item-desc"></td>
|
|
148
|
+
</tr>
|
|
149
|
+
<tr class="top-aligned-row context-row">
|
|
150
|
+
<td class="context-item-name">host</td>
|
|
151
|
+
<td class="context-item-value"> [RW] </td>
|
|
152
|
+
<td class="context-item-desc"></td>
|
|
153
|
+
</tr>
|
|
154
|
+
<tr class="top-aligned-row context-row">
|
|
155
|
+
<td class="context-item-name">password</td>
|
|
156
|
+
<td class="context-item-value"> [RW] </td>
|
|
157
|
+
<td class="context-item-desc"></td>
|
|
158
|
+
</tr>
|
|
159
|
+
<tr class="top-aligned-row context-row">
|
|
160
|
+
<td class="context-item-name">response</td>
|
|
161
|
+
<td class="context-item-value"> [RW] </td>
|
|
162
|
+
<td class="context-item-desc"></td>
|
|
163
|
+
</tr>
|
|
164
|
+
<tr class="top-aligned-row context-row">
|
|
165
|
+
<td class="context-item-name">username</td>
|
|
166
|
+
<td class="context-item-value"> [RW] </td>
|
|
167
|
+
<td class="context-item-desc"></td>
|
|
168
|
+
</tr>
|
|
169
|
+
</table>
|
|
170
|
+
</div>
|
|
171
|
+
</div>
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
<!-- if method_list -->
|
|
176
|
+
<div id="methods">
|
|
177
|
+
<h3 class="section-bar">Public Class methods</h3>
|
|
178
|
+
|
|
179
|
+
<div id="method-M000279" class="method-detail">
|
|
180
|
+
<a name="M000279"></a>
|
|
181
|
+
|
|
182
|
+
<div class="method-heading">
|
|
183
|
+
<a href="#M000279" class="method-signature">
|
|
184
|
+
<span class="method-name">new</span><span class="method-args">(host=ENV['MU_IP'], username=ENV['MU_ADMIN_USER'], password=ENV['MU_ADMIN_PASS'])</span>
|
|
185
|
+
</a>
|
|
186
|
+
</div>
|
|
187
|
+
|
|
188
|
+
<div class="method-description">
|
|
189
|
+
<p><a class="source-toggle" href="#"
|
|
190
|
+
onclick="toggleCode('M000279-source');return false;">[Source]</a></p>
|
|
191
|
+
<div class="method-source-code" id="M000279-source">
|
|
192
|
+
<pre>
|
|
193
|
+
<span class="ruby-comment cmt"># File lib/mu/api/netconfig.rb, line 7</span>
|
|
194
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">host</span>=<span class="ruby-constant">ENV</span>[<span class="ruby-value str">'MU_IP'</span>], <span class="ruby-identifier">username</span>=<span class="ruby-constant">ENV</span>[<span class="ruby-value str">'MU_ADMIN_USER'</span>], <span class="ruby-identifier">password</span>=<span class="ruby-constant">ENV</span>[<span class="ruby-value str">'MU_ADMIN_PASS'</span>])
|
|
195
|
+
<span class="ruby-ivar">@host</span> = <span class="ruby-identifier">host</span>
|
|
196
|
+
<span class="ruby-ivar">@username</span> = <span class="ruby-identifier">username</span>
|
|
197
|
+
<span class="ruby-ivar">@password</span> = <span class="ruby-identifier">password</span>
|
|
198
|
+
<span class="ruby-ivar">@docroot</span> = <span class="ruby-value str">"/restlet/netconfig/"</span>
|
|
199
|
+
<span class="ruby-ivar">@response</span> = <span class="ruby-keyword kw">nil</span>
|
|
200
|
+
<span class="ruby-ivar">@http</span> = <span class="ruby-constant">HttpHelper</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@host</span>, <span class="ruby-ivar">@username</span>, <span class="ruby-ivar">@password</span>, <span class="ruby-ivar">@docroot</span>)
|
|
201
|
+
<span class="ruby-ivar">@element</span> = <span class="ruby-value str">""</span> <span class="ruby-comment cmt"># sticky variable will hold a default element, the last element specified</span>
|
|
202
|
+
<span class="ruby-identifier">msg</span> <span class="ruby-node">"Created Netconfig API object to :#{@host}"</span>, <span class="ruby-constant">Logger</span><span class="ruby-operator">::</span><span class="ruby-constant">DEBUG</span>
|
|
203
|
+
<span class="ruby-keyword kw">end</span>
|
|
204
|
+
</pre>
|
|
205
|
+
</div>
|
|
206
|
+
</div>
|
|
207
|
+
</div>
|
|
208
|
+
|
|
209
|
+
<h3 class="section-bar">Public Instance methods</h3>
|
|
210
|
+
|
|
211
|
+
<div id="method-M000285" class="method-detail">
|
|
212
|
+
<a name="M000285"></a>
|
|
213
|
+
|
|
214
|
+
<div class="method-heading">
|
|
215
|
+
<a href="#M000285" class="method-signature">
|
|
216
|
+
<span class="method-name">clear_hosts</span><span class="method-args">()</span>
|
|
217
|
+
</a>
|
|
218
|
+
</div>
|
|
219
|
+
|
|
220
|
+
<div class="method-description">
|
|
221
|
+
<p>
|
|
222
|
+
clears the network hosts
|
|
223
|
+
</p>
|
|
224
|
+
<p><a class="source-toggle" href="#"
|
|
225
|
+
onclick="toggleCode('M000285-source');return false;">[Source]</a></p>
|
|
226
|
+
<div class="method-source-code" id="M000285-source">
|
|
227
|
+
<pre>
|
|
228
|
+
<span class="ruby-comment cmt"># File lib/mu/api/netconfig.rb, line 92</span>
|
|
229
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">clear_hosts</span>
|
|
230
|
+
<span class="ruby-identifier">h</span> = <span class="ruby-identifier">get</span>(<span class="ruby-value str">"hosts"</span>)
|
|
231
|
+
<span class="ruby-identifier">h</span>[<span class="ruby-value str">"hosts"</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">h</span><span class="ruby-operator">|</span>
|
|
232
|
+
<span class="ruby-identifier">msg</span> <span class="ruby-node">"Clear host: #{h['name']}"</span>, <span class="ruby-constant">Logger</span><span class="ruby-operator">::</span><span class="ruby-constant">DEBUG</span>
|
|
233
|
+
<span class="ruby-identifier">delete</span>(<span class="ruby-node">"hosts/#{h['name']}"</span>)
|
|
234
|
+
<span class="ruby-keyword kw">end</span>
|
|
235
|
+
<span class="ruby-keyword kw">end</span>
|
|
236
|
+
</pre>
|
|
237
|
+
</div>
|
|
238
|
+
</div>
|
|
239
|
+
</div>
|
|
240
|
+
|
|
241
|
+
<div id="method-M000288" class="method-detail">
|
|
242
|
+
<a name="M000288"></a>
|
|
243
|
+
|
|
244
|
+
<div class="method-heading">
|
|
245
|
+
<a href="#M000288" class="method-signature">
|
|
246
|
+
<span class="method-name">clear_interface</span><span class="method-args">(interface)</span>
|
|
247
|
+
</a>
|
|
248
|
+
</div>
|
|
249
|
+
|
|
250
|
+
<div class="method-description">
|
|
251
|
+
<p>
|
|
252
|
+
clears a network interface
|
|
253
|
+
</p>
|
|
254
|
+
<pre>
|
|
255
|
+
* interface = the name of the interface to clear
|
|
256
|
+
</pre>
|
|
257
|
+
<p><a class="source-toggle" href="#"
|
|
258
|
+
onclick="toggleCode('M000288-source');return false;">[Source]</a></p>
|
|
259
|
+
<div class="method-source-code" id="M000288-source">
|
|
260
|
+
<pre>
|
|
261
|
+
<span class="ruby-comment cmt"># File lib/mu/api/netconfig.rb, line 137</span>
|
|
262
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">clear_interface</span>(<span class="ruby-identifier">interface</span>)
|
|
263
|
+
<span class="ruby-identifier">interface</span> = <span class="ruby-identifier">interface</span>
|
|
264
|
+
<span class="ruby-identifier">json</span> = { <span class="ruby-value str">"v4_addrs"</span>=<span class="ruby-operator">></span>[], <span class="ruby-value str">"v4_mask"</span>=<span class="ruby-operator">></span><span class="ruby-value str">""</span>, <span class="ruby-value str">"v4_dhcp"</span>=<span class="ruby-operator">></span><span class="ruby-keyword kw">false</span>,
|
|
265
|
+
<span class="ruby-value str">"v6_global_addrs"</span>=<span class="ruby-operator">></span>[], <span class="ruby-value str">"v6_global_mask"</span>=<span class="ruby-operator">></span><span class="ruby-value str">""</span>}
|
|
266
|
+
<span class="ruby-identifier">modify</span> <span class="ruby-identifier">json</span>,<span class="ruby-node">"interfaces/#{interface}"</span>
|
|
267
|
+
<span class="ruby-keyword kw">end</span>
|
|
268
|
+
</pre>
|
|
269
|
+
</div>
|
|
270
|
+
</div>
|
|
271
|
+
</div>
|
|
272
|
+
|
|
273
|
+
<div id="method-M000291" class="method-detail">
|
|
274
|
+
<a name="M000291"></a>
|
|
275
|
+
|
|
276
|
+
<div class="method-heading">
|
|
277
|
+
<a href="#M000291" class="method-signature">
|
|
278
|
+
<span class="method-name">clear_routes</span><span class="method-args">()</span>
|
|
279
|
+
</a>
|
|
280
|
+
</div>
|
|
281
|
+
|
|
282
|
+
<div class="method-description">
|
|
283
|
+
<p>
|
|
284
|
+
clears network routes
|
|
285
|
+
</p>
|
|
286
|
+
<p><a class="source-toggle" href="#"
|
|
287
|
+
onclick="toggleCode('M000291-source');return false;">[Source]</a></p>
|
|
288
|
+
<div class="method-source-code" id="M000291-source">
|
|
289
|
+
<pre>
|
|
290
|
+
<span class="ruby-comment cmt"># File lib/mu/api/netconfig.rb, line 169</span>
|
|
291
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">clear_routes</span>
|
|
292
|
+
<span class="ruby-identifier">routes</span> = <span class="ruby-identifier">get</span> <span class="ruby-value str">"routes"</span>
|
|
293
|
+
<span class="ruby-identifier">routes</span>[<span class="ruby-value str">"routes"</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">r</span><span class="ruby-operator">|</span>
|
|
294
|
+
<span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">r</span>[<span class="ruby-value str">'readonly'</span>] <span class="ruby-operator">==</span> <span class="ruby-keyword kw">true</span>
|
|
295
|
+
<span class="ruby-identifier">msg</span> <span class="ruby-node">"Clear route: #{r['dst']}-#{r['gateway']}-#{r['interface_display_name'].downcase}"</span>, <span class="ruby-constant">Logger</span><span class="ruby-operator">::</span><span class="ruby-constant">DEBUG</span>
|
|
296
|
+
<span class="ruby-identifier">delete</span> <span class="ruby-node">"routes/#{r['dst']}-#{r['gateway']}-#{r['interface_display_name'].downcase}"</span>
|
|
297
|
+
<span class="ruby-keyword kw">end</span>
|
|
298
|
+
<span class="ruby-keyword kw">end</span>
|
|
299
|
+
</pre>
|
|
300
|
+
</div>
|
|
301
|
+
</div>
|
|
302
|
+
</div>
|
|
303
|
+
|
|
304
|
+
<div id="method-M000289" class="method-detail">
|
|
305
|
+
<a name="M000289"></a>
|
|
306
|
+
|
|
307
|
+
<div class="method-heading">
|
|
308
|
+
<a href="#M000289" class="method-signature">
|
|
309
|
+
<span class="method-name">clear_vlans</span><span class="method-args">()</span>
|
|
310
|
+
</a>
|
|
311
|
+
</div>
|
|
312
|
+
|
|
313
|
+
<div class="method-description">
|
|
314
|
+
<p>
|
|
315
|
+
clears all network vlans
|
|
316
|
+
</p>
|
|
317
|
+
<p><a class="source-toggle" href="#"
|
|
318
|
+
onclick="toggleCode('M000289-source');return false;">[Source]</a></p>
|
|
319
|
+
<div class="method-source-code" id="M000289-source">
|
|
320
|
+
<pre>
|
|
321
|
+
<span class="ruby-comment cmt"># File lib/mu/api/netconfig.rb, line 145</span>
|
|
322
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">clear_vlans</span>
|
|
323
|
+
<span class="ruby-identifier">i</span> = <span class="ruby-identifier">get</span> <span class="ruby-value str">"interfaces"</span>
|
|
324
|
+
<span class="ruby-identifier">i</span>[<span class="ruby-value str">"interfaces"</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
|
|
325
|
+
<span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">i</span>[<span class="ruby-value str">'vlan'</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">""</span>
|
|
326
|
+
<span class="ruby-identifier">msg</span> <span class="ruby-node">"Clear vlan: #{i['name']}"</span>, <span class="ruby-constant">Logger</span><span class="ruby-operator">::</span><span class="ruby-constant">DEBUG</span>
|
|
327
|
+
<span class="ruby-identifier">delete</span> <span class="ruby-node">"interfaces/#{i['name']}"</span>
|
|
328
|
+
<span class="ruby-keyword kw">end</span>
|
|
329
|
+
<span class="ruby-keyword kw">end</span>
|
|
330
|
+
</pre>
|
|
331
|
+
</div>
|
|
332
|
+
</div>
|
|
333
|
+
</div>
|
|
334
|
+
|
|
335
|
+
<div id="method-M000282" class="method-detail">
|
|
336
|
+
<a name="M000282"></a>
|
|
337
|
+
|
|
338
|
+
<div class="method-heading">
|
|
339
|
+
<a href="#M000282" class="method-signature">
|
|
340
|
+
<span class="method-name">create</span><span class="method-args">(json, e)</span>
|
|
341
|
+
</a>
|
|
342
|
+
</div>
|
|
343
|
+
|
|
344
|
+
<div class="method-description">
|
|
345
|
+
<p>
|
|
346
|
+
POST method to add a network element
|
|
347
|
+
</p>
|
|
348
|
+
<pre>
|
|
349
|
+
* json = the json string containing the element values
|
|
350
|
+
* e = the element to create (interfaces|hosts|routes)
|
|
351
|
+
</pre>
|
|
352
|
+
<p><a class="source-toggle" href="#"
|
|
353
|
+
onclick="toggleCode('M000282-source');return false;">[Source]</a></p>
|
|
354
|
+
<div class="method-source-code" id="M000282-source">
|
|
355
|
+
<pre>
|
|
356
|
+
<span class="ruby-comment cmt"># File lib/mu/api/netconfig.rb, line 48</span>
|
|
357
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">create</span>(<span class="ruby-identifier">json</span>, <span class="ruby-identifier">e</span>)
|
|
358
|
+
<span class="ruby-identifier">jstring</span> = <span class="ruby-identifier">json</span>
|
|
359
|
+
<span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">json</span>.<span class="ruby-identifier">is_a?</span> <span class="ruby-constant">String</span>
|
|
360
|
+
<span class="ruby-identifier">jstring</span> = <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">generate</span> <span class="ruby-identifier">json</span>
|
|
361
|
+
<span class="ruby-keyword kw">end</span>
|
|
362
|
+
<span class="ruby-identifier">response</span> = <span class="ruby-ivar">@http</span>.<span class="ruby-identifier">post_json</span>(<span class="ruby-identifier">e</span>, <span class="ruby-identifier">jstring</span>)
|
|
363
|
+
<span class="ruby-identifier">msg</span> <span class="ruby-identifier">response</span>, <span class="ruby-constant">Logger</span><span class="ruby-operator">::</span><span class="ruby-constant">DEBUG</span>
|
|
364
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">response</span>
|
|
365
|
+
<span class="ruby-keyword kw">end</span>
|
|
366
|
+
</pre>
|
|
367
|
+
</div>
|
|
368
|
+
</div>
|
|
369
|
+
</div>
|
|
370
|
+
|
|
371
|
+
<div id="method-M000283" class="method-detail">
|
|
372
|
+
<a name="M000283"></a>
|
|
373
|
+
|
|
374
|
+
<div class="method-heading">
|
|
375
|
+
<a href="#M000283" class="method-signature">
|
|
376
|
+
<span class="method-name">delete</span><span class="method-args">(e)</span>
|
|
377
|
+
</a>
|
|
378
|
+
</div>
|
|
379
|
+
|
|
380
|
+
<div class="method-description">
|
|
381
|
+
<p>
|
|
382
|
+
deletes the specified element
|
|
383
|
+
</p>
|
|
384
|
+
<pre>
|
|
385
|
+
* e = the element to delete
|
|
386
|
+
</pre>
|
|
387
|
+
<p><a class="source-toggle" href="#"
|
|
388
|
+
onclick="toggleCode('M000283-source');return false;">[Source]</a></p>
|
|
389
|
+
<div class="method-source-code" id="M000283-source">
|
|
390
|
+
<pre>
|
|
391
|
+
<span class="ruby-comment cmt"># File lib/mu/api/netconfig.rb, line 60</span>
|
|
392
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">delete</span>(<span class="ruby-identifier">e</span>)
|
|
393
|
+
<span class="ruby-identifier">response</span> = <span class="ruby-ivar">@http</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">e</span>)
|
|
394
|
+
<span class="ruby-identifier">msg</span> <span class="ruby-identifier">response</span>, <span class="ruby-constant">Logger</span><span class="ruby-operator">::</span><span class="ruby-constant">DEBUG</span>
|
|
395
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">response</span>
|
|
396
|
+
<span class="ruby-keyword kw">end</span>
|
|
397
|
+
</pre>
|
|
398
|
+
</div>
|
|
399
|
+
</div>
|
|
400
|
+
</div>
|
|
401
|
+
|
|
402
|
+
<div id="method-M000280" class="method-detail">
|
|
403
|
+
<a name="M000280"></a>
|
|
404
|
+
|
|
405
|
+
<div class="method-heading">
|
|
406
|
+
<a href="#M000280" class="method-signature">
|
|
407
|
+
<span class="method-name">get</span><span class="method-args">(e)</span>
|
|
408
|
+
</a>
|
|
409
|
+
</div>
|
|
410
|
+
|
|
411
|
+
<div class="method-description">
|
|
412
|
+
<p>
|
|
413
|
+
<a href="Netconfig.html#M000280">get</a> - with no params, returns the
|
|
414
|
+
entire netconfig json object
|
|
415
|
+
</p>
|
|
416
|
+
<pre>
|
|
417
|
+
* e = the element to retrieve (interfaces|hosts|routes, interfaces/a1 ...)
|
|
418
|
+
</pre>
|
|
419
|
+
<p><a class="source-toggle" href="#"
|
|
420
|
+
onclick="toggleCode('M000280-source');return false;">[Source]</a></p>
|
|
421
|
+
<div class="method-source-code" id="M000280-source">
|
|
422
|
+
<pre>
|
|
423
|
+
<span class="ruby-comment cmt"># File lib/mu/api/netconfig.rb, line 20</span>
|
|
424
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get</span>(<span class="ruby-identifier">e</span>)
|
|
425
|
+
<span class="ruby-identifier">response</span> = <span class="ruby-ivar">@http</span>.<span class="ruby-identifier">get_json</span>(<span class="ruby-identifier">e</span>)
|
|
426
|
+
<span class="ruby-identifier">msg</span> <span class="ruby-identifier">response</span>, <span class="ruby-constant">Logger</span><span class="ruby-operator">::</span><span class="ruby-constant">DEBUG</span>
|
|
427
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">response</span>
|
|
428
|
+
<span class="ruby-keyword kw">end</span>
|
|
429
|
+
</pre>
|
|
430
|
+
</div>
|
|
431
|
+
</div>
|
|
432
|
+
</div>
|
|
433
|
+
|
|
434
|
+
<div id="method-M000281" class="method-detail">
|
|
435
|
+
<a name="M000281"></a>
|
|
436
|
+
|
|
437
|
+
<div class="method-heading">
|
|
438
|
+
<a href="#M000281" class="method-signature">
|
|
439
|
+
<span class="method-name">modify</span><span class="method-args">(json, e)</span>
|
|
440
|
+
</a>
|
|
441
|
+
</div>
|
|
442
|
+
|
|
443
|
+
<div class="method-description">
|
|
444
|
+
<p>
|
|
445
|
+
PUT to <a href="Netconfig.html#M000281">modify</a> netconfig element(s) to
|
|
446
|
+
json values
|
|
447
|
+
</p>
|
|
448
|
+
<pre>
|
|
449
|
+
* json = the json string containing the modified values
|
|
450
|
+
* e = the element to modify (interfaces|hosts|routes)
|
|
451
|
+
</pre>
|
|
452
|
+
<p><a class="source-toggle" href="#"
|
|
453
|
+
onclick="toggleCode('M000281-source');return false;">[Source]</a></p>
|
|
454
|
+
<div class="method-source-code" id="M000281-source">
|
|
455
|
+
<pre>
|
|
456
|
+
<span class="ruby-comment cmt"># File lib/mu/api/netconfig.rb, line 29</span>
|
|
457
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">modify</span>(<span class="ruby-identifier">json</span>, <span class="ruby-identifier">e</span>)
|
|
458
|
+
<span class="ruby-identifier">response</span> = <span class="ruby-identifier">do_modify</span>(<span class="ruby-identifier">json</span>, <span class="ruby-identifier">e</span>)
|
|
459
|
+
<span class="ruby-identifier">msg</span> <span class="ruby-identifier">response</span>, <span class="ruby-constant">Logger</span><span class="ruby-operator">::</span><span class="ruby-constant">DEBUG</span>
|
|
460
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">response</span>
|
|
461
|
+
??
|
|
462
|
+
<span class="ruby-keyword kw">end</span>
|
|
463
|
+
</pre>
|
|
464
|
+
</div>
|
|
465
|
+
</div>
|
|
466
|
+
</div>
|
|
467
|
+
|
|
468
|
+
<div id="method-M000287" class="method-detail">
|
|
469
|
+
<a name="M000287"></a>
|
|
470
|
+
|
|
471
|
+
<div class="method-heading">
|
|
472
|
+
<a href="#M000287" class="method-signature">
|
|
473
|
+
<span class="method-name">resolve_hosts</span><span class="method-args">(name=nil)</span>
|
|
474
|
+
</a>
|
|
475
|
+
</div>
|
|
476
|
+
|
|
477
|
+
<div class="method-description">
|
|
478
|
+
<p>
|
|
479
|
+
use Dns to update host ip addresses. A <a
|
|
480
|
+
href="Netconfig.html#M000279">new</a> Host is added if not present when the
|
|
481
|
+
name is provided as argument
|
|
482
|
+
</p>
|
|
483
|
+
<pre>
|
|
484
|
+
* name = the name of the host to resolve
|
|
485
|
+
</pre>
|
|
486
|
+
<p><a class="source-toggle" href="#"
|
|
487
|
+
onclick="toggleCode('M000287-source');return false;">[Source]</a></p>
|
|
488
|
+
<div class="method-source-code" id="M000287-source">
|
|
489
|
+
<pre>
|
|
490
|
+
<span class="ruby-comment cmt"># File lib/mu/api/netconfig.rb, line 112</span>
|
|
491
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">resolve_hosts</span>(<span class="ruby-identifier">name</span>=<span class="ruby-keyword kw">nil</span>)
|
|
492
|
+
<span class="ruby-identifier">hosts</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
|
|
493
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">name</span>.<span class="ruby-identifier">nil?</span>
|
|
494
|
+
<span class="ruby-identifier">hst</span> = <span class="ruby-identifier">get</span> <span class="ruby-value str">"hosts"</span>
|
|
495
|
+
<span class="ruby-identifier">hst</span>[<span class="ruby-value str">"hosts"</span>].<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">h</span><span class="ruby-operator">|</span> <span class="ruby-identifier">hosts</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">h</span>[<span class="ruby-value str">"name"</span>]}
|
|
496
|
+
<span class="ruby-keyword kw">else</span>
|
|
497
|
+
<span class="ruby-identifier">hosts</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">name</span>
|
|
498
|
+
<span class="ruby-keyword kw">end</span>
|
|
499
|
+
<span class="ruby-identifier">hosts</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">h</span><span class="ruby-operator">|</span>
|
|
500
|
+
<span class="ruby-identifier">msg</span> <span class="ruby-node">"resolve host: #{h}"</span>, <span class="ruby-constant">Logger</span><span class="ruby-operator">::</span><span class="ruby-constant">DEBUG</span>
|
|
501
|
+
<span class="ruby-identifier">v4_addr</span> = <span class="ruby-constant">Socket</span><span class="ruby-operator">::</span><span class="ruby-identifier">gethostbyname</span>(<span class="ruby-identifier">h</span>)[<span class="ruby-value">3</span>].<span class="ruby-identifier">unpack</span>(<span class="ruby-value str">"CCCC"</span>).<span class="ruby-identifier">join</span>(<span class="ruby-value str">"."</span>) <span class="ruby-keyword kw">rescue</span> <span class="ruby-keyword kw">nil</span>
|
|
502
|
+
<span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">v4_addr</span>.<span class="ruby-identifier">nil?</span>
|
|
503
|
+
<span class="ruby-identifier">json</span> = <span class="ruby-identifier">get</span> <span class="ruby-node">"hosts/#{h}"</span>
|
|
504
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">json</span>[<span class="ruby-value str">"name"</span>].<span class="ruby-identifier">nil?</span>
|
|
505
|
+
<span class="ruby-identifier">json</span> = {<span class="ruby-value str">"name"</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">h</span>, <span class="ruby-value str">"v4_addr"</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">v4_addr</span>}
|
|
506
|
+
<span class="ruby-identifier">create</span> <span class="ruby-identifier">json</span>, <span class="ruby-value str">"hosts"</span>
|
|
507
|
+
<span class="ruby-keyword kw">else</span>
|
|
508
|
+
<span class="ruby-identifier">json</span>[<span class="ruby-value str">"v4_addr"</span>] = <span class="ruby-identifier">v4_addr</span>
|
|
509
|
+
<span class="ruby-identifier">modify</span> <span class="ruby-identifier">json</span>, <span class="ruby-node">"hosts/#{h}"</span>
|
|
510
|
+
<span class="ruby-keyword kw">end</span>
|
|
511
|
+
<span class="ruby-keyword kw">end</span>
|
|
512
|
+
<span class="ruby-keyword kw">end</span>
|
|
513
|
+
</pre>
|
|
514
|
+
</div>
|
|
515
|
+
</div>
|
|
516
|
+
</div>
|
|
517
|
+
|
|
518
|
+
<div id="method-M000284" class="method-detail">
|
|
519
|
+
<a name="M000284"></a>
|
|
520
|
+
|
|
521
|
+
<div class="method-heading">
|
|
522
|
+
<a href="#M000284" class="method-signature">
|
|
523
|
+
<span class="method-name">restore</span><span class="method-args">(filepath=nil,clear_existing=false)</span>
|
|
524
|
+
</a>
|
|
525
|
+
</div>
|
|
526
|
+
|
|
527
|
+
<div class="method-description">
|
|
528
|
+
<p>
|
|
529
|
+
updates a network configuration from file
|
|
530
|
+
</p>
|
|
531
|
+
<pre>
|
|
532
|
+
* filepath = the path to the json file
|
|
533
|
+
* clear_existing - boolean determining whether or not existing elements should be cleared
|
|
534
|
+
</pre>
|
|
535
|
+
<p><a class="source-toggle" href="#"
|
|
536
|
+
onclick="toggleCode('M000284-source');return false;">[Source]</a></p>
|
|
537
|
+
<div class="method-source-code" id="M000284-source">
|
|
538
|
+
<pre>
|
|
539
|
+
<span class="ruby-comment cmt"># File lib/mu/api/netconfig.rb, line 69</span>
|
|
540
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">restore</span>(<span class="ruby-identifier">filepath</span>=<span class="ruby-keyword kw">nil</span>,<span class="ruby-identifier">clear_existing</span>=<span class="ruby-keyword kw">false</span>)
|
|
541
|
+
<span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">filepath</span>.<span class="ruby-identifier">nil?</span>
|
|
542
|
+
<span class="ruby-ivar">@config</span> = <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">filepath</span>))
|
|
543
|
+
<span class="ruby-keyword kw">end</span>
|
|
544
|
+
<span class="ruby-ivar">@config</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span>
|
|
545
|
+
<span class="ruby-keyword kw">case</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">keys</span>[<span class="ruby-value">0</span>]
|
|
546
|
+
<span class="ruby-keyword kw">when</span> <span class="ruby-value str">"hosts"</span>
|
|
547
|
+
<span class="ruby-identifier">msg</span> <span class="ruby-value str">"RESTORE HOSTS"</span>, <span class="ruby-constant">Logger</span><span class="ruby-operator">::</span><span class="ruby-constant">DEBUG</span>
|
|
548
|
+
<span class="ruby-identifier">clear_existing</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">clear_hosts</span>
|
|
549
|
+
<span class="ruby-identifier">restore_hosts</span> <span class="ruby-identifier">c</span>[<span class="ruby-value str">"hosts"</span>]
|
|
550
|
+
<span class="ruby-keyword kw">when</span> <span class="ruby-value str">"routes"</span>
|
|
551
|
+
<span class="ruby-identifier">msg</span> <span class="ruby-value str">"RESTORE ROUTES"</span>, <span class="ruby-constant">Logger</span><span class="ruby-operator">::</span><span class="ruby-constant">DEBUG</span>
|
|
552
|
+
<span class="ruby-identifier">clear_existing</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">clear_routes</span>
|
|
553
|
+
<span class="ruby-identifier">restore_routes</span> <span class="ruby-identifier">c</span>[<span class="ruby-value str">"routes"</span>]
|
|
554
|
+
<span class="ruby-keyword kw">when</span> <span class="ruby-value str">"interfaces"</span>
|
|
555
|
+
<span class="ruby-identifier">clear_existing</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">clear_vlans</span>
|
|
556
|
+
<span class="ruby-identifier">msg</span> <span class="ruby-value str">"RESTORE INTERFACES"</span>, <span class="ruby-constant">Logger</span><span class="ruby-operator">::</span><span class="ruby-constant">DEBUG</span>
|
|
557
|
+
<span class="ruby-identifier">restore_interfaces</span> <span class="ruby-identifier">c</span>[<span class="ruby-value str">"interfaces"</span>]
|
|
558
|
+
<span class="ruby-keyword kw">end</span>
|
|
559
|
+
<span class="ruby-keyword kw">end</span>
|
|
560
|
+
<span class="ruby-keyword kw">end</span>
|
|
561
|
+
</pre>
|
|
562
|
+
</div>
|
|
563
|
+
</div>
|
|
564
|
+
</div>
|
|
565
|
+
|
|
566
|
+
<div id="method-M000286" class="method-detail">
|
|
567
|
+
<a name="M000286"></a>
|
|
568
|
+
|
|
569
|
+
<div class="method-heading">
|
|
570
|
+
<a href="#M000286" class="method-signature">
|
|
571
|
+
<span class="method-name">restore_hosts</span><span class="method-args">(hosts)</span>
|
|
572
|
+
</a>
|
|
573
|
+
</div>
|
|
574
|
+
|
|
575
|
+
<div class="method-description">
|
|
576
|
+
<p>
|
|
577
|
+
restores the network hosts to the initial system states
|
|
578
|
+
</p>
|
|
579
|
+
<p><a class="source-toggle" href="#"
|
|
580
|
+
onclick="toggleCode('M000286-source');return false;">[Source]</a></p>
|
|
581
|
+
<div class="method-source-code" id="M000286-source">
|
|
582
|
+
<pre>
|
|
583
|
+
<span class="ruby-comment cmt"># File lib/mu/api/netconfig.rb, line 101</span>
|
|
584
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">restore_hosts</span>(<span class="ruby-identifier">hosts</span>)
|
|
585
|
+
<span class="ruby-identifier">hosts</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">h</span><span class="ruby-operator">|</span>
|
|
586
|
+
<span class="ruby-identifier">msg</span> <span class="ruby-node">"create host: #{h['name']}"</span>, <span class="ruby-constant">Logger</span><span class="ruby-operator">::</span><span class="ruby-constant">DEBUG</span>
|
|
587
|
+
<span class="ruby-identifier">delete</span> <span class="ruby-node">"hosts/#{h['name']}"</span> <span class="ruby-comment cmt"># harmlessly fails when host does not exist</span>
|
|
588
|
+
<span class="ruby-identifier">create</span>(<span class="ruby-identifier">h</span>,<span class="ruby-value str">"hosts"</span>)
|
|
589
|
+
<span class="ruby-keyword kw">end</span>
|
|
590
|
+
<span class="ruby-keyword kw">end</span>
|
|
591
|
+
</pre>
|
|
592
|
+
</div>
|
|
593
|
+
</div>
|
|
594
|
+
</div>
|
|
595
|
+
|
|
596
|
+
<div id="method-M000290" class="method-detail">
|
|
597
|
+
<a name="M000290"></a>
|
|
598
|
+
|
|
599
|
+
<div class="method-heading">
|
|
600
|
+
<a href="#M000290" class="method-signature">
|
|
601
|
+
<span class="method-name">restore_interfaces</span><span class="method-args">(interfaces)</span>
|
|
602
|
+
</a>
|
|
603
|
+
</div>
|
|
604
|
+
|
|
605
|
+
<div class="method-description">
|
|
606
|
+
<p>
|
|
607
|
+
restores network interfaces to system initial settings
|
|
608
|
+
</p>
|
|
609
|
+
<pre>
|
|
610
|
+
* interfaces - the names of the interfaces to restore
|
|
611
|
+
</pre>
|
|
612
|
+
<p><a class="source-toggle" href="#"
|
|
613
|
+
onclick="toggleCode('M000290-source');return false;">[Source]</a></p>
|
|
614
|
+
<div class="method-source-code" id="M000290-source">
|
|
615
|
+
<pre>
|
|
616
|
+
<span class="ruby-comment cmt"># File lib/mu/api/netconfig.rb, line 156</span>
|
|
617
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">restore_interfaces</span>(<span class="ruby-identifier">interfaces</span>)
|
|
618
|
+
<span class="ruby-identifier">interfaces</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
|
|
619
|
+
<span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">i</span>[<span class="ruby-value str">'name'</span>].<span class="ruby-identifier">include?</span> <span class="ruby-value str">"eth"</span> <span class="ruby-comment cmt"># don't do eth0 or eth1</span>
|
|
620
|
+
<span class="ruby-identifier">msg</span> <span class="ruby-node">"configure interface: #{i['name']}"</span>, <span class="ruby-constant">Logger</span><span class="ruby-operator">::</span><span class="ruby-constant">DEBUG</span>
|
|
621
|
+
<span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">i</span>[<span class="ruby-value str">'vlan'</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">""</span>
|
|
622
|
+
<span class="ruby-identifier">interface</span>,<span class="ruby-identifier">vlan</span> = <span class="ruby-identifier">i</span>[<span class="ruby-value str">'name'</span>].<span class="ruby-identifier">split</span>(<span class="ruby-value str">"."</span>)
|
|
623
|
+
<span class="ruby-identifier">create</span> [{<span class="ruby-value str">"name"</span>=<span class="ruby-operator">></span><span class="ruby-identifier">interface</span>,<span class="ruby-value str">"vlan"</span>=<span class="ruby-operator">></span><span class="ruby-identifier">vlan</span>},<span class="ruby-value str">"interfaces"</span>]
|
|
624
|
+
<span class="ruby-keyword kw">end</span>
|
|
625
|
+
<span class="ruby-identifier">modify</span> [<span class="ruby-identifier">i</span>,<span class="ruby-node">"interfaces/#{i['name']}"</span>]
|
|
626
|
+
<span class="ruby-keyword kw">end</span>
|
|
627
|
+
<span class="ruby-keyword kw">end</span>
|
|
628
|
+
</pre>
|
|
629
|
+
</div>
|
|
630
|
+
</div>
|
|
631
|
+
</div>
|
|
632
|
+
|
|
633
|
+
<div id="method-M000292" class="method-detail">
|
|
634
|
+
<a name="M000292"></a>
|
|
635
|
+
|
|
636
|
+
<div class="method-heading">
|
|
637
|
+
<a href="#M000292" class="method-signature">
|
|
638
|
+
<span class="method-name">restore_routes</span><span class="method-args">(routes)</span>
|
|
639
|
+
</a>
|
|
640
|
+
</div>
|
|
641
|
+
|
|
642
|
+
<div class="method-description">
|
|
643
|
+
<p>
|
|
644
|
+
restores network routes to system initial settings
|
|
645
|
+
</p>
|
|
646
|
+
<p><a class="source-toggle" href="#"
|
|
647
|
+
onclick="toggleCode('M000292-source');return false;">[Source]</a></p>
|
|
648
|
+
<div class="method-source-code" id="M000292-source">
|
|
649
|
+
<pre>
|
|
650
|
+
<span class="ruby-comment cmt"># File lib/mu/api/netconfig.rb, line 179</span>
|
|
651
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">restore_routes</span>(<span class="ruby-identifier">routes</span>)
|
|
652
|
+
<span class="ruby-identifier">routes</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">r</span><span class="ruby-operator">|</span>
|
|
653
|
+
<span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">r</span>[<span class="ruby-value str">'readonly'</span>] <span class="ruby-operator">==</span> <span class="ruby-keyword kw">true</span>
|
|
654
|
+
<span class="ruby-identifier">msg</span> <span class="ruby-node">"configure route: #{r['dst']}-#{r['gateway']}-#{r['interface_display_name'].downcase}"</span>, <span class="ruby-constant">Logger</span><span class="ruby-operator">::</span><span class="ruby-constant">DEBUG</span>
|
|
655
|
+
<span class="ruby-identifier">create</span> <span class="ruby-identifier">r</span>,<span class="ruby-value str">"routes"</span>
|
|
656
|
+
<span class="ruby-keyword kw">end</span>
|
|
657
|
+
<span class="ruby-keyword kw">end</span>
|
|
658
|
+
</pre>
|
|
659
|
+
</div>
|
|
660
|
+
</div>
|
|
661
|
+
</div>
|
|
662
|
+
|
|
663
|
+
<div id="method-M000293" class="method-detail">
|
|
664
|
+
<a name="M000293"></a>
|
|
665
|
+
|
|
666
|
+
<div class="method-heading">
|
|
667
|
+
<a href="#M000293" class="method-signature">
|
|
668
|
+
<span class="method-name">save</span><span class="method-args">(e="all", filepath="config.json")</span>
|
|
669
|
+
</a>
|
|
670
|
+
</div>
|
|
671
|
+
|
|
672
|
+
<div class="method-description">
|
|
673
|
+
<p>
|
|
674
|
+
writes the json config to filepath
|
|
675
|
+
</p>
|
|
676
|
+
<pre>
|
|
677
|
+
* e = the element to save, or 'all'
|
|
678
|
+
* filepath - the fully qualified name of the file to save to
|
|
679
|
+
</pre>
|
|
680
|
+
<p><a class="source-toggle" href="#"
|
|
681
|
+
onclick="toggleCode('M000293-source');return false;">[Source]</a></p>
|
|
682
|
+
<div class="method-source-code" id="M000293-source">
|
|
683
|
+
<pre>
|
|
684
|
+
<span class="ruby-comment cmt"># File lib/mu/api/netconfig.rb, line 190</span>
|
|
685
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">save</span>(<span class="ruby-identifier">e</span>=<span class="ruby-value str">"all"</span>, <span class="ruby-identifier">filepath</span>=<span class="ruby-value str">"config.json"</span>)
|
|
686
|
+
<span class="ruby-identifier">json</span> = <span class="ruby-identifier">get</span> <span class="ruby-identifier">e</span>
|
|
687
|
+
<span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">filepath</span>,<span class="ruby-value str">'w'</span>){<span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span> <span class="ruby-identifier">f</span>.<span class="ruby-identifier">write</span>(<span class="ruby-constant">JSON</span>.<span class="ruby-identifier">pretty_generate</span>(<span class="ruby-identifier">json</span>))}
|
|
688
|
+
<span class="ruby-keyword kw">end</span>
|
|
689
|
+
</pre>
|
|
690
|
+
</div>
|
|
691
|
+
</div>
|
|
692
|
+
</div>
|
|
693
|
+
|
|
694
|
+
<h3 class="section-bar">Private Instance methods</h3>
|
|
695
|
+
|
|
696
|
+
<div id="method-M000294" class="method-detail">
|
|
697
|
+
<a name="M000294"></a>
|
|
698
|
+
|
|
699
|
+
<div class="method-heading">
|
|
700
|
+
<a href="#M000294" class="method-signature">
|
|
701
|
+
<span class="method-name">do_modify</span><span class="method-args">(json, e)</span>
|
|
702
|
+
</a>
|
|
703
|
+
</div>
|
|
704
|
+
|
|
705
|
+
<div class="method-description">
|
|
706
|
+
<p>
|
|
707
|
+
restclient put was not recgonized as json PUT to <a
|
|
708
|
+
href="Netconfig.html#M000281">modify</a> netconfig element(s) to json
|
|
709
|
+
values
|
|
710
|
+
</p>
|
|
711
|
+
<p><a class="source-toggle" href="#"
|
|
712
|
+
onclick="toggleCode('M000294-source');return false;">[Source]</a></p>
|
|
713
|
+
<div class="method-source-code" id="M000294-source">
|
|
714
|
+
<pre>
|
|
715
|
+
<span class="ruby-comment cmt"># File lib/mu/api/netconfig.rb, line 199</span>
|
|
716
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">do_modify</span>(<span class="ruby-identifier">json</span>, <span class="ruby-identifier">e</span>)
|
|
717
|
+
<span class="ruby-identifier">jstring</span> = <span class="ruby-identifier">json</span>
|
|
718
|
+
<span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">json</span>.<span class="ruby-identifier">is_a?</span> <span class="ruby-constant">String</span>
|
|
719
|
+
<span class="ruby-identifier">jstring</span> = <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">generate</span> <span class="ruby-identifier">json</span>
|
|
720
|
+
<span class="ruby-keyword kw">end</span>
|
|
721
|
+
<span class="ruby-identifier">msg</span> <span class="ruby-identifier">jstring</span>, <span class="ruby-constant">Logger</span><span class="ruby-operator">::</span><span class="ruby-constant">DEBUG</span>
|
|
722
|
+
<span class="ruby-identifier">uri</span> = <span class="ruby-constant">URI</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-node">"https://#{@host}"</span>)
|
|
723
|
+
<span class="ruby-identifier">escaped</span> = <span class="ruby-constant">URI</span>.<span class="ruby-identifier">escape</span>(<span class="ruby-node">"#{@docroot}#{e}"</span>)
|
|
724
|
+
<span class="ruby-identifier">msg</span> <span class="ruby-node">"Put: #{uri}#{escaped}"</span>, <span class="ruby-constant">Logger</span><span class="ruby-operator">::</span><span class="ruby-constant">DEBUG</span>
|
|
725
|
+
<span class="ruby-identifier">http</span> = <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">HTTP</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">uri</span>.<span class="ruby-identifier">host</span>, <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">port</span>)
|
|
726
|
+
<span class="ruby-identifier">http</span>.<span class="ruby-identifier">use_ssl</span> = <span class="ruby-keyword kw">true</span>
|
|
727
|
+
<span class="ruby-identifier">http</span>.<span class="ruby-identifier">verify_mode</span> = <span class="ruby-constant">OpenSSL</span><span class="ruby-operator">::</span><span class="ruby-constant">SSL</span><span class="ruby-operator">::</span><span class="ruby-constant">VERIFY_NONE</span>
|
|
728
|
+
<span class="ruby-identifier">http</span>.<span class="ruby-identifier">start</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">http</span><span class="ruby-operator">|</span>
|
|
729
|
+
<span class="ruby-identifier">req</span> = <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">HTTP</span><span class="ruby-operator">::</span><span class="ruby-constant">Put</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">"#{escaped}"</span>,<span class="ruby-identifier">initheader</span> = {<span class="ruby-value str">"User-Agent"</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@username</span>, <span class="ruby-value str">'Content-Type'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'application/json; charset=utf-8'</span>})
|
|
730
|
+
<span class="ruby-identifier">req</span>.<span class="ruby-identifier">body</span> = <span class="ruby-identifier">jstring</span>
|
|
731
|
+
<span class="ruby-identifier">response</span> = <span class="ruby-identifier">http_request</span>(<span class="ruby-identifier">http</span>, <span class="ruby-identifier">req</span>)
|
|
732
|
+
<span class="ruby-keyword kw">end</span>
|
|
733
|
+
<span class="ruby-identifier">msg</span> <span class="ruby-identifier">response</span>, <span class="ruby-constant">Logger</span><span class="ruby-operator">::</span><span class="ruby-constant">DEBUG</span>
|
|
734
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">response</span>
|
|
735
|
+
<span class="ruby-keyword kw">end</span>
|
|
736
|
+
</pre>
|
|
737
|
+
</div>
|
|
738
|
+
</div>
|
|
739
|
+
</div>
|
|
740
|
+
|
|
741
|
+
<div id="method-M000295" class="method-detail">
|
|
742
|
+
<a name="M000295"></a>
|
|
743
|
+
|
|
744
|
+
<div class="method-heading">
|
|
745
|
+
<a href="#M000295" class="method-signature">
|
|
746
|
+
<span class="method-name">http_request</span><span class="method-args">(http, req)</span>
|
|
747
|
+
</a>
|
|
748
|
+
</div>
|
|
749
|
+
|
|
750
|
+
<div class="method-description">
|
|
751
|
+
<p><a class="source-toggle" href="#"
|
|
752
|
+
onclick="toggleCode('M000295-source');return false;">[Source]</a></p>
|
|
753
|
+
<div class="method-source-code" id="M000295-source">
|
|
754
|
+
<pre>
|
|
755
|
+
<span class="ruby-comment cmt"># File lib/mu/api/netconfig.rb, line 220</span>
|
|
756
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">http_request</span>(<span class="ruby-identifier">http</span>, <span class="ruby-identifier">req</span>)
|
|
757
|
+
<span class="ruby-identifier">req</span>.<span class="ruby-identifier">basic_auth</span>(<span class="ruby-ivar">@username</span>, <span class="ruby-ivar">@password</span>)
|
|
758
|
+
<span class="ruby-identifier">response</span> = <span class="ruby-identifier">http</span>.<span class="ruby-identifier">request</span>(<span class="ruby-identifier">req</span>)
|
|
759
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">response</span>.<span class="ruby-identifier">code</span> <span class="ruby-operator">!=</span> <span class="ruby-value str">"200"</span>
|
|
760
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-node">"Error status code #{response.code}\n#{response.body}"</span>
|
|
761
|
+
<span class="ruby-keyword kw">end</span>
|
|
762
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-identifier">response</span>.<span class="ruby-identifier">body</span>
|
|
763
|
+
<span class="ruby-keyword kw">end</span>
|
|
764
|
+
</pre>
|
|
765
|
+
</div>
|
|
766
|
+
</div>
|
|
767
|
+
</div>
|
|
768
|
+
|
|
769
|
+
|
|
770
|
+
</div>
|
|
771
|
+
|
|
772
|
+
|
|
773
|
+
</div>
|
|
774
|
+
|
|
775
|
+
|
|
776
|
+
<div id="validator-badges">
|
|
777
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
|
778
|
+
</div>
|
|
779
|
+
|
|
780
|
+
</body>
|
|
781
|
+
</html>
|