UNPKG

15 kBHTMLView Raw
1<!DOCTYPE html>
2<html lang="en">
3<head>
4 <meta charset="utf-8">
5 <title>JSDoc: Class: GenericNodeProvider</title>
6
7 <script src="scripts/prettify/prettify.js"> </script>
8 <script src="scripts/prettify/lang-css.js"> </script>
9 <!--[if lt IE 9]>
10 <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
11 <![endif]-->
12 <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
13 <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
14</head>
15
16<body>
17
18<div id="main">
19
20 <h1 class="page-title">Class: GenericNodeProvider</h1>
21
22
23
24
25
26
27<section>
28
29<header>
30
31 <h2><span class="attribs"><span class="type-signature"></span></span>GenericNodeProvider<span class="signature">(options<span class="signature-attributes">opt</span>)</span><span class="type-signature"></span></h2>
32
33 <div class="class-description"><p>Generic node provider implementation.</p></div>
34
35
36</header>
37
38<article>
39 <div class="container-overview">
40
41
42
43
44 <h2>Constructor</h2>
45
46
47
48 <h4 class="name" id="GenericNodeProvider"><span class="type-signature"></span>new GenericNodeProvider<span class="signature">(options<span class="signature-attributes">opt</span>)</span><span class="type-signature"></span></h4>
49
50
51
52
53
54
55<div class="description">
56 <p>Constructor</p>
57</div>
58
59
60
61
62
63
64
65
66
67 <h5>Parameters:</h5>
68
69
70<table class="params">
71 <thead>
72 <tr>
73
74 <th>Name</th>
75
76
77 <th>Type</th>
78
79
80 <th>Attributes</th>
81
82
83
84
85 <th class="last">Description</th>
86 </tr>
87 </thead>
88
89 <tbody>
90
91
92 <tr>
93
94 <td class="name"><code>options</code></td>
95
96
97 <td class="type">
98
99
100<span class="param-type">Object</span>
101
102
103
104 </td>
105
106
107 <td class="attributes">
108
109 &lt;optional><br>
110
111
112
113
114
115 </td>
116
117
118
119
120 <td class="description last"><p>Options for the instance.</p>
121 <h6>Properties</h6>
122
123
124<table class="params">
125 <thead>
126 <tr>
127
128 <th>Name</th>
129
130
131 <th>Type</th>
132
133
134 <th>Attributes</th>
135
136
137
138
139 <th class="last">Description</th>
140 </tr>
141 </thead>
142
143 <tbody>
144
145
146 <tr>
147
148 <td class="name"><code>clOptions</code></td>
149
150
151 <td class="type">
152
153
154<span class="param-type">Object</span>
155
156
157
158 </td>
159
160
161 <td class="attributes">
162
163 &lt;optional><br>
164
165
166
167
168
169 </td>
170
171
172
173
174 <td class="description last"><p>Command line options if called from a script.</p></td>
175 </tr>
176
177
178
179 <tr>
180
181 <td class="name"><code>logger</code></td>
182
183
184 <td class="type">
185
186
187<span class="param-type">Object</span>
188
189
190
191 </td>
192
193
194 <td class="attributes">
195
196 &lt;optional><br>
197
198
199
200
201
202 </td>
203
204
205
206
207 <td class="description last"><p>Logger to use. Or, pass loggerOptions to get your own logger.</p></td>
208 </tr>
209
210
211
212 <tr>
213
214 <td class="name"><code>loggerOptions</code></td>
215
216
217 <td class="type">
218
219
220<span class="param-type">Object</span>
221
222
223
224 </td>
225
226
227 <td class="attributes">
228
229 &lt;optional><br>
230
231
232
233
234
235 </td>
236
237
238
239
240 <td class="description last"><p>Options for the logger.
241 See <a href="module-logger.html#.getLogger">module:logger.getLogger</a> for details.</p></td>
242 </tr>
243
244
245 </tbody>
246</table>
247
248 </td>
249 </tr>
250
251
252 </tbody>
253</table>
254
255
256
257
258
259
260<dl class="details">
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293</dl>
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313 </div>
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330 <h3 class="subsection-title">Methods</h3>
331
332
333
334
335
336
337
338 <h4 class="name" id="getNodesFromUri"><span class="type-signature"></span>getNodesFromUri<span class="signature">(uri, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise}</span></h4>
339
340
341
342
343
344
345<div class="description">
346 <p>Gets nodes from the provided URI. The resource should be in JSON
347format as an array of objects. JSON strings that parse to an array
348of objects are also supported.</p>
349</div>
350
351
352
353
354
355
356
357
358
359 <h5>Parameters:</h5>
360
361
362<table class="params">
363 <thead>
364 <tr>
365
366 <th>Name</th>
367
368
369 <th>Type</th>
370
371
372 <th>Attributes</th>
373
374
375
376
377 <th class="last">Description</th>
378 </tr>
379 </thead>
380
381 <tbody>
382
383
384 <tr>
385
386 <td class="name"><code>uri</code></td>
387
388
389 <td class="type">
390
391
392<span class="param-type">String</span>
393
394
395
396 </td>
397
398
399 <td class="attributes">
400
401
402
403
404
405 </td>
406
407
408
409
410 <td class="description last"><p>The URI of the resource.</p></td>
411 </tr>
412
413
414
415 <tr>
416
417 <td class="name"><code>options</code></td>
418
419
420 <td class="type">
421
422
423<span class="param-type">Object</span>
424
425
426
427 </td>
428
429
430 <td class="attributes">
431
432 &lt;optional><br>
433
434
435
436
437
438 </td>
439
440
441
442
443 <td class="description last"><p>http/https request options</p></td>
444 </tr>
445
446
447 </tbody>
448</table>
449
450
451
452
453
454
455<dl class="details">
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488</dl>
489
490
491
492
493
494
495
496
497
498
499
500
501
502<h5>Returns:</h5>
503
504
505<div class="param-desc">
506 <p>A promise which will be resolved with an array of instances.
507 Each instance value should be:</p>
508<pre class="prettyprint source"><code>{
509 id: Node ID,
510 ip: {
511 public: public IP,
512 private: private IP
513 }
514}</code></pre>
515</div>
516
517
518
519<dl>
520 <dt>
521 Type
522 </dt>
523 <dd>
524
525<span class="param-type">Promise</span>
526
527
528 </dd>
529</dl>
530
531
532
533
534
535
536
537
538
539
540
541
542
543 <h4 class="name" id="init"><span class="type-signature"></span>init<span class="signature">(providerOptions, options<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Promise}</span></h4>
544
545
546
547
548
549
550<div class="description">
551 <p>Initialize class</p>
552<p>Override for implementation specific initialization needs (read info
553from cloud provider, read database, etc.). Called at the start of
554processing.</p>
555</div>
556
557
558
559
560
561
562
563
564
565 <h5>Parameters:</h5>
566
567
568<table class="params">
569 <thead>
570 <tr>
571
572 <th>Name</th>
573
574
575 <th>Type</th>
576
577
578 <th>Attributes</th>
579
580
581
582
583 <th class="last">Description</th>
584 </tr>
585 </thead>
586
587 <tbody>
588
589
590 <tr>
591
592 <td class="name"><code>providerOptions</code></td>
593
594
595 <td class="type">
596
597
598<span class="param-type">Object</span>
599
600
601
602 </td>
603
604
605 <td class="attributes">
606
607
608
609
610
611 </td>
612
613
614
615
616 <td class="description last"><p>Provider specific options.</p>
617 <h6>Properties</h6>
618
619
620<table class="params">
621 <thead>
622 <tr>
623
624 <th>Name</th>
625
626
627 <th>Type</th>
628
629
630 <th>Attributes</th>
631
632
633
634
635 <th class="last">Description</th>
636 </tr>
637 </thead>
638
639 <tbody>
640
641
642 <tr>
643
644 <td class="name"><code>propertyPathId</code></td>
645
646
647 <td class="type">
648
649
650<span class="param-type">String</span>
651
652
653
654 </td>
655
656
657 <td class="attributes">
658
659
660
661
662
663 </td>
664
665
666
667
668 <td class="description last"><p>Object property path ('.' separated)
669 that describes how to fetch the ID
670 from the provided resource. An empty
671 property name in the path fetches all
672 keys in the current object.</p>
673<pre class="prettyprint source"><code>&quot;example.uuid&quot;,</code></pre></td>
674 </tr>
675
676
677
678 <tr>
679
680 <td class="name"><code>propertyPathIpPrivate</code></td>
681
682
683 <td class="type">
684
685
686<span class="param-type">String</span>
687
688
689
690 </td>
691
692
693 <td class="attributes">
694
695
696
697
698
699 </td>
700
701
702
703
704 <td class="description last"><p>Object property path ('.' separated)
705 that describes how to fetch the private
706 IP from the provided resource. An empty
707 property name in the path fetches all
708 keys in the current object.</p>
709<pre class="prettyprint source"><code>&quot;example.address.private&quot;</code></pre></td>
710 </tr>
711
712
713
714 <tr>
715
716 <td class="name"><code>propertyPathIpPublic</code></td>
717
718
719 <td class="type">
720
721
722<span class="param-type">String</span>
723
724
725
726 </td>
727
728
729 <td class="attributes">
730
731 &lt;optional><br>
732
733
734
735
736
737 </td>
738
739
740
741
742 <td class="description last"><p>Object property path ('.' separated)
743 that describes how to fetch the public
744 IP from the provided resource. An empty
745 property name in the path fetches all
746 keys in the current object.</p>
747<pre class="prettyprint source"><code>&quot;example.address.public&quot;</code></pre></td>
748 </tr>
749
750
751 </tbody>
752</table>
753
754 </td>
755 </tr>
756
757
758
759 <tr>
760
761 <td class="name"><code>options</code></td>
762
763
764 <td class="type">
765
766
767<span class="param-type">Object</span>
768
769
770
771 </td>
772
773
774 <td class="attributes">
775
776 &lt;optional><br>
777
778
779
780
781
782 </td>
783
784
785
786
787 <td class="description last"><p>Options for this instance.</p></td>
788 </tr>
789
790
791 </tbody>
792</table>
793
794
795
796
797
798
799<dl class="details">
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832</dl>
833
834
835
836
837
838
839
840
841
842
843
844
845
846<h5>Returns:</h5>
847
848
849<div class="param-desc">
850 <p>A promise which will be resolved when init is complete.</p>
851</div>
852
853
854
855<dl>
856 <dt>
857 Type
858 </dt>
859 <dd>
860
861<span class="param-type">Promise</span>
862
863
864 </dd>
865</dl>
866
867
868
869
870
871
872
873
874
875
876
877
878
879</article>
880
881</section>
882
883
884
885
886</div>
887
888<nav>
889 <h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-authn.html">authn</a></li><li><a href="module-bigIqLicenseProviderFactory.html">bigIqLicenseProviderFactory</a></li><li><a href="module-cryptoUtil.html">cryptoUtil</a></li><li><a href="module-httpUtil.html">httpUtil</a></li><li><a href="module-ipc.html">ipc</a></li><li><a href="module-localCryptoUtil.html">localCryptoUtil</a></li><li><a href="module-localKeyUtil.html">localKeyUtil</a></li><li><a href="module-logger.html">logger</a></li><li><a href="module-metricsCollector.html">metricsCollector</a></li><li><a href="module-sharedConstants.html">sharedConstants</a></li><li><a href="module-signals.html">signals</a></li><li><a href="module-util.html">util</a></li></ul><h3>Classes</h3><ul><li><a href="BigIp.html">BigIp</a></li><li><a href="BigIpCluster.html">BigIpCluster</a></li><li><a href="BigIpGtm.html">BigIpGtm</a></li><li><a href="BigIpOnboard.html">BigIpOnboard</a></li><li><a href="BigIq.html">BigIq</a></li><li><a href="BigIq50LicenseProvider.html">BigIq50LicenseProvider</a></li><li><a href="BigIq52LicenseProvider.html">BigIq52LicenseProvider</a></li><li><a href="BigIq53LicenseProvider.html">BigIq53LicenseProvider</a></li><li><a href="BigIq54LicenseProvider.html">BigIq54LicenseProvider</a></li><li><a href="CloudProvider.html">CloudProvider</a></li><li><a href="DnsProvider.html">DnsProvider</a></li><li><a href="GenericNodeProvider.html">GenericNodeProvider</a></li><li><a href="GtmDnsProvider.html">GtmDnsProvider</a></li><li><a href="IControl.html">IControl</a></li></ul><h3>Mixins</h3><ul><li><a href="bigIqClusterMixins.html">bigIqClusterMixins</a></li><li><a href="bigIqOnboardMixins.html">bigIqOnboardMixins</a></li></ul><h3>Global</h3><ul><li><a href="global.html#checkTask">checkTask</a></li><li><a href="global.html#forceResetUserPassword">forceResetUserPassword</a></li><li><a href="global.html#getDataFromPropPath">getDataFromPropPath</a></li><li><a href="global.html#getLicenseProvider">getLicenseProvider</a></li></ul>
890</nav>
891
892<br class="clear">
893
894<footer>
895 Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a>
896</footer>
897
898<script> prettyPrint(); </script>
899<script src="scripts/linenumber.js"> </script>
900</body>
901</html>
\No newline at end of file