94
94
<h3 class="section-bar">Methods</h3>
96
96
<div class="name-list">
97
<a href="#M000096">agent_filter</a>
98
<a href="#M000094">class_filter</a>
99
<a href="#M000093">custom_request</a>
100
<a href="#M000089">disconnect</a>
101
<a href="#M000100">discover</a>
102
<a href="#M000095">fact_filter</a>
103
<a href="#M000090">help</a>
104
<a href="#M000097">identity_filter</a>
105
<a href="#M000102">limit_targets=</a>
106
<a href="#M000092">method_missing</a>
107
<a href="#M000088">new</a>
108
<a href="#M000091">new_request</a>
109
<a href="#M000101">options</a>
110
<a href="#M000098">reset</a>
111
<a href="#M000099">reset_filter</a>
97
<a href="#M000098">agent_filter</a>
98
<a href="#M000096">class_filter</a>
99
<a href="#M000095">custom_request</a>
100
<a href="#M000091">disconnect</a>
101
<a href="#M000102">discover</a>
102
<a href="#M000097">fact_filter</a>
103
<a href="#M000092">help</a>
104
<a href="#M000099">identity_filter</a>
105
<a href="#M000104">limit_targets=</a>
106
<a href="#M000094">method_missing</a>
107
<a href="#M000090">new</a>
108
<a href="#M000093">new_request</a>
109
<a href="#M000103">options</a>
110
<a href="#M000100">reset</a>
111
<a href="#M000101">reset_filter</a>
264
264
57: <span class="ruby-comment cmt"># the timeout of the client so we always magically</span>
265
265
58: <span class="ruby-comment cmt"># wait appropriate amounts of time.</span>
266
266
59: <span class="ruby-comment cmt">#</span>
267
60: <span class="ruby-comment cmt"># We do this only if the timeout is the default 5</span>
268
61: <span class="ruby-comment cmt"># seconds, so that users cli overrides will still</span>
269
62: <span class="ruby-comment cmt"># get applied</span>
270
63: <span class="ruby-keyword kw">begin</span>
271
64: <span class="ruby-ivar">@ddl</span> = <span class="ruby-constant">DDL</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">agent</span>)
272
65: <span class="ruby-ivar">@timeout</span> = <span class="ruby-ivar">@ddl</span>.<span class="ruby-identifier">meta</span>[<span class="ruby-identifier">:timeout</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@timeout</span> <span class="ruby-operator">==</span> <span class="ruby-value">5</span>
273
66: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Exception</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">e</span>
274
67: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">"Could not find DDL: #{e}"</span>)
275
68: <span class="ruby-ivar">@ddl</span> = <span class="ruby-keyword kw">nil</span>
276
69: <span class="ruby-keyword kw">end</span>
278
71: <span class="ruby-constant">STDERR</span>.<span class="ruby-identifier">sync</span> = <span class="ruby-keyword kw">true</span>
279
72: <span class="ruby-constant">STDOUT</span>.<span class="ruby-identifier">sync</span> = <span class="ruby-keyword kw">true</span>
280
73: <span class="ruby-keyword kw">end</span>
267
60: <span class="ruby-comment cmt"># We add the discovery timeout to the ddl supplied</span>
268
61: <span class="ruby-comment cmt"># timeout as the discovery timeout tends to be tuned</span>
269
62: <span class="ruby-comment cmt"># for local network conditions and fact source speed</span>
270
63: <span class="ruby-comment cmt"># which would other wise not be accounted for and</span>
271
64: <span class="ruby-comment cmt"># some results might get missed.</span>
272
65: <span class="ruby-comment cmt">#</span>
273
66: <span class="ruby-comment cmt"># We do this only if the timeout is the default 5</span>
274
67: <span class="ruby-comment cmt"># seconds, so that users cli overrides will still</span>
275
68: <span class="ruby-comment cmt"># get applied</span>
276
69: <span class="ruby-keyword kw">begin</span>
277
70: <span class="ruby-ivar">@ddl</span> = <span class="ruby-constant">DDL</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">agent</span>)
278
71: <span class="ruby-ivar">@timeout</span> = <span class="ruby-ivar">@ddl</span>.<span class="ruby-identifier">meta</span>[<span class="ruby-identifier">:timeout</span>] <span class="ruby-operator">+</span> <span class="ruby-ivar">@discovery_timeout</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@timeout</span> <span class="ruby-operator">==</span> <span class="ruby-value">5</span>
279
72: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Exception</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">e</span>
280
73: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">"Could not find DDL: #{e}"</span>)
281
74: <span class="ruby-ivar">@ddl</span> = <span class="ruby-keyword kw">nil</span>
282
75: <span class="ruby-keyword kw">end</span>
284
77: <span class="ruby-constant">STDERR</span>.<span class="ruby-identifier">sync</span> = <span class="ruby-keyword kw">true</span>
285
78: <span class="ruby-constant">STDOUT</span>.<span class="ruby-identifier">sync</span> = <span class="ruby-keyword kw">true</span>
286
79: <span class="ruby-keyword kw">end</span>
286
292
<h3 class="section-bar">Public Instance methods</h3>
294
<div id="method-M000098" class="method-detail">
295
<a name="M000098"></a>
297
<div class="method-heading">
298
<a href="#M000098" class="method-signature">
299
<span class="method-name">agent_filter</span><span class="method-args">(agent)</span>
303
<div class="method-description">
305
Sets the agent filter
307
<p><a class="source-toggle" href="#"
308
onclick="toggleCode('M000098-source');return false;">[Source]</a></p>
309
<div class="method-source-code" id="M000098-source">
311
<span class="ruby-comment cmt"># File lib/mcollective/rpc/client.rb, line 280</span>
312
280: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">agent_filter</span>(<span class="ruby-identifier">agent</span>)
313
281: <span class="ruby-ivar">@filter</span>[<span class="ruby-value str">"agent"</span>] <span class="ruby-operator"><<</span> <span class="ruby-identifier">agent</span>
314
282: <span class="ruby-ivar">@filter</span>[<span class="ruby-value str">"agent"</span>].<span class="ruby-identifier">compact!</span>
315
283: <span class="ruby-identifier">reset</span>
316
284: <span class="ruby-keyword kw">end</span>
288
322
<div id="method-M000096" class="method-detail">
289
323
<a name="M000096"></a>
291
325
<div class="method-heading">
292
326
<a href="#M000096" class="method-signature">
293
<span class="method-name">agent_filter</span><span class="method-args">(agent)</span>
327
<span class="method-name">class_filter</span><span class="method-args">(klass)</span>
297
331
<div class="method-description">
299
Sets the agent filter
333
Sets the class filter
301
335
<p><a class="source-toggle" href="#"
302
336
onclick="toggleCode('M000096-source');return false;">[Source]</a></p>
303
337
<div class="method-source-code" id="M000096-source">
305
<span class="ruby-comment cmt"># File lib/mcollective/rpc/client.rb, line 274</span>
306
274: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">agent_filter</span>(<span class="ruby-identifier">agent</span>)
307
275: <span class="ruby-ivar">@filter</span>[<span class="ruby-value str">"agent"</span>] <span class="ruby-operator"><<</span> <span class="ruby-identifier">agent</span>
308
276: <span class="ruby-ivar">@filter</span>[<span class="ruby-value str">"agent"</span>].<span class="ruby-identifier">compact!</span>
309
277: <span class="ruby-identifier">reset</span>
310
278: <span class="ruby-keyword kw">end</span>
316
<div id="method-M000094" class="method-detail">
317
<a name="M000094"></a>
319
<div class="method-heading">
320
<a href="#M000094" class="method-signature">
321
<span class="method-name">class_filter</span><span class="method-args">(klass)</span>
325
<div class="method-description">
327
Sets the class filter
329
<p><a class="source-toggle" href="#"
330
onclick="toggleCode('M000094-source');return false;">[Source]</a></p>
331
<div class="method-source-code" id="M000094-source">
333
<span class="ruby-comment cmt"># File lib/mcollective/rpc/client.rb, line 260</span>
334
260: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">class_filter</span>(<span class="ruby-identifier">klass</span>)
335
261: <span class="ruby-ivar">@filter</span>[<span class="ruby-value str">"cf_class"</span>] <span class="ruby-operator"><<</span> <span class="ruby-identifier">klass</span>
336
262: <span class="ruby-ivar">@filter</span>[<span class="ruby-value str">"cf_class"</span>].<span class="ruby-identifier">compact!</span>
337
263: <span class="ruby-identifier">reset</span>
338
264: <span class="ruby-keyword kw">end</span>
344
<div id="method-M000093" class="method-detail">
345
<a name="M000093"></a>
347
<div class="method-heading">
348
<a href="#M000093" class="method-signature">
339
<span class="ruby-comment cmt"># File lib/mcollective/rpc/client.rb, line 266</span>
340
266: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">class_filter</span>(<span class="ruby-identifier">klass</span>)
341
267: <span class="ruby-ivar">@filter</span>[<span class="ruby-value str">"cf_class"</span>] <span class="ruby-operator"><<</span> <span class="ruby-identifier">klass</span>
342
268: <span class="ruby-ivar">@filter</span>[<span class="ruby-value str">"cf_class"</span>].<span class="ruby-identifier">compact!</span>
343
269: <span class="ruby-identifier">reset</span>
344
270: <span class="ruby-keyword kw">end</span>
350
<div id="method-M000095" class="method-detail">
351
<a name="M000095"></a>
353
<div class="method-heading">
354
<a href="#M000095" class="method-signature">
349
355
<span class="method-name">custom_request</span><span class="method-args">(action, args, expected_agents, filter = {}, &block)</span>
391
397
waiting for responses
393
399
<p><a class="source-toggle" href="#"
394
onclick="toggleCode('M000093-source');return false;">[Source]</a></p>
395
<div class="method-source-code" id="M000093-source">
400
onclick="toggleCode('M000095-source');return false;">[Source]</a></p>
401
<div class="method-source-code" id="M000095-source">
397
<span class="ruby-comment cmt"># File lib/mcollective/rpc/client.rb, line 218</span>
398
218: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">custom_request</span>(<span class="ruby-identifier">action</span>, <span class="ruby-identifier">args</span>, <span class="ruby-identifier">expected_agents</span>, <span class="ruby-identifier">filter</span> = {}, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
399
219: <span class="ruby-ivar">@ddl</span>.<span class="ruby-identifier">validate_request</span>(<span class="ruby-identifier">action</span>, <span class="ruby-identifier">args</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@ddl</span>
401
221: <span class="ruby-ivar">@stats</span>.<span class="ruby-identifier">reset</span>
403
223: <span class="ruby-identifier">custom_filter</span> = <span class="ruby-constant">Util</span>.<span class="ruby-identifier">empty_filter</span>
404
224: <span class="ruby-identifier">custom_options</span> = <span class="ruby-identifier">options</span>.<span class="ruby-identifier">clone</span>
406
226: <span class="ruby-comment cmt"># merge the supplied filter with the standard empty one</span>
407
227: <span class="ruby-comment cmt"># we could just use the merge method but I want to be sure</span>
408
228: <span class="ruby-comment cmt"># we dont merge in stuff that isnt actually valid</span>
409
229: [<span class="ruby-value str">"identity"</span>, <span class="ruby-value str">"fact"</span>, <span class="ruby-value str">"agent"</span>, <span class="ruby-value str">"cf_class"</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ftype</span><span class="ruby-operator">|</span>
410
230: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">filter</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">ftype</span>)
411
231: <span class="ruby-identifier">custom_filter</span>[<span class="ruby-identifier">ftype</span>] = [<span class="ruby-identifier">filter</span>[<span class="ruby-identifier">ftype</span>], <span class="ruby-identifier">custom_filter</span>[<span class="ruby-identifier">ftype</span>]].<span class="ruby-identifier">flatten</span>
412
232: <span class="ruby-keyword kw">end</span>
413
233: <span class="ruby-keyword kw">end</span>
415
235: <span class="ruby-comment cmt"># ensure that all filters at least restrict the call to the agent we're a proxy for</span>
416
236: <span class="ruby-identifier">custom_filter</span>[<span class="ruby-value str">"agent"</span>] <span class="ruby-operator"><<</span> <span class="ruby-ivar">@agent</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">custom_filter</span>[<span class="ruby-value str">"agent"</span>].<span class="ruby-identifier">include?</span>(<span class="ruby-ivar">@agent</span>)
417
237: <span class="ruby-identifier">custom_options</span>[<span class="ruby-identifier">:filter</span>] = <span class="ruby-identifier">custom_filter</span>
419
239: <span class="ruby-comment cmt"># Fake out the stats discovery would have put there</span>
420
240: <span class="ruby-ivar">@stats</span>.<span class="ruby-identifier">discovered_agents</span>([<span class="ruby-identifier">expected_agents</span>].<span class="ruby-identifier">flatten</span>)
422
242: <span class="ruby-comment cmt"># Handle fire and forget requests</span>
423
243: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">:process_results</span>) <span class="ruby-operator">&&</span> <span class="ruby-identifier">args</span>[<span class="ruby-identifier">:process_results</span>] <span class="ruby-operator">==</span> <span class="ruby-keyword kw">false</span>
424
244: <span class="ruby-ivar">@filter</span> = <span class="ruby-identifier">custom_filter</span>
425
245: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">fire_and_forget_request</span>(<span class="ruby-identifier">action</span>, <span class="ruby-identifier">args</span>)
426
246: <span class="ruby-keyword kw">end</span>
403
<span class="ruby-comment cmt"># File lib/mcollective/rpc/client.rb, line 224</span>
404
224: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">custom_request</span>(<span class="ruby-identifier">action</span>, <span class="ruby-identifier">args</span>, <span class="ruby-identifier">expected_agents</span>, <span class="ruby-identifier">filter</span> = {}, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
405
225: <span class="ruby-ivar">@ddl</span>.<span class="ruby-identifier">validate_request</span>(<span class="ruby-identifier">action</span>, <span class="ruby-identifier">args</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@ddl</span>
407
227: <span class="ruby-ivar">@stats</span>.<span class="ruby-identifier">reset</span>
409
229: <span class="ruby-identifier">custom_filter</span> = <span class="ruby-constant">Util</span>.<span class="ruby-identifier">empty_filter</span>
410
230: <span class="ruby-identifier">custom_options</span> = <span class="ruby-identifier">options</span>.<span class="ruby-identifier">clone</span>
412
232: <span class="ruby-comment cmt"># merge the supplied filter with the standard empty one</span>
413
233: <span class="ruby-comment cmt"># we could just use the merge method but I want to be sure</span>
414
234: <span class="ruby-comment cmt"># we dont merge in stuff that isnt actually valid</span>
415
235: [<span class="ruby-value str">"identity"</span>, <span class="ruby-value str">"fact"</span>, <span class="ruby-value str">"agent"</span>, <span class="ruby-value str">"cf_class"</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ftype</span><span class="ruby-operator">|</span>
416
236: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">filter</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">ftype</span>)
417
237: <span class="ruby-identifier">custom_filter</span>[<span class="ruby-identifier">ftype</span>] = [<span class="ruby-identifier">filter</span>[<span class="ruby-identifier">ftype</span>], <span class="ruby-identifier">custom_filter</span>[<span class="ruby-identifier">ftype</span>]].<span class="ruby-identifier">flatten</span>
418
238: <span class="ruby-keyword kw">end</span>
419
239: <span class="ruby-keyword kw">end</span>
421
241: <span class="ruby-comment cmt"># ensure that all filters at least restrict the call to the agent we're a proxy for</span>
422
242: <span class="ruby-identifier">custom_filter</span>[<span class="ruby-value str">"agent"</span>] <span class="ruby-operator"><<</span> <span class="ruby-ivar">@agent</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">custom_filter</span>[<span class="ruby-value str">"agent"</span>].<span class="ruby-identifier">include?</span>(<span class="ruby-ivar">@agent</span>)
423
243: <span class="ruby-identifier">custom_options</span>[<span class="ruby-identifier">:filter</span>] = <span class="ruby-identifier">custom_filter</span>
425
245: <span class="ruby-comment cmt"># Fake out the stats discovery would have put there</span>
426
246: <span class="ruby-ivar">@stats</span>.<span class="ruby-identifier">discovered_agents</span>([<span class="ruby-identifier">expected_agents</span>].<span class="ruby-identifier">flatten</span>)
428
248: <span class="ruby-comment cmt"># Now do a call pretty much exactly like in method_missing except with our own</span>
429
249: <span class="ruby-comment cmt"># options and discovery magic</span>
430
250: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block_given?</span>
431
251: <span class="ruby-identifier">call_agent</span>(<span class="ruby-identifier">action</span>, <span class="ruby-identifier">args</span>, <span class="ruby-identifier">custom_options</span>, [<span class="ruby-identifier">expected_agents</span>].<span class="ruby-identifier">flatten</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">r</span><span class="ruby-operator">|</span>
432
252: <span class="ruby-identifier">block</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">r</span>)
433
253: <span class="ruby-keyword kw">end</span>
434
254: <span class="ruby-keyword kw">else</span>
435
255: <span class="ruby-identifier">call_agent</span>(<span class="ruby-identifier">action</span>, <span class="ruby-identifier">args</span>, <span class="ruby-identifier">custom_options</span>, [<span class="ruby-identifier">expected_agents</span>].<span class="ruby-identifier">flatten</span>)
436
256: <span class="ruby-keyword kw">end</span>
437
257: <span class="ruby-keyword kw">end</span>
428
248: <span class="ruby-comment cmt"># Handle fire and forget requests</span>
429
249: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">:process_results</span>) <span class="ruby-operator">&&</span> <span class="ruby-identifier">args</span>[<span class="ruby-identifier">:process_results</span>] <span class="ruby-operator">==</span> <span class="ruby-keyword kw">false</span>
430
250: <span class="ruby-ivar">@filter</span> = <span class="ruby-identifier">custom_filter</span>
431
251: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">fire_and_forget_request</span>(<span class="ruby-identifier">action</span>, <span class="ruby-identifier">args</span>)
432
252: <span class="ruby-keyword kw">end</span>
434
254: <span class="ruby-comment cmt"># Now do a call pretty much exactly like in method_missing except with our own</span>
435
255: <span class="ruby-comment cmt"># options and discovery magic</span>
436
256: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block_given?</span>
437
257: <span class="ruby-identifier">call_agent</span>(<span class="ruby-identifier">action</span>, <span class="ruby-identifier">args</span>, <span class="ruby-identifier">custom_options</span>, [<span class="ruby-identifier">expected_agents</span>].<span class="ruby-identifier">flatten</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">r</span><span class="ruby-operator">|</span>
438
258: <span class="ruby-identifier">block</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">r</span>)
439
259: <span class="ruby-keyword kw">end</span>
440
260: <span class="ruby-keyword kw">else</span>
441
261: <span class="ruby-identifier">call_agent</span>(<span class="ruby-identifier">action</span>, <span class="ruby-identifier">args</span>, <span class="ruby-identifier">custom_options</span>, [<span class="ruby-identifier">expected_agents</span>].<span class="ruby-identifier">flatten</span>)
442
262: <span class="ruby-keyword kw">end</span>
443
263: <span class="ruby-keyword kw">end</span>
443
<div id="method-M000089" class="method-detail">
444
<a name="M000089"></a>
449
<div id="method-M000091" class="method-detail">
450
<a name="M000091"></a>
446
452
<div class="method-heading">
447
<a href="#M000089" class="method-signature">
453
<a href="#M000091" class="method-signature">
448
454
<span class="method-name">disconnect</span><span class="method-args">()</span>
454
460
Disconnects cleanly from the middleware
456
462
<p><a class="source-toggle" href="#"
457
onclick="toggleCode('M000089-source');return false;">[Source]</a></p>
458
<div class="method-source-code" id="M000089-source">
463
onclick="toggleCode('M000091-source');return false;">[Source]</a></p>
464
<div class="method-source-code" id="M000091-source">
460
<span class="ruby-comment cmt"># File lib/mcollective/rpc/client.rb, line 76</span>
461
76: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">disconnect</span>
462
77: <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">disconnect</span>
463
78: <span class="ruby-keyword kw">end</span>
466
<span class="ruby-comment cmt"># File lib/mcollective/rpc/client.rb, line 82</span>
467
82: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">disconnect</span>
468
83: <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">disconnect</span>
469
84: <span class="ruby-keyword kw">end</span>
469
<div id="method-M000100" class="method-detail">
470
<a name="M000100"></a>
475
<div id="method-M000102" class="method-detail">
476
<a name="M000102"></a>
472
478
<div class="method-heading">
473
<a href="#M000100" class="method-signature">
479
<a href="#M000102" class="method-signature">
474
480
<span class="method-name">discover</span><span class="method-args">(flags={})</span>
478
484
<div class="method-description">
480
486
Does discovery based on the filters set, i a discovery was previously done
481
return that else do a <a href="Client.html#M000088">new</a> discovery.
487
return that else do a <a href="Client.html#M000090">new</a> discovery.
484
490
Will show a message indicating its doing discovery if running verbose or if
485
491
the :verbose flag is passed in.
488
Use <a href="Client.html#M000098">reset</a> to force a <a
489
href="Client.html#M000088">new</a> discovery
494
Use <a href="Client.html#M000100">reset</a> to force a <a
495
href="Client.html#M000090">new</a> discovery
491
497
<p><a class="source-toggle" href="#"
492
onclick="toggleCode('M000100-source');return false;">[Source]</a></p>
493
<div class="method-source-code" id="M000100-source">
498
onclick="toggleCode('M000102-source');return false;">[Source]</a></p>
499
<div class="method-source-code" id="M000102-source">
495
<span class="ruby-comment cmt"># File lib/mcollective/rpc/client.rb, line 306</span>
496
306: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">discover</span>(<span class="ruby-identifier">flags</span>={})
497
307: <span class="ruby-identifier">flags</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">:verbose</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">verbose</span> = <span class="ruby-identifier">flags</span>[<span class="ruby-identifier">:verbose</span>] <span class="ruby-operator">:</span> <span class="ruby-identifier">verbose</span> = <span class="ruby-ivar">@verbose</span>
499
309: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@discovered_agents</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>
500
310: <span class="ruby-ivar">@stats</span>.<span class="ruby-identifier">time_discovery</span> <span class="ruby-identifier">:start</span>
502
312: <span class="ruby-constant">STDERR</span>.<span class="ruby-identifier">print</span>(<span class="ruby-node">"Determining the amount of hosts matching filter for #{discovery_timeout} seconds .... "</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">verbose</span>
503
313: <span class="ruby-ivar">@discovered_agents</span> = <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">discover</span>(<span class="ruby-ivar">@filter</span>, <span class="ruby-ivar">@discovery_timeout</span>)
504
314: <span class="ruby-constant">STDERR</span>.<span class="ruby-identifier">puts</span>(<span class="ruby-ivar">@discovered_agents</span>.<span class="ruby-identifier">size</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">verbose</span>
506
316: <span class="ruby-ivar">@stats</span>.<span class="ruby-identifier">time_discovery</span> <span class="ruby-identifier">:end</span>
501
<span class="ruby-comment cmt"># File lib/mcollective/rpc/client.rb, line 312</span>
502
312: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">discover</span>(<span class="ruby-identifier">flags</span>={})
503
313: <span class="ruby-identifier">flags</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">:verbose</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">verbose</span> = <span class="ruby-identifier">flags</span>[<span class="ruby-identifier">:verbose</span>] <span class="ruby-operator">:</span> <span class="ruby-identifier">verbose</span> = <span class="ruby-ivar">@verbose</span>
505
315: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@discovered_agents</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">nil</span>
506
316: <span class="ruby-ivar">@stats</span>.<span class="ruby-identifier">time_discovery</span> <span class="ruby-identifier">:start</span>
508
318: <span class="ruby-keyword kw">end</span>
510
320: <span class="ruby-ivar">@stats</span>.<span class="ruby-identifier">discovered_agents</span>(<span class="ruby-ivar">@discovered_agents</span>)
511
321: <span class="ruby-constant">RPC</span>.<span class="ruby-identifier">discovered</span>(<span class="ruby-ivar">@discovered_agents</span>)
513
323: <span class="ruby-ivar">@discovered_agents</span>
514
324: <span class="ruby-keyword kw">end</span>
508
318: <span class="ruby-constant">STDERR</span>.<span class="ruby-identifier">print</span>(<span class="ruby-node">"Determining the amount of hosts matching filter for #{discovery_timeout} seconds .... "</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">verbose</span>
509
319: <span class="ruby-ivar">@discovered_agents</span> = <span class="ruby-ivar">@client</span>.<span class="ruby-identifier">discover</span>(<span class="ruby-ivar">@filter</span>, <span class="ruby-ivar">@discovery_timeout</span>)
510
320: <span class="ruby-constant">STDERR</span>.<span class="ruby-identifier">puts</span>(<span class="ruby-ivar">@discovered_agents</span>.<span class="ruby-identifier">size</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">verbose</span>
512
322: <span class="ruby-ivar">@stats</span>.<span class="ruby-identifier">time_discovery</span> <span class="ruby-identifier">:end</span>
514
324: <span class="ruby-keyword kw">end</span>
516
326: <span class="ruby-ivar">@stats</span>.<span class="ruby-identifier">discovered_agents</span>(<span class="ruby-ivar">@discovered_agents</span>)
517
327: <span class="ruby-constant">RPC</span>.<span class="ruby-identifier">discovered</span>(<span class="ruby-ivar">@discovered_agents</span>)
519
329: <span class="ruby-ivar">@discovered_agents</span>
520
330: <span class="ruby-keyword kw">end</span>
520
<div id="method-M000095" class="method-detail">
521
<a name="M000095"></a>
526
<div id="method-M000097" class="method-detail">
527
<a name="M000097"></a>
523
529
<div class="method-heading">
524
<a href="#M000095" class="method-signature">
530
<a href="#M000097" class="method-signature">
525
531
<span class="method-name">fact_filter</span><span class="method-args">(fact, value)</span>
531
537
Sets the fact filter
533
539
<p><a class="source-toggle" href="#"
534
onclick="toggleCode('M000095-source');return false;">[Source]</a></p>
535
<div class="method-source-code" id="M000095-source">
540
onclick="toggleCode('M000097-source');return false;">[Source]</a></p>
541
<div class="method-source-code" id="M000097-source">
537
<span class="ruby-comment cmt"># File lib/mcollective/rpc/client.rb, line 267</span>
538
267: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">fact_filter</span>(<span class="ruby-identifier">fact</span>, <span class="ruby-identifier">value</span>)
539
268: <span class="ruby-ivar">@filter</span>[<span class="ruby-value str">"fact"</span>] <span class="ruby-operator"><<</span> {<span class="ruby-identifier">:fact</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">fact</span>, <span class="ruby-identifier">:value</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">value</span>}
540
269: <span class="ruby-ivar">@filter</span>[<span class="ruby-value str">"fact"</span>].<span class="ruby-identifier">compact!</span>
541
270: <span class="ruby-identifier">reset</span>
542
271: <span class="ruby-keyword kw">end</span>
543
<span class="ruby-comment cmt"># File lib/mcollective/rpc/client.rb, line 273</span>
544
273: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">fact_filter</span>(<span class="ruby-identifier">fact</span>, <span class="ruby-identifier">value</span>)
545
274: <span class="ruby-ivar">@filter</span>[<span class="ruby-value str">"fact"</span>] <span class="ruby-operator"><<</span> {<span class="ruby-identifier">:fact</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">fact</span>, <span class="ruby-identifier">:value</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">value</span>}
546
275: <span class="ruby-ivar">@filter</span>[<span class="ruby-value str">"fact"</span>].<span class="ruby-identifier">compact!</span>
547
276: <span class="ruby-identifier">reset</span>
548
277: <span class="ruby-keyword kw">end</span>
548
<div id="method-M000090" class="method-detail">
549
<a name="M000090"></a>
554
<div id="method-M000092" class="method-detail">
555
<a name="M000092"></a>
551
557
<div class="method-heading">
552
<a href="#M000090" class="method-signature">
558
<a href="#M000092" class="method-signature">
553
559
<span class="method-name">help</span><span class="method-args">(template)</span>
557
563
<div class="method-description">
559
Returns <a href="Client.html#M000090">help</a> for an agent if a <a
565
Returns <a href="Client.html#M000092">help</a> for an agent if a <a
560
566
href="DDL.html">DDL</a> was found
562
568
<p><a class="source-toggle" href="#"
563
onclick="toggleCode('M000090-source');return false;">[Source]</a></p>
564
<div class="method-source-code" id="M000090-source">
569
onclick="toggleCode('M000092-source');return false;">[Source]</a></p>
570
<div class="method-source-code" id="M000092-source">
566
<span class="ruby-comment cmt"># File lib/mcollective/rpc/client.rb, line 81</span>
567
81: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">help</span>(<span class="ruby-identifier">template</span>)
568
82: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@ddl</span>
569
83: <span class="ruby-ivar">@ddl</span>.<span class="ruby-identifier">help</span>(<span class="ruby-identifier">template</span>)
570
84: <span class="ruby-keyword kw">else</span>
571
85: <span class="ruby-keyword kw">return</span> <span class="ruby-node">"Can't find DDL for agent '#{@agent}'"</span>
572
86: <span class="ruby-keyword kw">end</span>
573
87: <span class="ruby-keyword kw">end</span>
572
<span class="ruby-comment cmt"># File lib/mcollective/rpc/client.rb, line 87</span>
573
87: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">help</span>(<span class="ruby-identifier">template</span>)
574
88: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@ddl</span>
575
89: <span class="ruby-ivar">@ddl</span>.<span class="ruby-identifier">help</span>(<span class="ruby-identifier">template</span>)
576
90: <span class="ruby-keyword kw">else</span>
577
91: <span class="ruby-keyword kw">return</span> <span class="ruby-node">"Can't find DDL for agent '#{@agent}'"</span>
578
92: <span class="ruby-keyword kw">end</span>
579
93: <span class="ruby-keyword kw">end</span>
579
<div id="method-M000097" class="method-detail">
580
<a name="M000097"></a>
585
<div id="method-M000099" class="method-detail">
586
<a name="M000099"></a>
582
588
<div class="method-heading">
583
<a href="#M000097" class="method-signature">
589
<a href="#M000099" class="method-signature">
584
590
<span class="method-name">identity_filter</span><span class="method-args">(identity)</span>
590
596
Sets the identity filter
592
598
<p><a class="source-toggle" href="#"
593
onclick="toggleCode('M000097-source');return false;">[Source]</a></p>
594
<div class="method-source-code" id="M000097-source">
599
onclick="toggleCode('M000099-source');return false;">[Source]</a></p>
600
<div class="method-source-code" id="M000099-source">
596
<span class="ruby-comment cmt"># File lib/mcollective/rpc/client.rb, line 281</span>
597
281: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">identity_filter</span>(<span class="ruby-identifier">identity</span>)
598
282: <span class="ruby-ivar">@filter</span>[<span class="ruby-value str">"identity"</span>] <span class="ruby-operator"><<</span> <span class="ruby-identifier">identity</span>
599
283: <span class="ruby-ivar">@filter</span>[<span class="ruby-value str">"identity"</span>].<span class="ruby-identifier">compact!</span>
600
284: <span class="ruby-identifier">reset</span>
601
285: <span class="ruby-keyword kw">end</span>
602
<span class="ruby-comment cmt"># File lib/mcollective/rpc/client.rb, line 287</span>
603
287: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">identity_filter</span>(<span class="ruby-identifier">identity</span>)
604
288: <span class="ruby-ivar">@filter</span>[<span class="ruby-value str">"identity"</span>] <span class="ruby-operator"><<</span> <span class="ruby-identifier">identity</span>
605
289: <span class="ruby-ivar">@filter</span>[<span class="ruby-value str">"identity"</span>].<span class="ruby-identifier">compact!</span>
606
290: <span class="ruby-identifier">reset</span>
607
291: <span class="ruby-keyword kw">end</span>
607
<div id="method-M000102" class="method-detail">
608
<a name="M000102"></a>
613
<div id="method-M000104" class="method-detail">
614
<a name="M000104"></a>
610
616
<div class="method-heading">
611
<a href="#M000102" class="method-signature">
617
<a href="#M000104" class="method-signature">
612
618
<span class="method-name">limit_targets=</span><span class="method-args">(limit)</span>
619
625
nodes we‘ll target
621
627
<p><a class="source-toggle" href="#"
622
onclick="toggleCode('M000102-source');return false;">[Source]</a></p>
623
<div class="method-source-code" id="M000102-source">
628
onclick="toggleCode('M000104-source');return false;">[Source]</a></p>
629
<div class="method-source-code" id="M000104-source">
625
<span class="ruby-comment cmt"># File lib/mcollective/rpc/client.rb, line 338</span>
626
338: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">limit_targets=</span>(<span class="ruby-identifier">limit</span>)
627
339: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">limit</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">String</span>)
628
340: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Invalid limit specified: #{limit} valid limits are /^\d+%*$/"</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">limit</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/^\d+%*$/</span>
629
341: <span class="ruby-ivar">@limit_targets</span> = <span class="ruby-identifier">limit</span>
630
342: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">limit</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">:to_i</span>)
631
343: <span class="ruby-identifier">limit</span> = <span class="ruby-identifier">limit</span>.<span class="ruby-identifier">to_i</span>
632
344: <span class="ruby-identifier">limit</span> = <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">limit</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
633
345: <span class="ruby-ivar">@limit_targets</span> = <span class="ruby-identifier">limit</span>
634
346: <span class="ruby-keyword kw">else</span>
635
347: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Don't know how to handle limit of type #{limit.class}"</span>
636
348: <span class="ruby-keyword kw">end</span>
637
349: <span class="ruby-keyword kw">end</span>
631
<span class="ruby-comment cmt"># File lib/mcollective/rpc/client.rb, line 344</span>
632
344: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">limit_targets=</span>(<span class="ruby-identifier">limit</span>)
633
345: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">limit</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">String</span>)
634
346: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Invalid limit specified: #{limit} valid limits are /^\d+%*$/"</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">limit</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/^\d+%*$/</span>
635
347: <span class="ruby-ivar">@limit_targets</span> = <span class="ruby-identifier">limit</span>
636
348: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">limit</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">:to_i</span>)
637
349: <span class="ruby-identifier">limit</span> = <span class="ruby-identifier">limit</span>.<span class="ruby-identifier">to_i</span>
638
350: <span class="ruby-identifier">limit</span> = <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">limit</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
639
351: <span class="ruby-ivar">@limit_targets</span> = <span class="ruby-identifier">limit</span>
640
352: <span class="ruby-keyword kw">else</span>
641
353: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Don't know how to handle limit of type #{limit.class}"</span>
642
354: <span class="ruby-keyword kw">end</span>
643
355: <span class="ruby-keyword kw">end</span>
643
<div id="method-M000092" class="method-detail">
644
<a name="M000092"></a>
649
<div id="method-M000094" class="method-detail">
650
<a name="M000094"></a>
646
652
<div class="method-heading">
647
<a href="#M000092" class="method-signature">
653
<a href="#M000094" class="method-signature">
648
654
<span class="method-name">method_missing</span><span class="method-args">(method_name, *args, &block)</span>
741
747
This will output just the request id.
743
749
<p><a class="source-toggle" href="#"
744
onclick="toggleCode('M000092-source');return false;">[Source]</a></p>
745
<div class="method-source-code" id="M000092-source">
750
onclick="toggleCode('M000094-source');return false;">[Source]</a></p>
751
<div class="method-source-code" id="M000094-source">
747
<span class="ruby-comment cmt"># File lib/mcollective/rpc/client.rb, line 169</span>
748
169: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">method_missing</span>(<span class="ruby-identifier">method_name</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
749
170: <span class="ruby-comment cmt"># set args to an empty hash if nothings given</span>
750
171: <span class="ruby-identifier">args</span> = <span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>]
751
172: <span class="ruby-identifier">args</span> = {} <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">nil?</span>
753
174: <span class="ruby-identifier">action</span> = <span class="ruby-identifier">method_name</span>.<span class="ruby-identifier">to_s</span>
755
176: <span class="ruby-ivar">@stats</span>.<span class="ruby-identifier">reset</span>
757
178: <span class="ruby-ivar">@ddl</span>.<span class="ruby-identifier">validate_request</span>(<span class="ruby-identifier">action</span>, <span class="ruby-identifier">args</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@ddl</span>
753
<span class="ruby-comment cmt"># File lib/mcollective/rpc/client.rb, line 175</span>
754
175: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">method_missing</span>(<span class="ruby-identifier">method_name</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
755
176: <span class="ruby-comment cmt"># set args to an empty hash if nothings given</span>
756
177: <span class="ruby-identifier">args</span> = <span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>]
757
178: <span class="ruby-identifier">args</span> = {} <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">nil?</span>
759
180: <span class="ruby-comment cmt"># Handle single target requests by doing discovery and picking</span>
760
181: <span class="ruby-comment cmt"># a random node. Then do a custom request specifying a filter</span>
761
182: <span class="ruby-comment cmt"># that will only match the one node.</span>
762
183: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@limit_targets</span>
763
184: <span class="ruby-identifier">target_nodes</span> = <span class="ruby-identifier">pick_nodes_from_discovered</span>(<span class="ruby-ivar">@limit_targets</span>)
764
185: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">"Picked #{target_nodes.join(',')} as limited target(s)"</span>)
766
187: <span class="ruby-identifier">custom_request</span>(<span class="ruby-identifier">action</span>, <span class="ruby-identifier">args</span>, <span class="ruby-identifier">target_nodes</span>, {<span class="ruby-value str">"identity"</span> =<span class="ruby-operator">></span> <span class="ruby-node">/^(#{target_nodes.join('|')})$/</span>}, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
767
188: <span class="ruby-keyword kw">else</span>
768
189: <span class="ruby-comment cmt"># Normal agent requests as per client.action(args)</span>
769
190: <span class="ruby-identifier">call_agent</span>(<span class="ruby-identifier">action</span>, <span class="ruby-identifier">args</span>, <span class="ruby-identifier">options</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
770
191: <span class="ruby-keyword kw">end</span>
771
192: <span class="ruby-keyword kw">end</span>
759
180: <span class="ruby-identifier">action</span> = <span class="ruby-identifier">method_name</span>.<span class="ruby-identifier">to_s</span>
761
182: <span class="ruby-ivar">@stats</span>.<span class="ruby-identifier">reset</span>
763
184: <span class="ruby-ivar">@ddl</span>.<span class="ruby-identifier">validate_request</span>(<span class="ruby-identifier">action</span>, <span class="ruby-identifier">args</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@ddl</span>
765
186: <span class="ruby-comment cmt"># Handle single target requests by doing discovery and picking</span>
766
187: <span class="ruby-comment cmt"># a random node. Then do a custom request specifying a filter</span>
767
188: <span class="ruby-comment cmt"># that will only match the one node.</span>
768
189: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@limit_targets</span>
769
190: <span class="ruby-identifier">target_nodes</span> = <span class="ruby-identifier">pick_nodes_from_discovered</span>(<span class="ruby-ivar">@limit_targets</span>)
770
191: <span class="ruby-constant">Log</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">"Picked #{target_nodes.join(',')} as limited target(s)"</span>)
772
193: <span class="ruby-identifier">custom_request</span>(<span class="ruby-identifier">action</span>, <span class="ruby-identifier">args</span>, <span class="ruby-identifier">target_nodes</span>, {<span class="ruby-value str">"identity"</span> =<span class="ruby-operator">></span> <span class="ruby-node">/^(#{target_nodes.join('|')})$/</span>}, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
773
194: <span class="ruby-keyword kw">else</span>
774
195: <span class="ruby-comment cmt"># Normal agent requests as per client.action(args)</span>
775
196: <span class="ruby-identifier">call_agent</span>(<span class="ruby-identifier">action</span>, <span class="ruby-identifier">args</span>, <span class="ruby-identifier">options</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
776
197: <span class="ruby-keyword kw">end</span>
777
198: <span class="ruby-keyword kw">end</span>
777
<div id="method-M000091" class="method-detail">
778
<a name="M000091"></a>
783
<div id="method-M000093" class="method-detail">
784
<a name="M000093"></a>
780
786
<div class="method-heading">
781
<a href="#M000091" class="method-signature">
787
<a href="#M000093" class="method-signature">
782
788
<span class="method-name">new_request</span><span class="method-args">(action, data)</span>
811
817
code requires such a thing
813
819
<p><a class="source-toggle" href="#"
814
onclick="toggleCode('M000091-source');return false;">[Source]</a></p>
815
<div class="method-source-code" id="M000091-source">
820
onclick="toggleCode('M000093-source');return false;">[Source]</a></p>
821
<div class="method-source-code" id="M000093-source">
817
<span class="ruby-comment cmt"># File lib/mcollective/rpc/client.rb, line 108</span>
818
108: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">new_request</span>(<span class="ruby-identifier">action</span>, <span class="ruby-identifier">data</span>)
819
109: <span class="ruby-identifier">callerid</span> = <span class="ruby-constant">PluginManager</span>[<span class="ruby-value str">"security_plugin"</span>].<span class="ruby-identifier">callerid</span>
821
111: {<span class="ruby-identifier">:agent</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@agent</span>,
822
112: <span class="ruby-identifier">:action</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">action</span>,
823
113: <span class="ruby-identifier">:caller</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">callerid</span>,
824
114: <span class="ruby-identifier">:data</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">data</span>}
825
115: <span class="ruby-keyword kw">end</span>
823
<span class="ruby-comment cmt"># File lib/mcollective/rpc/client.rb, line 114</span>
824
114: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">new_request</span>(<span class="ruby-identifier">action</span>, <span class="ruby-identifier">data</span>)
825
115: <span class="ruby-identifier">callerid</span> = <span class="ruby-constant">PluginManager</span>[<span class="ruby-value str">"security_plugin"</span>].<span class="ruby-identifier">callerid</span>
827
117: {<span class="ruby-identifier">:agent</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@agent</span>,
828
118: <span class="ruby-identifier">:action</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">action</span>,
829
119: <span class="ruby-identifier">:caller</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">callerid</span>,
830
120: <span class="ruby-identifier">:data</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">data</span>}
831
121: <span class="ruby-keyword kw">end</span>
831
<div id="method-M000101" class="method-detail">
832
<a name="M000101"></a>
837
<div id="method-M000103" class="method-detail">
838
<a name="M000103"></a>
834
840
<div class="method-heading">
835
<a href="#M000101" class="method-signature">
841
<a href="#M000103" class="method-signature">
836
842
<span class="method-name">options</span><span class="method-args">()</span>
840
846
<div class="method-description">
842
Provides a normal <a href="Client.html#M000101">options</a> hash like you
848
Provides a normal <a href="Client.html#M000103">options</a> hash like you
843
849
would get from <a href="../Optionparser.html">Optionparser</a>
845
851
<p><a class="source-toggle" href="#"
846
onclick="toggleCode('M000101-source');return false;">[Source]</a></p>
847
<div class="method-source-code" id="M000101-source">
852
onclick="toggleCode('M000103-source');return false;">[Source]</a></p>
853
<div class="method-source-code" id="M000103-source">
849
<span class="ruby-comment cmt"># File lib/mcollective/rpc/client.rb, line 328</span>
850
328: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">options</span>
851
329: {<span class="ruby-identifier">:disctimeout</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@discovery_timeout</span>,
852
330: <span class="ruby-identifier">:timeout</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@timeout</span>,
853
331: <span class="ruby-identifier">:verbose</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@verbose</span>,
854
332: <span class="ruby-identifier">:filter</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@filter</span>,
855
333: <span class="ruby-identifier">:config</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@config</span>}
856
334: <span class="ruby-keyword kw">end</span>
855
<span class="ruby-comment cmt"># File lib/mcollective/rpc/client.rb, line 334</span>
856
334: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">options</span>
857
335: {<span class="ruby-identifier">:disctimeout</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@discovery_timeout</span>,
858
336: <span class="ruby-identifier">:timeout</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@timeout</span>,
859
337: <span class="ruby-identifier">:verbose</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@verbose</span>,
860
338: <span class="ruby-identifier">:filter</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@filter</span>,
861
339: <span class="ruby-identifier">:config</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@config</span>}
862
340: <span class="ruby-keyword kw">end</span>
862
<div id="method-M000098" class="method-detail">
863
<a name="M000098"></a>
868
<div id="method-M000100" class="method-detail">
869
<a name="M000100"></a>
865
871
<div class="method-heading">
866
<a href="#M000098" class="method-signature">
872
<a href="#M000100" class="method-signature">
867
873
<span class="method-name">reset</span><span class="method-args">()</span>
874
880
the cached discovery
876
882
<p><a class="source-toggle" href="#"
877
onclick="toggleCode('M000098-source');return false;">[Source]</a></p>
878
<div class="method-source-code" id="M000098-source">
883
onclick="toggleCode('M000100-source');return false;">[Source]</a></p>
884
<div class="method-source-code" id="M000100-source">
880
<span class="ruby-comment cmt"># File lib/mcollective/rpc/client.rb, line 289</span>
881
289: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reset</span>
882
290: <span class="ruby-ivar">@discovered_agents</span> = <span class="ruby-keyword kw">nil</span>
883
291: <span class="ruby-keyword kw">end</span>
886
<span class="ruby-comment cmt"># File lib/mcollective/rpc/client.rb, line 295</span>
887
295: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reset</span>
888
296: <span class="ruby-ivar">@discovered_agents</span> = <span class="ruby-keyword kw">nil</span>
889
297: <span class="ruby-keyword kw">end</span>
889
<div id="method-M000099" class="method-detail">
890
<a name="M000099"></a>
895
<div id="method-M000101" class="method-detail">
896
<a name="M000101"></a>
892
898
<div class="method-heading">
893
<a href="#M000099" class="method-signature">
899
<a href="#M000101" class="method-signature">
894
900
<span class="method-name">reset_filter</span><span class="method-args">()</span>