1.. _vyos.vyos.vyos_ospfv2_module:
2
3
4*********************
5vyos.vyos.vyos_ospfv2
6*********************
7
8**OSPFv2 resource module**
9
10
11Version added: 1.0.0
12
13.. contents::
14   :local:
15   :depth: 1
16
17
18Synopsis
19--------
20- This resource module configures and manages attributes of OSPFv2 routes on VyOS network devices.
21
22
23
24
25Parameters
26----------
27
28.. raw:: html
29
30    <table  border=0 cellpadding=0 class="documentation-table">
31        <tr>
32            <th colspan="6">Parameter</th>
33            <th>Choices/<font color="blue">Defaults</font></th>
34            <th width="100%">Comments</th>
35        </tr>
36            <tr>
37                <td colspan="6">
38                    <div class="ansibleOptionAnchor" id="parameter-"></div>
39                    <b>config</b>
40                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
41                    <div style="font-size: small">
42                        <span style="color: purple">dictionary</span>
43                    </div>
44                </td>
45                <td>
46                </td>
47                <td>
48                        <div>A provided OSPFv2 route configuration.</div>
49                </td>
50            </tr>
51                                <tr>
52                    <td class="elbow-placeholder"></td>
53                <td colspan="5">
54                    <div class="ansibleOptionAnchor" id="parameter-"></div>
55                    <b>areas</b>
56                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
57                    <div style="font-size: small">
58                        <span style="color: purple">list</span>
59                         / <span style="color: purple">elements=dictionary</span>
60                    </div>
61                </td>
62                <td>
63                </td>
64                <td>
65                        <div>OSPFv2 area.</div>
66                </td>
67            </tr>
68                                <tr>
69                    <td class="elbow-placeholder"></td>
70                    <td class="elbow-placeholder"></td>
71                <td colspan="4">
72                    <div class="ansibleOptionAnchor" id="parameter-"></div>
73                    <b>area_id</b>
74                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
75                    <div style="font-size: small">
76                        <span style="color: purple">string</span>
77                    </div>
78                </td>
79                <td>
80                </td>
81                <td>
82                        <div>OSPFv2 area identity.</div>
83                </td>
84            </tr>
85            <tr>
86                    <td class="elbow-placeholder"></td>
87                    <td class="elbow-placeholder"></td>
88                <td colspan="4">
89                    <div class="ansibleOptionAnchor" id="parameter-"></div>
90                    <b>area_type</b>
91                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
92                    <div style="font-size: small">
93                        <span style="color: purple">dictionary</span>
94                    </div>
95                </td>
96                <td>
97                </td>
98                <td>
99                        <div>Area type.</div>
100                </td>
101            </tr>
102                                <tr>
103                    <td class="elbow-placeholder"></td>
104                    <td class="elbow-placeholder"></td>
105                    <td class="elbow-placeholder"></td>
106                <td colspan="3">
107                    <div class="ansibleOptionAnchor" id="parameter-"></div>
108                    <b>normal</b>
109                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
110                    <div style="font-size: small">
111                        <span style="color: purple">boolean</span>
112                    </div>
113                </td>
114                <td>
115                        <ul style="margin: 0; padding: 0"><b>Choices:</b>
116                                    <li>no</li>
117                                    <li>yes</li>
118                        </ul>
119                </td>
120                <td>
121                        <div>Normal OSPFv2 area.</div>
122                </td>
123            </tr>
124            <tr>
125                    <td class="elbow-placeholder"></td>
126                    <td class="elbow-placeholder"></td>
127                    <td class="elbow-placeholder"></td>
128                <td colspan="3">
129                    <div class="ansibleOptionAnchor" id="parameter-"></div>
130                    <b>nssa</b>
131                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
132                    <div style="font-size: small">
133                        <span style="color: purple">dictionary</span>
134                    </div>
135                </td>
136                <td>
137                </td>
138                <td>
139                        <div>NSSA OSPFv2 area.</div>
140                </td>
141            </tr>
142                                <tr>
143                    <td class="elbow-placeholder"></td>
144                    <td class="elbow-placeholder"></td>
145                    <td class="elbow-placeholder"></td>
146                    <td class="elbow-placeholder"></td>
147                <td colspan="2">
148                    <div class="ansibleOptionAnchor" id="parameter-"></div>
149                    <b>default_cost</b>
150                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
151                    <div style="font-size: small">
152                        <span style="color: purple">integer</span>
153                    </div>
154                </td>
155                <td>
156                </td>
157                <td>
158                        <div>Summary-default cost of NSSA area.</div>
159                </td>
160            </tr>
161            <tr>
162                    <td class="elbow-placeholder"></td>
163                    <td class="elbow-placeholder"></td>
164                    <td class="elbow-placeholder"></td>
165                    <td class="elbow-placeholder"></td>
166                <td colspan="2">
167                    <div class="ansibleOptionAnchor" id="parameter-"></div>
168                    <b>no_summary</b>
169                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
170                    <div style="font-size: small">
171                        <span style="color: purple">boolean</span>
172                    </div>
173                </td>
174                <td>
175                        <ul style="margin: 0; padding: 0"><b>Choices:</b>
176                                    <li>no</li>
177                                    <li>yes</li>
178                        </ul>
179                </td>
180                <td>
181                        <div>Do not inject inter-area routes into stub.</div>
182                </td>
183            </tr>
184            <tr>
185                    <td class="elbow-placeholder"></td>
186                    <td class="elbow-placeholder"></td>
187                    <td class="elbow-placeholder"></td>
188                    <td class="elbow-placeholder"></td>
189                <td colspan="2">
190                    <div class="ansibleOptionAnchor" id="parameter-"></div>
191                    <b>set</b>
192                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
193                    <div style="font-size: small">
194                        <span style="color: purple">boolean</span>
195                    </div>
196                </td>
197                <td>
198                        <ul style="margin: 0; padding: 0"><b>Choices:</b>
199                                    <li>no</li>
200                                    <li>yes</li>
201                        </ul>
202                </td>
203                <td>
204                        <div>Enabling NSSA.</div>
205                </td>
206            </tr>
207            <tr>
208                    <td class="elbow-placeholder"></td>
209                    <td class="elbow-placeholder"></td>
210                    <td class="elbow-placeholder"></td>
211                    <td class="elbow-placeholder"></td>
212                <td colspan="2">
213                    <div class="ansibleOptionAnchor" id="parameter-"></div>
214                    <b>translate</b>
215                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
216                    <div style="font-size: small">
217                        <span style="color: purple">string</span>
218                    </div>
219                </td>
220                <td>
221                        <ul style="margin: 0; padding: 0"><b>Choices:</b>
222                                    <li>always</li>
223                                    <li>candidate</li>
224                                    <li>never</li>
225                        </ul>
226                </td>
227                <td>
228                        <div>NSSA-ABR.</div>
229                </td>
230            </tr>
231
232            <tr>
233                    <td class="elbow-placeholder"></td>
234                    <td class="elbow-placeholder"></td>
235                    <td class="elbow-placeholder"></td>
236                <td colspan="3">
237                    <div class="ansibleOptionAnchor" id="parameter-"></div>
238                    <b>stub</b>
239                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
240                    <div style="font-size: small">
241                        <span style="color: purple">dictionary</span>
242                    </div>
243                </td>
244                <td>
245                </td>
246                <td>
247                        <div>Stub OSPFv2 area.</div>
248                </td>
249            </tr>
250                                <tr>
251                    <td class="elbow-placeholder"></td>
252                    <td class="elbow-placeholder"></td>
253                    <td class="elbow-placeholder"></td>
254                    <td class="elbow-placeholder"></td>
255                <td colspan="2">
256                    <div class="ansibleOptionAnchor" id="parameter-"></div>
257                    <b>default_cost</b>
258                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
259                    <div style="font-size: small">
260                        <span style="color: purple">integer</span>
261                    </div>
262                </td>
263                <td>
264                </td>
265                <td>
266                        <div>Summary-default cost of stub area.</div>
267                </td>
268            </tr>
269            <tr>
270                    <td class="elbow-placeholder"></td>
271                    <td class="elbow-placeholder"></td>
272                    <td class="elbow-placeholder"></td>
273                    <td class="elbow-placeholder"></td>
274                <td colspan="2">
275                    <div class="ansibleOptionAnchor" id="parameter-"></div>
276                    <b>no_summary</b>
277                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
278                    <div style="font-size: small">
279                        <span style="color: purple">boolean</span>
280                    </div>
281                </td>
282                <td>
283                        <ul style="margin: 0; padding: 0"><b>Choices:</b>
284                                    <li>no</li>
285                                    <li>yes</li>
286                        </ul>
287                </td>
288                <td>
289                        <div>Do not inject inter-area routes into stub.</div>
290                </td>
291            </tr>
292            <tr>
293                    <td class="elbow-placeholder"></td>
294                    <td class="elbow-placeholder"></td>
295                    <td class="elbow-placeholder"></td>
296                    <td class="elbow-placeholder"></td>
297                <td colspan="2">
298                    <div class="ansibleOptionAnchor" id="parameter-"></div>
299                    <b>set</b>
300                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
301                    <div style="font-size: small">
302                        <span style="color: purple">boolean</span>
303                    </div>
304                </td>
305                <td>
306                        <ul style="margin: 0; padding: 0"><b>Choices:</b>
307                                    <li>no</li>
308                                    <li>yes</li>
309                        </ul>
310                </td>
311                <td>
312                        <div>Enabling stub.</div>
313                </td>
314            </tr>
315
316
317            <tr>
318                    <td class="elbow-placeholder"></td>
319                    <td class="elbow-placeholder"></td>
320                <td colspan="4">
321                    <div class="ansibleOptionAnchor" id="parameter-"></div>
322                    <b>authentication</b>
323                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
324                    <div style="font-size: small">
325                        <span style="color: purple">string</span>
326                    </div>
327                </td>
328                <td>
329                        <ul style="margin: 0; padding: 0"><b>Choices:</b>
330                                    <li>plaintext-password</li>
331                                    <li>md5</li>
332                        </ul>
333                </td>
334                <td>
335                        <div>OSPFv2 area authentication type.</div>
336                </td>
337            </tr>
338            <tr>
339                    <td class="elbow-placeholder"></td>
340                    <td class="elbow-placeholder"></td>
341                <td colspan="4">
342                    <div class="ansibleOptionAnchor" id="parameter-"></div>
343                    <b>network</b>
344                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
345                    <div style="font-size: small">
346                        <span style="color: purple">list</span>
347                         / <span style="color: purple">elements=dictionary</span>
348                    </div>
349                </td>
350                <td>
351                </td>
352                <td>
353                        <div>OSPFv2 network.</div>
354                </td>
355            </tr>
356                                <tr>
357                    <td class="elbow-placeholder"></td>
358                    <td class="elbow-placeholder"></td>
359                    <td class="elbow-placeholder"></td>
360                <td colspan="3">
361                    <div class="ansibleOptionAnchor" id="parameter-"></div>
362                    <b>address</b>
363                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
364                    <div style="font-size: small">
365                        <span style="color: purple">string</span>
366                         / <span style="color: red">required</span>
367                    </div>
368                </td>
369                <td>
370                </td>
371                <td>
372                        <div>OSPFv2 IPv4 network address.</div>
373                </td>
374            </tr>
375
376            <tr>
377                    <td class="elbow-placeholder"></td>
378                    <td class="elbow-placeholder"></td>
379                <td colspan="4">
380                    <div class="ansibleOptionAnchor" id="parameter-"></div>
381                    <b>range</b>
382                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
383                    <div style="font-size: small">
384                        <span style="color: purple">list</span>
385                         / <span style="color: purple">elements=dictionary</span>
386                    </div>
387                </td>
388                <td>
389                </td>
390                <td>
391                        <div>Summarize routes matching prefix (border routers only).</div>
392                </td>
393            </tr>
394                                <tr>
395                    <td class="elbow-placeholder"></td>
396                    <td class="elbow-placeholder"></td>
397                    <td class="elbow-placeholder"></td>
398                <td colspan="3">
399                    <div class="ansibleOptionAnchor" id="parameter-"></div>
400                    <b>address</b>
401                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
402                    <div style="font-size: small">
403                        <span style="color: purple">string</span>
404                    </div>
405                </td>
406                <td>
407                </td>
408                <td>
409                        <div>border router IPv4 address.</div>
410                </td>
411            </tr>
412            <tr>
413                    <td class="elbow-placeholder"></td>
414                    <td class="elbow-placeholder"></td>
415                    <td class="elbow-placeholder"></td>
416                <td colspan="3">
417                    <div class="ansibleOptionAnchor" id="parameter-"></div>
418                    <b>cost</b>
419                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
420                    <div style="font-size: small">
421                        <span style="color: purple">integer</span>
422                    </div>
423                </td>
424                <td>
425                </td>
426                <td>
427                        <div>Metric for this range.</div>
428                </td>
429            </tr>
430            <tr>
431                    <td class="elbow-placeholder"></td>
432                    <td class="elbow-placeholder"></td>
433                    <td class="elbow-placeholder"></td>
434                <td colspan="3">
435                    <div class="ansibleOptionAnchor" id="parameter-"></div>
436                    <b>not_advertise</b>
437                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
438                    <div style="font-size: small">
439                        <span style="color: purple">boolean</span>
440                    </div>
441                </td>
442                <td>
443                        <ul style="margin: 0; padding: 0"><b>Choices:</b>
444                                    <li>no</li>
445                                    <li>yes</li>
446                        </ul>
447                </td>
448                <td>
449                        <div>Don&#x27;t advertise this range.</div>
450                </td>
451            </tr>
452            <tr>
453                    <td class="elbow-placeholder"></td>
454                    <td class="elbow-placeholder"></td>
455                    <td class="elbow-placeholder"></td>
456                <td colspan="3">
457                    <div class="ansibleOptionAnchor" id="parameter-"></div>
458                    <b>substitute</b>
459                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
460                    <div style="font-size: small">
461                        <span style="color: purple">string</span>
462                    </div>
463                </td>
464                <td>
465                </td>
466                <td>
467                        <div>Announce area range (IPv4 address) as another prefix.</div>
468                </td>
469            </tr>
470
471            <tr>
472                    <td class="elbow-placeholder"></td>
473                    <td class="elbow-placeholder"></td>
474                <td colspan="4">
475                    <div class="ansibleOptionAnchor" id="parameter-"></div>
476                    <b>shortcut</b>
477                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
478                    <div style="font-size: small">
479                        <span style="color: purple">string</span>
480                    </div>
481                </td>
482                <td>
483                        <ul style="margin: 0; padding: 0"><b>Choices:</b>
484                                    <li>default</li>
485                                    <li>disable</li>
486                                    <li>enable</li>
487                        </ul>
488                </td>
489                <td>
490                        <div>Area&#x27;s shortcut mode.</div>
491                </td>
492            </tr>
493            <tr>
494                    <td class="elbow-placeholder"></td>
495                    <td class="elbow-placeholder"></td>
496                <td colspan="4">
497                    <div class="ansibleOptionAnchor" id="parameter-"></div>
498                    <b>virtual_link</b>
499                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
500                    <div style="font-size: small">
501                        <span style="color: purple">list</span>
502                         / <span style="color: purple">elements=dictionary</span>
503                    </div>
504                </td>
505                <td>
506                </td>
507                <td>
508                        <div>Virtual link address.</div>
509                </td>
510            </tr>
511                                <tr>
512                    <td class="elbow-placeholder"></td>
513                    <td class="elbow-placeholder"></td>
514                    <td class="elbow-placeholder"></td>
515                <td colspan="3">
516                    <div class="ansibleOptionAnchor" id="parameter-"></div>
517                    <b>address</b>
518                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
519                    <div style="font-size: small">
520                        <span style="color: purple">string</span>
521                    </div>
522                </td>
523                <td>
524                </td>
525                <td>
526                        <div>virtual link address.</div>
527                </td>
528            </tr>
529            <tr>
530                    <td class="elbow-placeholder"></td>
531                    <td class="elbow-placeholder"></td>
532                    <td class="elbow-placeholder"></td>
533                <td colspan="3">
534                    <div class="ansibleOptionAnchor" id="parameter-"></div>
535                    <b>authentication</b>
536                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
537                    <div style="font-size: small">
538                        <span style="color: purple">dictionary</span>
539                    </div>
540                </td>
541                <td>
542                </td>
543                <td>
544                        <div>OSPFv2 area authentication type.</div>
545                </td>
546            </tr>
547                                <tr>
548                    <td class="elbow-placeholder"></td>
549                    <td class="elbow-placeholder"></td>
550                    <td class="elbow-placeholder"></td>
551                    <td class="elbow-placeholder"></td>
552                <td colspan="2">
553                    <div class="ansibleOptionAnchor" id="parameter-"></div>
554                    <b>md5</b>
555                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
556                    <div style="font-size: small">
557                        <span style="color: purple">list</span>
558                         / <span style="color: purple">elements=dictionary</span>
559                    </div>
560                </td>
561                <td>
562                </td>
563                <td>
564                        <div>MD5 key id based authentication.</div>
565                </td>
566            </tr>
567                                <tr>
568                    <td class="elbow-placeholder"></td>
569                    <td class="elbow-placeholder"></td>
570                    <td class="elbow-placeholder"></td>
571                    <td class="elbow-placeholder"></td>
572                    <td class="elbow-placeholder"></td>
573                <td colspan="1">
574                    <div class="ansibleOptionAnchor" id="parameter-"></div>
575                    <b>key_id</b>
576                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
577                    <div style="font-size: small">
578                        <span style="color: purple">integer</span>
579                    </div>
580                </td>
581                <td>
582                </td>
583                <td>
584                        <div>MD5 key id.</div>
585                </td>
586            </tr>
587            <tr>
588                    <td class="elbow-placeholder"></td>
589                    <td class="elbow-placeholder"></td>
590                    <td class="elbow-placeholder"></td>
591                    <td class="elbow-placeholder"></td>
592                    <td class="elbow-placeholder"></td>
593                <td colspan="1">
594                    <div class="ansibleOptionAnchor" id="parameter-"></div>
595                    <b>md5_key</b>
596                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
597                    <div style="font-size: small">
598                        <span style="color: purple">string</span>
599                    </div>
600                </td>
601                <td>
602                </td>
603                <td>
604                        <div>MD5 key.</div>
605                </td>
606            </tr>
607
608            <tr>
609                    <td class="elbow-placeholder"></td>
610                    <td class="elbow-placeholder"></td>
611                    <td class="elbow-placeholder"></td>
612                    <td class="elbow-placeholder"></td>
613                <td colspan="2">
614                    <div class="ansibleOptionAnchor" id="parameter-"></div>
615                    <b>plaintext_password</b>
616                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
617                    <div style="font-size: small">
618                        <span style="color: purple">string</span>
619                    </div>
620                </td>
621                <td>
622                </td>
623                <td>
624                        <div>Plain text password.</div>
625                </td>
626            </tr>
627
628            <tr>
629                    <td class="elbow-placeholder"></td>
630                    <td class="elbow-placeholder"></td>
631                    <td class="elbow-placeholder"></td>
632                <td colspan="3">
633                    <div class="ansibleOptionAnchor" id="parameter-"></div>
634                    <b>dead_interval</b>
635                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
636                    <div style="font-size: small">
637                        <span style="color: purple">integer</span>
638                    </div>
639                </td>
640                <td>
641                </td>
642                <td>
643                        <div>Interval after which a neighbor is declared dead.</div>
644                </td>
645            </tr>
646            <tr>
647                    <td class="elbow-placeholder"></td>
648                    <td class="elbow-placeholder"></td>
649                    <td class="elbow-placeholder"></td>
650                <td colspan="3">
651                    <div class="ansibleOptionAnchor" id="parameter-"></div>
652                    <b>hello_interval</b>
653                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
654                    <div style="font-size: small">
655                        <span style="color: purple">integer</span>
656                    </div>
657                </td>
658                <td>
659                </td>
660                <td>
661                        <div>Interval between hello packets.</div>
662                </td>
663            </tr>
664            <tr>
665                    <td class="elbow-placeholder"></td>
666                    <td class="elbow-placeholder"></td>
667                    <td class="elbow-placeholder"></td>
668                <td colspan="3">
669                    <div class="ansibleOptionAnchor" id="parameter-"></div>
670                    <b>retransmit_interval</b>
671                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
672                    <div style="font-size: small">
673                        <span style="color: purple">integer</span>
674                    </div>
675                </td>
676                <td>
677                </td>
678                <td>
679                        <div>Interval between retransmitting lost link state advertisements.</div>
680                </td>
681            </tr>
682            <tr>
683                    <td class="elbow-placeholder"></td>
684                    <td class="elbow-placeholder"></td>
685                    <td class="elbow-placeholder"></td>
686                <td colspan="3">
687                    <div class="ansibleOptionAnchor" id="parameter-"></div>
688                    <b>transmit_delay</b>
689                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
690                    <div style="font-size: small">
691                        <span style="color: purple">integer</span>
692                    </div>
693                </td>
694                <td>
695                </td>
696                <td>
697                        <div>Link state transmit delay.</div>
698                </td>
699            </tr>
700
701
702            <tr>
703                    <td class="elbow-placeholder"></td>
704                <td colspan="5">
705                    <div class="ansibleOptionAnchor" id="parameter-"></div>
706                    <b>auto_cost</b>
707                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
708                    <div style="font-size: small">
709                        <span style="color: purple">dictionary</span>
710                    </div>
711                </td>
712                <td>
713                </td>
714                <td>
715                        <div>Calculate OSPFv2 interface cost according to bandwidth.</div>
716                </td>
717            </tr>
718                                <tr>
719                    <td class="elbow-placeholder"></td>
720                    <td class="elbow-placeholder"></td>
721                <td colspan="4">
722                    <div class="ansibleOptionAnchor" id="parameter-"></div>
723                    <b>reference_bandwidth</b>
724                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
725                    <div style="font-size: small">
726                        <span style="color: purple">integer</span>
727                    </div>
728                </td>
729                <td>
730                </td>
731                <td>
732                        <div>Reference bandwidth cost in Mbits/sec.</div>
733                </td>
734            </tr>
735
736            <tr>
737                    <td class="elbow-placeholder"></td>
738                <td colspan="5">
739                    <div class="ansibleOptionAnchor" id="parameter-"></div>
740                    <b>default_information</b>
741                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
742                    <div style="font-size: small">
743                        <span style="color: purple">dictionary</span>
744                    </div>
745                </td>
746                <td>
747                </td>
748                <td>
749                        <div>Control distribution of default information.</div>
750                </td>
751            </tr>
752                                <tr>
753                    <td class="elbow-placeholder"></td>
754                    <td class="elbow-placeholder"></td>
755                <td colspan="4">
756                    <div class="ansibleOptionAnchor" id="parameter-"></div>
757                    <b>originate</b>
758                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
759                    <div style="font-size: small">
760                        <span style="color: purple">dictionary</span>
761                    </div>
762                </td>
763                <td>
764                </td>
765                <td>
766                        <div>Distribute a default route.</div>
767                </td>
768            </tr>
769                                <tr>
770                    <td class="elbow-placeholder"></td>
771                    <td class="elbow-placeholder"></td>
772                    <td class="elbow-placeholder"></td>
773                <td colspan="3">
774                    <div class="ansibleOptionAnchor" id="parameter-"></div>
775                    <b>always</b>
776                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
777                    <div style="font-size: small">
778                        <span style="color: purple">boolean</span>
779                    </div>
780                </td>
781                <td>
782                        <ul style="margin: 0; padding: 0"><b>Choices:</b>
783                                    <li>no</li>
784                                    <li>yes</li>
785                        </ul>
786                </td>
787                <td>
788                        <div>Always advertise default route.</div>
789                </td>
790            </tr>
791            <tr>
792                    <td class="elbow-placeholder"></td>
793                    <td class="elbow-placeholder"></td>
794                    <td class="elbow-placeholder"></td>
795                <td colspan="3">
796                    <div class="ansibleOptionAnchor" id="parameter-"></div>
797                    <b>metric</b>
798                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
799                    <div style="font-size: small">
800                        <span style="color: purple">integer</span>
801                    </div>
802                </td>
803                <td>
804                </td>
805                <td>
806                        <div>OSPFv2 default metric.</div>
807                </td>
808            </tr>
809            <tr>
810                    <td class="elbow-placeholder"></td>
811                    <td class="elbow-placeholder"></td>
812                    <td class="elbow-placeholder"></td>
813                <td colspan="3">
814                    <div class="ansibleOptionAnchor" id="parameter-"></div>
815                    <b>metric_type</b>
816                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
817                    <div style="font-size: small">
818                        <span style="color: purple">integer</span>
819                    </div>
820                </td>
821                <td>
822                </td>
823                <td>
824                        <div>OSPFv2 Metric types for default routes.</div>
825                </td>
826            </tr>
827            <tr>
828                    <td class="elbow-placeholder"></td>
829                    <td class="elbow-placeholder"></td>
830                    <td class="elbow-placeholder"></td>
831                <td colspan="3">
832                    <div class="ansibleOptionAnchor" id="parameter-"></div>
833                    <b>route_map</b>
834                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
835                    <div style="font-size: small">
836                        <span style="color: purple">string</span>
837                    </div>
838                </td>
839                <td>
840                </td>
841                <td>
842                        <div>Route map references.</div>
843                </td>
844            </tr>
845
846
847            <tr>
848                    <td class="elbow-placeholder"></td>
849                <td colspan="5">
850                    <div class="ansibleOptionAnchor" id="parameter-"></div>
851                    <b>default_metric</b>
852                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
853                    <div style="font-size: small">
854                        <span style="color: purple">integer</span>
855                    </div>
856                </td>
857                <td>
858                </td>
859                <td>
860                        <div>Metric of redistributed routes</div>
861                </td>
862            </tr>
863            <tr>
864                    <td class="elbow-placeholder"></td>
865                <td colspan="5">
866                    <div class="ansibleOptionAnchor" id="parameter-"></div>
867                    <b>distance</b>
868                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
869                    <div style="font-size: small">
870                        <span style="color: purple">dictionary</span>
871                    </div>
872                </td>
873                <td>
874                </td>
875                <td>
876                        <div>Administrative distance.</div>
877                </td>
878            </tr>
879                                <tr>
880                    <td class="elbow-placeholder"></td>
881                    <td class="elbow-placeholder"></td>
882                <td colspan="4">
883                    <div class="ansibleOptionAnchor" id="parameter-"></div>
884                    <b>global</b>
885                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
886                    <div style="font-size: small">
887                        <span style="color: purple">integer</span>
888                    </div>
889                </td>
890                <td>
891                </td>
892                <td>
893                        <div>Global OSPFv2 administrative distance.</div>
894                </td>
895            </tr>
896            <tr>
897                    <td class="elbow-placeholder"></td>
898                    <td class="elbow-placeholder"></td>
899                <td colspan="4">
900                    <div class="ansibleOptionAnchor" id="parameter-"></div>
901                    <b>ospf</b>
902                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
903                    <div style="font-size: small">
904                        <span style="color: purple">dictionary</span>
905                    </div>
906                </td>
907                <td>
908                </td>
909                <td>
910                        <div>OSPFv2 administrative distance.</div>
911                </td>
912            </tr>
913                                <tr>
914                    <td class="elbow-placeholder"></td>
915                    <td class="elbow-placeholder"></td>
916                    <td class="elbow-placeholder"></td>
917                <td colspan="3">
918                    <div class="ansibleOptionAnchor" id="parameter-"></div>
919                    <b>external</b>
920                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
921                    <div style="font-size: small">
922                        <span style="color: purple">integer</span>
923                    </div>
924                </td>
925                <td>
926                </td>
927                <td>
928                        <div>Distance for external routes.</div>
929                </td>
930            </tr>
931            <tr>
932                    <td class="elbow-placeholder"></td>
933                    <td class="elbow-placeholder"></td>
934                    <td class="elbow-placeholder"></td>
935                <td colspan="3">
936                    <div class="ansibleOptionAnchor" id="parameter-"></div>
937                    <b>inter_area</b>
938                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
939                    <div style="font-size: small">
940                        <span style="color: purple">integer</span>
941                    </div>
942                </td>
943                <td>
944                </td>
945                <td>
946                        <div>Distance for inter-area routes.</div>
947                </td>
948            </tr>
949            <tr>
950                    <td class="elbow-placeholder"></td>
951                    <td class="elbow-placeholder"></td>
952                    <td class="elbow-placeholder"></td>
953                <td colspan="3">
954                    <div class="ansibleOptionAnchor" id="parameter-"></div>
955                    <b>intra_area</b>
956                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
957                    <div style="font-size: small">
958                        <span style="color: purple">integer</span>
959                    </div>
960                </td>
961                <td>
962                </td>
963                <td>
964                        <div>Distance for intra-area routes.</div>
965                </td>
966            </tr>
967
968
969            <tr>
970                    <td class="elbow-placeholder"></td>
971                <td colspan="5">
972                    <div class="ansibleOptionAnchor" id="parameter-"></div>
973                    <b>log_adjacency_changes</b>
974                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
975                    <div style="font-size: small">
976                        <span style="color: purple">string</span>
977                    </div>
978                </td>
979                <td>
980                        <ul style="margin: 0; padding: 0"><b>Choices:</b>
981                                    <li>detail</li>
982                        </ul>
983                </td>
984                <td>
985                        <div>Log changes in adjacency state.</div>
986                </td>
987            </tr>
988            <tr>
989                    <td class="elbow-placeholder"></td>
990                <td colspan="5">
991                    <div class="ansibleOptionAnchor" id="parameter-"></div>
992                    <b>max_metric</b>
993                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
994                    <div style="font-size: small">
995                        <span style="color: purple">dictionary</span>
996                    </div>
997                </td>
998                <td>
999                </td>
1000                <td>
1001                        <div>OSPFv2 maximum/infinite-distance metric.</div>
1002                </td>
1003            </tr>
1004                                <tr>
1005                    <td class="elbow-placeholder"></td>
1006                    <td class="elbow-placeholder"></td>
1007                <td colspan="4">
1008                    <div class="ansibleOptionAnchor" id="parameter-"></div>
1009                    <b>router_lsa</b>
1010                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
1011                    <div style="font-size: small">
1012                        <span style="color: purple">dictionary</span>
1013                    </div>
1014                </td>
1015                <td>
1016                </td>
1017                <td>
1018                        <div>Advertise own Router-LSA with infinite distance (stub router).</div>
1019                </td>
1020            </tr>
1021                                <tr>
1022                    <td class="elbow-placeholder"></td>
1023                    <td class="elbow-placeholder"></td>
1024                    <td class="elbow-placeholder"></td>
1025                <td colspan="3">
1026                    <div class="ansibleOptionAnchor" id="parameter-"></div>
1027                    <b>administrative</b>
1028                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
1029                    <div style="font-size: small">
1030                        <span style="color: purple">boolean</span>
1031                    </div>
1032                </td>
1033                <td>
1034                        <ul style="margin: 0; padding: 0"><b>Choices:</b>
1035                                    <li>no</li>
1036                                    <li>yes</li>
1037                        </ul>
1038                </td>
1039                <td>
1040                        <div>Administratively apply, for an indefinite period.</div>
1041                </td>
1042            </tr>
1043            <tr>
1044                    <td class="elbow-placeholder"></td>
1045                    <td class="elbow-placeholder"></td>
1046                    <td class="elbow-placeholder"></td>
1047                <td colspan="3">
1048                    <div class="ansibleOptionAnchor" id="parameter-"></div>
1049                    <b>on_shutdown</b>
1050                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
1051                    <div style="font-size: small">
1052                        <span style="color: purple">integer</span>
1053                    </div>
1054                </td>
1055                <td>
1056                </td>
1057                <td>
1058                        <div>Time to advertise self as stub-router.</div>
1059                </td>
1060            </tr>
1061            <tr>
1062                    <td class="elbow-placeholder"></td>
1063                    <td class="elbow-placeholder"></td>
1064                    <td class="elbow-placeholder"></td>
1065                <td colspan="3">
1066                    <div class="ansibleOptionAnchor" id="parameter-"></div>
1067                    <b>on_startup</b>
1068                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
1069                    <div style="font-size: small">
1070                        <span style="color: purple">integer</span>
1071                    </div>
1072                </td>
1073                <td>
1074                </td>
1075                <td>
1076                        <div>Time to advertise self as stub-router</div>
1077                </td>
1078            </tr>
1079
1080
1081            <tr>
1082                    <td class="elbow-placeholder"></td>
1083                <td colspan="5">
1084                    <div class="ansibleOptionAnchor" id="parameter-"></div>
1085                    <b>mpls_te</b>
1086                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
1087                    <div style="font-size: small">
1088                        <span style="color: purple">dictionary</span>
1089                    </div>
1090                </td>
1091                <td>
1092                </td>
1093                <td>
1094                        <div>MultiProtocol Label Switching-Traffic Engineering (MPLS-TE) parameters.</div>
1095                </td>
1096            </tr>
1097                                <tr>
1098                    <td class="elbow-placeholder"></td>
1099                    <td class="elbow-placeholder"></td>
1100                <td colspan="4">
1101                    <div class="ansibleOptionAnchor" id="parameter-"></div>
1102                    <b>enabled</b>
1103                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
1104                    <div style="font-size: small">
1105                        <span style="color: purple">boolean</span>
1106                    </div>
1107                </td>
1108                <td>
1109                        <ul style="margin: 0; padding: 0"><b>Choices:</b>
1110                                    <li>no</li>
1111                                    <li>yes</li>
1112                        </ul>
1113                </td>
1114                <td>
1115                        <div>Enable MPLS-TE functionality.</div>
1116                </td>
1117            </tr>
1118            <tr>
1119                    <td class="elbow-placeholder"></td>
1120                    <td class="elbow-placeholder"></td>
1121                <td colspan="4">
1122                    <div class="ansibleOptionAnchor" id="parameter-"></div>
1123                    <b>router_address</b>
1124                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
1125                    <div style="font-size: small">
1126                        <span style="color: purple">string</span>
1127                    </div>
1128                </td>
1129                <td>
1130                </td>
1131                <td>
1132                        <div>Stable IP address of the advertising router.</div>
1133                </td>
1134            </tr>
1135
1136            <tr>
1137                    <td class="elbow-placeholder"></td>
1138                <td colspan="5">
1139                    <div class="ansibleOptionAnchor" id="parameter-"></div>
1140                    <b>neighbor</b>
1141                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
1142                    <div style="font-size: small">
1143                        <span style="color: purple">list</span>
1144                         / <span style="color: purple">elements=dictionary</span>
1145                    </div>
1146                </td>
1147                <td>
1148                </td>
1149                <td>
1150                        <div>Neighbor IP address.</div>
1151                </td>
1152            </tr>
1153                                <tr>
1154                    <td class="elbow-placeholder"></td>
1155                    <td class="elbow-placeholder"></td>
1156                <td colspan="4">
1157                    <div class="ansibleOptionAnchor" id="parameter-"></div>
1158                    <b>neighbor_id</b>
1159                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
1160                    <div style="font-size: small">
1161                        <span style="color: purple">string</span>
1162                    </div>
1163                </td>
1164                <td>
1165                </td>
1166                <td>
1167                        <div>Identity (number/IP address) of neighbor.</div>
1168                </td>
1169            </tr>
1170            <tr>
1171                    <td class="elbow-placeholder"></td>
1172                    <td class="elbow-placeholder"></td>
1173                <td colspan="4">
1174                    <div class="ansibleOptionAnchor" id="parameter-"></div>
1175                    <b>poll_interval</b>
1176                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
1177                    <div style="font-size: small">
1178                        <span style="color: purple">integer</span>
1179                    </div>
1180                </td>
1181                <td>
1182                </td>
1183                <td>
1184                        <div>Seconds between dead neighbor polling interval.</div>
1185                </td>
1186            </tr>
1187            <tr>
1188                    <td class="elbow-placeholder"></td>
1189                    <td class="elbow-placeholder"></td>
1190                <td colspan="4">
1191                    <div class="ansibleOptionAnchor" id="parameter-"></div>
1192                    <b>priority</b>
1193                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
1194                    <div style="font-size: small">
1195                        <span style="color: purple">integer</span>
1196                    </div>
1197                </td>
1198                <td>
1199                </td>
1200                <td>
1201                        <div>Neighbor priority.</div>
1202                </td>
1203            </tr>
1204
1205            <tr>
1206                    <td class="elbow-placeholder"></td>
1207                <td colspan="5">
1208                    <div class="ansibleOptionAnchor" id="parameter-"></div>
1209                    <b>parameters</b>
1210                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
1211                    <div style="font-size: small">
1212                        <span style="color: purple">dictionary</span>
1213                    </div>
1214                </td>
1215                <td>
1216                </td>
1217                <td>
1218                        <div>OSPFv2 specific parameters.</div>
1219                </td>
1220            </tr>
1221                                <tr>
1222                    <td class="elbow-placeholder"></td>
1223                    <td class="elbow-placeholder"></td>
1224                <td colspan="4">
1225                    <div class="ansibleOptionAnchor" id="parameter-"></div>
1226                    <b>abr_type</b>
1227                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
1228                    <div style="font-size: small">
1229                        <span style="color: purple">string</span>
1230                    </div>
1231                </td>
1232                <td>
1233                        <ul style="margin: 0; padding: 0"><b>Choices:</b>
1234                                    <li>cisco</li>
1235                                    <li>ibm</li>
1236                                    <li>shortcut</li>
1237                                    <li>standard</li>
1238                        </ul>
1239                </td>
1240                <td>
1241                        <div>OSPFv2 ABR Type.</div>
1242                </td>
1243            </tr>
1244            <tr>
1245                    <td class="elbow-placeholder"></td>
1246                    <td class="elbow-placeholder"></td>
1247                <td colspan="4">
1248                    <div class="ansibleOptionAnchor" id="parameter-"></div>
1249                    <b>opaque_lsa</b>
1250                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
1251                    <div style="font-size: small">
1252                        <span style="color: purple">boolean</span>
1253                    </div>
1254                </td>
1255                <td>
1256                        <ul style="margin: 0; padding: 0"><b>Choices:</b>
1257                                    <li>no</li>
1258                                    <li>yes</li>
1259                        </ul>
1260                </td>
1261                <td>
1262                        <div>Enable the Opaque-LSA capability (rfc2370).</div>
1263                </td>
1264            </tr>
1265            <tr>
1266                    <td class="elbow-placeholder"></td>
1267                    <td class="elbow-placeholder"></td>
1268                <td colspan="4">
1269                    <div class="ansibleOptionAnchor" id="parameter-"></div>
1270                    <b>rfc1583_compatibility</b>
1271                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
1272                    <div style="font-size: small">
1273                        <span style="color: purple">boolean</span>
1274                    </div>
1275                </td>
1276                <td>
1277                        <ul style="margin: 0; padding: 0"><b>Choices:</b>
1278                                    <li>no</li>
1279                                    <li>yes</li>
1280                        </ul>
1281                </td>
1282                <td>
1283                        <div>Enable rfc1583 criteria for handling AS external routes.</div>
1284                </td>
1285            </tr>
1286            <tr>
1287                    <td class="elbow-placeholder"></td>
1288                    <td class="elbow-placeholder"></td>
1289                <td colspan="4">
1290                    <div class="ansibleOptionAnchor" id="parameter-"></div>
1291                    <b>router_id</b>
1292                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
1293                    <div style="font-size: small">
1294                        <span style="color: purple">string</span>
1295                    </div>
1296                </td>
1297                <td>
1298                </td>
1299                <td>
1300                        <div>Override the default router identifier.</div>
1301                </td>
1302            </tr>
1303
1304            <tr>
1305                    <td class="elbow-placeholder"></td>
1306                <td colspan="5">
1307                    <div class="ansibleOptionAnchor" id="parameter-"></div>
1308                    <b>passive_interface</b>
1309                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
1310                    <div style="font-size: small">
1311                        <span style="color: purple">list</span>
1312                         / <span style="color: purple">elements=string</span>
1313                    </div>
1314                </td>
1315                <td>
1316                </td>
1317                <td>
1318                        <div>Suppress routing updates on an interface.</div>
1319                </td>
1320            </tr>
1321            <tr>
1322                    <td class="elbow-placeholder"></td>
1323                <td colspan="5">
1324                    <div class="ansibleOptionAnchor" id="parameter-"></div>
1325                    <b>passive_interface_exclude</b>
1326                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
1327                    <div style="font-size: small">
1328                        <span style="color: purple">list</span>
1329                         / <span style="color: purple">elements=string</span>
1330                    </div>
1331                </td>
1332                <td>
1333                </td>
1334                <td>
1335                        <div>Interface to exclude when using passive-interface default.</div>
1336                </td>
1337            </tr>
1338            <tr>
1339                    <td class="elbow-placeholder"></td>
1340                <td colspan="5">
1341                    <div class="ansibleOptionAnchor" id="parameter-"></div>
1342                    <b>redistribute</b>
1343                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
1344                    <div style="font-size: small">
1345                        <span style="color: purple">list</span>
1346                         / <span style="color: purple">elements=dictionary</span>
1347                    </div>
1348                </td>
1349                <td>
1350                </td>
1351                <td>
1352                        <div>Redistribute information from another routing protocol.</div>
1353                </td>
1354            </tr>
1355                                <tr>
1356                    <td class="elbow-placeholder"></td>
1357                    <td class="elbow-placeholder"></td>
1358                <td colspan="4">
1359                    <div class="ansibleOptionAnchor" id="parameter-"></div>
1360                    <b>metric</b>
1361                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
1362                    <div style="font-size: small">
1363                        <span style="color: purple">integer</span>
1364                    </div>
1365                </td>
1366                <td>
1367                </td>
1368                <td>
1369                        <div>Metric for redistribution routes.</div>
1370                </td>
1371            </tr>
1372            <tr>
1373                    <td class="elbow-placeholder"></td>
1374                    <td class="elbow-placeholder"></td>
1375                <td colspan="4">
1376                    <div class="ansibleOptionAnchor" id="parameter-"></div>
1377                    <b>metric_type</b>
1378                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
1379                    <div style="font-size: small">
1380                        <span style="color: purple">integer</span>
1381                    </div>
1382                </td>
1383                <td>
1384                </td>
1385                <td>
1386                        <div>OSPFv2 Metric types.</div>
1387                </td>
1388            </tr>
1389            <tr>
1390                    <td class="elbow-placeholder"></td>
1391                    <td class="elbow-placeholder"></td>
1392                <td colspan="4">
1393                    <div class="ansibleOptionAnchor" id="parameter-"></div>
1394                    <b>route_map</b>
1395                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
1396                    <div style="font-size: small">
1397                        <span style="color: purple">string</span>
1398                    </div>
1399                </td>
1400                <td>
1401                </td>
1402                <td>
1403                        <div>Route map references.</div>
1404                </td>
1405            </tr>
1406            <tr>
1407                    <td class="elbow-placeholder"></td>
1408                    <td class="elbow-placeholder"></td>
1409                <td colspan="4">
1410                    <div class="ansibleOptionAnchor" id="parameter-"></div>
1411                    <b>route_type</b>
1412                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
1413                    <div style="font-size: small">
1414                        <span style="color: purple">string</span>
1415                    </div>
1416                </td>
1417                <td>
1418                        <ul style="margin: 0; padding: 0"><b>Choices:</b>
1419                                    <li>bgp</li>
1420                                    <li>connected</li>
1421                                    <li>kernel</li>
1422                                    <li>rip</li>
1423                                    <li>static</li>
1424                        </ul>
1425                </td>
1426                <td>
1427                        <div>Route type to redistribute.</div>
1428                </td>
1429            </tr>
1430
1431            <tr>
1432                    <td class="elbow-placeholder"></td>
1433                <td colspan="5">
1434                    <div class="ansibleOptionAnchor" id="parameter-"></div>
1435                    <b>route_map</b>
1436                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
1437                    <div style="font-size: small">
1438                        <span style="color: purple">list</span>
1439                         / <span style="color: purple">elements=string</span>
1440                    </div>
1441                </td>
1442                <td>
1443                </td>
1444                <td>
1445                        <div>Filter routes installed in local route map.</div>
1446                </td>
1447            </tr>
1448            <tr>
1449                    <td class="elbow-placeholder"></td>
1450                <td colspan="5">
1451                    <div class="ansibleOptionAnchor" id="parameter-"></div>
1452                    <b>timers</b>
1453                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
1454                    <div style="font-size: small">
1455                        <span style="color: purple">dictionary</span>
1456                    </div>
1457                </td>
1458                <td>
1459                </td>
1460                <td>
1461                        <div>Adjust routing timers.</div>
1462                </td>
1463            </tr>
1464                                <tr>
1465                    <td class="elbow-placeholder"></td>
1466                    <td class="elbow-placeholder"></td>
1467                <td colspan="4">
1468                    <div class="ansibleOptionAnchor" id="parameter-"></div>
1469                    <b>refresh</b>
1470                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
1471                    <div style="font-size: small">
1472                        <span style="color: purple">dictionary</span>
1473                    </div>
1474                </td>
1475                <td>
1476                </td>
1477                <td>
1478                        <div>Adjust refresh parameters.</div>
1479                </td>
1480            </tr>
1481                                <tr>
1482                    <td class="elbow-placeholder"></td>
1483                    <td class="elbow-placeholder"></td>
1484                    <td class="elbow-placeholder"></td>
1485                <td colspan="3">
1486                    <div class="ansibleOptionAnchor" id="parameter-"></div>
1487                    <b>timers</b>
1488                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
1489                    <div style="font-size: small">
1490                        <span style="color: purple">integer</span>
1491                    </div>
1492                </td>
1493                <td>
1494                </td>
1495                <td>
1496                        <div>refresh timer.</div>
1497                </td>
1498            </tr>
1499
1500            <tr>
1501                    <td class="elbow-placeholder"></td>
1502                    <td class="elbow-placeholder"></td>
1503                <td colspan="4">
1504                    <div class="ansibleOptionAnchor" id="parameter-"></div>
1505                    <b>throttle</b>
1506                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
1507                    <div style="font-size: small">
1508                        <span style="color: purple">dictionary</span>
1509                    </div>
1510                </td>
1511                <td>
1512                </td>
1513                <td>
1514                        <div>Throttling adaptive timers.</div>
1515                </td>
1516            </tr>
1517                                <tr>
1518                    <td class="elbow-placeholder"></td>
1519                    <td class="elbow-placeholder"></td>
1520                    <td class="elbow-placeholder"></td>
1521                <td colspan="3">
1522                    <div class="ansibleOptionAnchor" id="parameter-"></div>
1523                    <b>spf</b>
1524                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
1525                    <div style="font-size: small">
1526                        <span style="color: purple">dictionary</span>
1527                    </div>
1528                </td>
1529                <td>
1530                </td>
1531                <td>
1532                        <div>OSPFv2 SPF timers.</div>
1533                </td>
1534            </tr>
1535                                <tr>
1536                    <td class="elbow-placeholder"></td>
1537                    <td class="elbow-placeholder"></td>
1538                    <td class="elbow-placeholder"></td>
1539                    <td class="elbow-placeholder"></td>
1540                <td colspan="2">
1541                    <div class="ansibleOptionAnchor" id="parameter-"></div>
1542                    <b>delay</b>
1543                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
1544                    <div style="font-size: small">
1545                        <span style="color: purple">integer</span>
1546                    </div>
1547                </td>
1548                <td>
1549                </td>
1550                <td>
1551                        <div>Delay (msec) from first change received till SPF calculation.</div>
1552                </td>
1553            </tr>
1554            <tr>
1555                    <td class="elbow-placeholder"></td>
1556                    <td class="elbow-placeholder"></td>
1557                    <td class="elbow-placeholder"></td>
1558                    <td class="elbow-placeholder"></td>
1559                <td colspan="2">
1560                    <div class="ansibleOptionAnchor" id="parameter-"></div>
1561                    <b>initial_holdtime</b>
1562                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
1563                    <div style="font-size: small">
1564                        <span style="color: purple">integer</span>
1565                    </div>
1566                </td>
1567                <td>
1568                </td>
1569                <td>
1570                        <div>Initial hold time(msec) between consecutive SPF calculations.</div>
1571                </td>
1572            </tr>
1573            <tr>
1574                    <td class="elbow-placeholder"></td>
1575                    <td class="elbow-placeholder"></td>
1576                    <td class="elbow-placeholder"></td>
1577                    <td class="elbow-placeholder"></td>
1578                <td colspan="2">
1579                    <div class="ansibleOptionAnchor" id="parameter-"></div>
1580                    <b>max_holdtime</b>
1581                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
1582                    <div style="font-size: small">
1583                        <span style="color: purple">integer</span>
1584                    </div>
1585                </td>
1586                <td>
1587                </td>
1588                <td>
1589                        <div>maximum hold time (sec).</div>
1590                </td>
1591            </tr>
1592
1593
1594
1595
1596            <tr>
1597                <td colspan="6">
1598                    <div class="ansibleOptionAnchor" id="parameter-"></div>
1599                    <b>running_config</b>
1600                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
1601                    <div style="font-size: small">
1602                        <span style="color: purple">string</span>
1603                    </div>
1604                </td>
1605                <td>
1606                </td>
1607                <td>
1608                        <div>This option is used only with state <em>parsed</em>.</div>
1609                        <div>The value of this option should be the output received from the VyOS device by executing the command <b>show configuration commands | grep ospf</b>.</div>
1610                        <div>The state <em>parsed</em> reads the configuration from <code>running_config</code> option and transforms it into Ansible structured data as per the resource module&#x27;s argspec and the value is then returned in the <em>parsed</em> key within the result.</div>
1611                </td>
1612            </tr>
1613            <tr>
1614                <td colspan="6">
1615                    <div class="ansibleOptionAnchor" id="parameter-"></div>
1616                    <b>state</b>
1617                    <a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
1618                    <div style="font-size: small">
1619                        <span style="color: purple">string</span>
1620                    </div>
1621                </td>
1622                <td>
1623                        <ul style="margin: 0; padding: 0"><b>Choices:</b>
1624                                    <li><div style="color: blue"><b>merged</b>&nbsp;&larr;</div></li>
1625                                    <li>replaced</li>
1626                                    <li>deleted</li>
1627                                    <li>parsed</li>
1628                                    <li>gathered</li>
1629                                    <li>rendered</li>
1630                        </ul>
1631                </td>
1632                <td>
1633                        <div>The state the configuration should be left in.</div>
1634                </td>
1635            </tr>
1636    </table>
1637    <br/>
1638
1639
1640Notes
1641-----
1642
1643.. note::
1644   - Tested against VyOS 1.1.8 (helium).
1645   - This module works with connection ``network_cli``. See `the VyOS OS Platform Options <../network/user_guide/platform_vyos.html>`_.
1646
1647
1648
1649Examples
1650--------
1651
1652.. code-block:: yaml
1653
1654    # Using merged
1655    #
1656    # Before state:
1657    # -------------
1658    #
1659    # vyos@vyos# run show  configuration commands | grep ospf
1660    #
1661    #
1662    - name: Merge the provided configuration with the existing running configuration
1663      vyos.vyos.vyos_ospfv2:
1664        config:
1665          log_adjacency_changes: detail
1666          max_metric:
1667            router_lsa:
1668              administrative: true
1669              on_shutdown: 10
1670              on_startup: 10
1671            default_information:
1672              originate:
1673                always: true
1674                metric: 10
1675                metric_type: 2
1676                route_map: ingress
1677            mpls_te:
1678              enabled: true
1679              router_address: 192.0.11.11
1680            auto_cost:
1681              reference_bandwidth: 2
1682            neighbor:
1683            - neighbor_id: 192.0.11.12
1684              poll_interval: 10
1685              priority: 2
1686            redistribute:
1687            - route_type: bgp
1688              metric: 10
1689              metric_type: 2
1690            passive_interface:
1691            - eth1
1692            - eth2
1693            parameters:
1694              router_id: 192.0.1.1
1695              opaque_lsa: true
1696              rfc1583_compatibility: true
1697              abr_type: cisco
1698            areas:
1699            - area_id: '2'
1700              area_type:
1701                normal: true
1702                authentication: plaintext-password
1703                shortcut: enable
1704            - area_id: '3'
1705              area_type:
1706                nssa:
1707                  set: true
1708            - area_id: '4'
1709              area_type:
1710                stub:
1711                  default_cost: 20
1712              network:
1713              - address: 192.0.2.0/24
1714              range:
1715              - address: 192.0.3.0/24
1716                cost: 10
1717              - address: 192.0.4.0/24
1718              cost: 12
1719        state: merged
1720    #
1721    #
1722    # -------------------------
1723    # Module Execution Result
1724    # -------------------------
1725    #
1726    # before": {}
1727    #
1728    #    "commands": [
1729    #       "set protocols ospf mpls-te enable",
1730    #       "set protocols ospf mpls-te router-address '192.0.11.11'",
1731    #       "set protocols ospf redistribute bgp",
1732    #       "set protocols ospf redistribute bgp metric-type 2",
1733    #       "set protocols ospf redistribute bgp metric 10",
1734    #       "set protocols ospf default-information originate metric-type 2",
1735    #       "set protocols ospf default-information originate always",
1736    #       "set protocols ospf default-information originate metric 10",
1737    #       "set protocols ospf default-information originate route-map ingress",
1738    #       "set protocols ospf auto-cost reference-bandwidth '2'",
1739    #       "set protocols ospf parameters router-id '192.0.1.1'",
1740    #       "set protocols ospf parameters opaque-lsa",
1741    #       "set protocols ospf parameters abr-type 'cisco'",
1742    #       "set protocols ospf parameters rfc1583-compatibility",
1743    #       "set protocols ospf passive-interface eth1",
1744    #       "set protocols ospf passive-interface eth2",
1745    #       "set protocols ospf max-metric router-lsa on-shutdown 10",
1746    #       "set protocols ospf max-metric router-lsa administrative",
1747    #       "set protocols ospf max-metric router-lsa on-startup 10",
1748    #       "set protocols ospf log-adjacency-changes 'detail'",
1749    #       "set protocols ospf neighbor 192.0.11.12 priority 2",
1750    #       "set protocols ospf neighbor 192.0.11.12 poll-interval 10",
1751    #       "set protocols ospf neighbor 192.0.11.12",
1752    #       "set protocols ospf area '2'",
1753    #       "set protocols ospf area 2 authentication plaintext-password",
1754    #       "set protocols ospf area 2 shortcut enable",
1755    #       "set protocols ospf area 2 area-type normal",
1756    #       "set protocols ospf area '3'",
1757    #       "set protocols ospf area 3 area-type nssa",
1758    #       "set protocols ospf area 4 range 192.0.3.0/24 cost 10",
1759    #       "set protocols ospf area 4 range 192.0.3.0/24",
1760    #       "set protocols ospf area 4 range 192.0.4.0/24 cost 12",
1761    #       "set protocols ospf area 4 range 192.0.4.0/24",
1762    #       "set protocols ospf area 4 area-type stub default-cost 20",
1763    #       "set protocols ospf area '4'",
1764    #       "set protocols ospf area 4 network 192.0.2.0/24"
1765    #    ]
1766    #
1767    # "after": {
1768    #        "areas": [
1769    #            {
1770    #                "area_id": "2",
1771    #                "area_type": {
1772    #                    "normal": true
1773    #                },
1774    #                "authentication": "plaintext-password",
1775    #                "shortcut": "enable"
1776    #            },
1777    #            {
1778    #                "area_id": "3",
1779    #                "area_type": {
1780    #                    "nssa": {
1781    #                        "set": true
1782    #                    }
1783    #                }
1784    #            },
1785    #            {
1786    #                "area_id": "4",
1787    #                "area_type": {
1788    #                    "stub": {
1789    #                        "default_cost": 20,
1790    #                        "set": true
1791    #                    }
1792    #                },
1793    #                "network": [
1794    #                    {
1795    #                        "address": "192.0.2.0/24"
1796    #                    }
1797    #                ],
1798    #                "range": [
1799    #                    {
1800    #                        "address": "192.0.3.0/24",
1801    #                        "cost": 10
1802    #                    },
1803    #                    {
1804    #                        "address": "192.0.4.0/24",
1805    #                        "cost": 12
1806    #                    }
1807    #                ]
1808    #            }
1809    #        ],
1810    #        "auto_cost": {
1811    #            "reference_bandwidth": 2
1812    #        },
1813    #        "default_information": {
1814    #            "originate": {
1815    #                "always": true,
1816    #                "metric": 10,
1817    #                "metric_type": 2,
1818    #                "route_map": "ingress"
1819    #            }
1820    #        },
1821    #        "log_adjacency_changes": "detail",
1822    #        "max_metric": {
1823    #            "router_lsa": {
1824    #                "administrative": true,
1825    #                "on_shutdown": 10,
1826    #                "on_startup": 10
1827    #            }
1828    #        },
1829    #        "mpls_te": {
1830    #            "enabled": true,
1831    #            "router_address": "192.0.11.11"
1832    #        },
1833    #        "neighbor": [
1834    #            {
1835    #                "neighbor_id": "192.0.11.12",
1836    #                "poll_interval": 10,
1837    #                "priority": 2
1838    #            }
1839    #        ],
1840    #        "parameters": {
1841    #            "abr_type": "cisco",
1842    #            "opaque_lsa": true,
1843    #            "rfc1583_compatibility": true,
1844    #            "router_id": "192.0.1.1"
1845    #        },
1846    #        "passive_interface": [
1847    #            "eth2",
1848    #            "eth1"
1849    #        ],
1850    #        "redistribute": [
1851    #            {
1852    #                "metric": 10,
1853    #                "metric_type": 2,
1854    #                "route_type": "bgp"
1855    #            }
1856    #        ]
1857    #    }
1858    #
1859    # After state:
1860    # -------------
1861    #
1862    # vyos@192# run show configuration commands | grep ospf
1863    # set protocols ospf area 2 area-type 'normal'
1864    # set protocols ospf area 2 authentication 'plaintext-password'
1865    # set protocols ospf area 2 shortcut 'enable'
1866    # set protocols ospf area 3 area-type 'nssa'
1867    # set protocols ospf area 4 area-type stub default-cost '20'
1868    # set protocols ospf area 4 network '192.0.2.0/24'
1869    # set protocols ospf area 4 range 192.0.3.0/24 cost '10'
1870    # set protocols ospf area 4 range 192.0.4.0/24 cost '12'
1871    # set protocols ospf auto-cost reference-bandwidth '2'
1872    # set protocols ospf default-information originate 'always'
1873    # set protocols ospf default-information originate metric '10'
1874    # set protocols ospf default-information originate metric-type '2'
1875    # set protocols ospf default-information originate route-map 'ingress'
1876    # set protocols ospf log-adjacency-changes 'detail'
1877    # set protocols ospf max-metric router-lsa 'administrative'
1878    # set protocols ospf max-metric router-lsa on-shutdown '10'
1879    # set protocols ospf max-metric router-lsa on-startup '10'
1880    # set protocols ospf mpls-te 'enable'
1881    # set protocols ospf mpls-te router-address '192.0.11.11'
1882    # set protocols ospf neighbor 192.0.11.12 poll-interval '10'
1883    # set protocols ospf neighbor 192.0.11.12 priority '2'
1884    # set protocols ospf parameters abr-type 'cisco'
1885    # set protocols ospf parameters 'opaque-lsa'
1886    # set protocols ospf parameters 'rfc1583-compatibility'
1887    # set protocols ospf parameters router-id '192.0.1.1'
1888    # set protocols ospf passive-interface 'eth1'
1889    # set protocols ospf passive-interface 'eth2'
1890    # set protocols ospf redistribute bgp metric '10'
1891    # set protocols ospf redistribute bgp metric-type '2'
1892
1893
1894    # Using merged
1895    #
1896    # Before state:
1897    # -------------
1898    #
1899    # vyos@vyos# run show  configuration commands | grep ospf
1900    #
1901    #
1902    - name: Merge the provided configuration to update existing running configuration
1903      vyos.vyos.vyos_ospfv2:
1904        config:
1905          areas:
1906          - area_id: '2'
1907            area_type:
1908              normal: true
1909            authentication: plaintext-password
1910            shortcut: enable
1911          - area_id: '3'
1912            area_type:
1913              nssa:
1914                set: false
1915          - area_id: '4'
1916            area_type:
1917              stub:
1918                default_cost: 20
1919            network:
1920            - address: 192.0.2.0/24
1921            - address: 192.0.22.0/24
1922            - address: 192.0.32.0/24
1923        state: merged
1924    #
1925    #
1926    # -------------------------
1927    # Module Execution Result
1928    # -------------------------
1929    #
1930    # "before": {
1931    #        "areas": [
1932    #            {
1933    #                "area_id": "2",
1934    #                "area_type": {
1935    #                    "normal": true
1936    #                },
1937    #                "authentication": "plaintext-password",
1938    #                "shortcut": "enable"
1939    #            },
1940    #            {
1941    #                "area_id": "3",
1942    #                "area_type": {
1943    #                    "nssa": {
1944    #                        "set": true
1945    #                    }
1946    #                }
1947    #            },
1948    #            {
1949    #                "area_id": "4",
1950    #                "area_type": {
1951    #                    "stub": {
1952    #                        "default_cost": 20,
1953    #                        "set": true
1954    #                    }
1955    #                },
1956    #                "network": [
1957    #                    {
1958    #                        "address": "192.0.2.0/24"
1959    #                    }
1960    #                ],
1961    #                "range": [
1962    #                    {
1963    #                        "address": "192.0.3.0/24",
1964    #                        "cost": 10
1965    #                    },
1966    #                    {
1967    #                        "address": "192.0.4.0/24",
1968    #                        "cost": 12
1969    #                    }
1970    #                ]
1971    #            }
1972    #        ],
1973    #        "auto_cost": {
1974    #            "reference_bandwidth": 2
1975    #        },
1976    #        "default_information": {
1977    #            "originate": {
1978    #                "always": true,
1979    #                "metric": 10,
1980    #                "metric_type": 2,
1981    #                "route_map": "ingress"
1982    #            }
1983    #        },
1984    #        "log_adjacency_changes": "detail",
1985    #        "max_metric": {
1986    #            "router_lsa": {
1987    #                "administrative": true,
1988    #                "on_shutdown": 10,
1989    #                "on_startup": 10
1990    #            }
1991    #        },
1992    #        "mpls_te": {
1993    #            "enabled": true,
1994    #            "router_address": "192.0.11.11"
1995    #        },
1996    #        "neighbor": [
1997    #            {
1998    #                "neighbor_id": "192.0.11.12",
1999    #                "poll_interval": 10,
2000    #                "priority": 2
2001    #            }
2002    #        ],
2003    #        "parameters": {
2004    #            "abr_type": "cisco",
2005    #            "opaque_lsa": true,
2006    #            "rfc1583_compatibility": true,
2007    #            "router_id": "192.0.1.1"
2008    #        },
2009    #        "passive_interface": [
2010    #            "eth2",
2011    #            "eth1"
2012    #        ],
2013    #        "redistribute": [
2014    #            {
2015    #                "metric": 10,
2016    #                "metric_type": 2,
2017    #                "route_type": "bgp"
2018    #            }
2019    #        ]
2020    #    }
2021    #
2022    #    "commands": [
2023    #       "delete protocols ospf area 4 area-type stub",
2024    #       "set protocols ospf area 4 network 192.0.22.0/24"
2025    #       "set protocols ospf area 4 network 192.0.32.0/24"
2026    #    ]
2027    #
2028    # "after": {
2029    #        "areas": [
2030    #            {
2031    #                "area_id": "2",
2032    #                "area_type": {
2033    #                    "normal": true
2034    #                },
2035    #                "authentication": "plaintext-password",
2036    #                "shortcut": "enable"
2037    #            },
2038    #            {
2039    #                "area_id": "3",
2040    #                "area_type": {
2041    #                    "nssa": {
2042    #                        "set": true
2043    #                    }
2044    #                }
2045    #            },
2046    #            {
2047    #                "area_id": "4",
2048    #                },
2049    #                "network": [
2050    #                    {
2051    #                        "address": "192.0.2.0/24"
2052    #                    },
2053    #                    {
2054    #                        "address": "192.0.22.0/24"
2055    #                    },
2056    #                    {
2057    #                        "address": "192.0.32.0/24"
2058    #                    }
2059    #                ],
2060    #                "range": [
2061    #                    {
2062    #                        "address": "192.0.3.0/24",
2063    #                        "cost": 10
2064    #                    },
2065    #                    {
2066    #                        "address": "192.0.4.0/24",
2067    #                        "cost": 12
2068    #                    }
2069    #                ]
2070    #            }
2071    #        ],
2072    #        "auto_cost": {
2073    #            "reference_bandwidth": 2
2074    #        },
2075    #        "default_information": {
2076    #            "originate": {
2077    #                "always": true,
2078    #                "metric": 10,
2079    #                "metric_type": 2,
2080    #                "route_map": "ingress"
2081    #            }
2082    #        },
2083    #        "log_adjacency_changes": "detail",
2084    #        "max_metric": {
2085    #            "router_lsa": {
2086    #                "administrative": true,
2087    #                "on_shutdown": 10,
2088    #                "on_startup": 10
2089    #            }
2090    #        },
2091    #        "mpls_te": {
2092    #            "enabled": true,
2093    #            "router_address": "192.0.11.11"
2094    #        },
2095    #        "neighbor": [
2096    #            {
2097    #                "neighbor_id": "192.0.11.12",
2098    #                "poll_interval": 10,
2099    #                "priority": 2
2100    #            }
2101    #        ],
2102    #        "parameters": {
2103    #            "abr_type": "cisco",
2104    #            "opaque_lsa": true,
2105    #            "rfc1583_compatibility": true,
2106    #            "router_id": "192.0.1.1"
2107    #        },
2108    #        "passive_interface": [
2109    #            "eth2",
2110    #            "eth1"
2111    #        ],
2112    #        "redistribute": [
2113    #            {
2114    #                "metric": 10,
2115    #                "metric_type": 2,
2116    #                "route_type": "bgp"
2117    #            }
2118    #        ]
2119    #    }
2120    #
2121    # After state:
2122    # -------------
2123    #
2124    # vyos@192# run show configuration commands | grep ospf
2125    # set protocols ospf area 2 area-type 'normal'
2126    # set protocols ospf area 2 authentication 'plaintext-password'
2127    # set protocols ospf area 2 shortcut 'enable'
2128    # set protocols ospf area 3 area-type 'nssa'
2129    # set protocols ospf area 4 network '192.0.2.0/24'
2130    # set protocols ospf area 4 network '192.0.22.0/24'
2131    # set protocols ospf area 4 network '192.0.32.0/24'
2132    # set protocols ospf area 4 range 192.0.3.0/24 cost '10'
2133    # set protocols ospf area 4 range 192.0.4.0/24 cost '12'
2134    # set protocols ospf auto-cost reference-bandwidth '2'
2135    # set protocols ospf default-information originate 'always'
2136    # set protocols ospf default-information originate metric '10'
2137    # set protocols ospf default-information originate metric-type '2'
2138    # set protocols ospf default-information originate route-map 'ingress'
2139    # set protocols ospf log-adjacency-changes 'detail'
2140    # set protocols ospf max-metric router-lsa 'administrative'
2141    # set protocols ospf max-metric router-lsa on-shutdown '10'
2142    # set protocols ospf max-metric router-lsa on-startup '10'
2143    # set protocols ospf mpls-te 'enable'
2144    # set protocols ospf mpls-te router-address '192.0.11.11'
2145    # set protocols ospf neighbor 192.0.11.12 poll-interval '10'
2146    # set protocols ospf neighbor 192.0.11.12 priority '2'
2147    # set protocols ospf parameters abr-type 'cisco'
2148    # set protocols ospf parameters 'opaque-lsa'
2149    # set protocols ospf parameters 'rfc1583-compatibility'
2150    # set protocols ospf parameters router-id '192.0.1.1'
2151    # set protocols ospf passive-interface 'eth1'
2152    # set protocols ospf passive-interface 'eth2'
2153    # set protocols ospf redistribute bgp metric '10'
2154    # set protocols ospf redistribute bgp metric-type '2'
2155
2156
2157    # Using replaced
2158    #
2159    # Before state:
2160    # -------------
2161    #
2162    # vyos@192# run show configuration commands | grep ospf
2163    # set protocols ospf area 2 area-type 'normal'
2164    # set protocols ospf area 2 authentication 'plaintext-password'
2165    # set protocols ospf area 2 shortcut 'enable'
2166    # set protocols ospf area 3 area-type 'nssa'
2167    # set protocols ospf area 4 area-type stub default-cost '20'
2168    # set protocols ospf area 4 network '192.0.2.0/24'
2169    # set protocols ospf area 4 range 192.0.3.0/24 cost '10'
2170    # set protocols ospf area 4 range 192.0.4.0/24 cost '12'
2171    # set protocols ospf auto-cost reference-bandwidth '2'
2172    # set protocols ospf default-information originate 'always'
2173    # set protocols ospf default-information originate metric '10'
2174    # set protocols ospf default-information originate metric-type '2'
2175    # set protocols ospf default-information originate route-map 'ingress'
2176    # set protocols ospf log-adjacency-changes 'detail'
2177    # set protocols ospf max-metric router-lsa 'administrative'
2178    # set protocols ospf max-metric router-lsa on-shutdown '10'
2179    # set protocols ospf max-metric router-lsa on-startup '10'
2180    # set protocols ospf mpls-te 'enable'
2181    # set protocols ospf mpls-te router-address '192.0.11.11'
2182    # set protocols ospf neighbor 192.0.11.12 poll-interval '10'
2183    # set protocols ospf neighbor 192.0.11.12 priority '2'
2184    # set protocols ospf parameters abr-type 'cisco'
2185    # set protocols ospf parameters 'opaque-lsa'
2186    # set protocols ospf parameters 'rfc1583-compatibility'
2187    # set protocols ospf parameters router-id '192.0.1.1'
2188    # set protocols ospf passive-interface 'eth1'
2189    # set protocols ospf passive-interface 'eth2'
2190    # set protocols ospf redistribute bgp metric '10'
2191    # set protocols ospf redistribute bgp metric-type '2'
2192    #
2193    - name: Replace ospfv2 routes attributes configuration.
2194      vyos.vyos.vyos_ospfv2:
2195        config:
2196          log_adjacency_changes: detail
2197          max_metric:
2198            router_lsa:
2199              administrative: true
2200              on_shutdown: 10
2201              on_startup: 10
2202            default_information:
2203              originate:
2204                always: true
2205                metric: 10
2206                metric_type: 2
2207                route_map: ingress
2208            mpls_te:
2209              enabled: true
2210              router_address: 192.0.22.22
2211            auto_cost:
2212              reference_bandwidth: 2
2213            neighbor:
2214            - neighbor_id: 192.0.11.12
2215              poll_interval: 10
2216              priority: 2
2217            redistribute:
2218            - route_type: bgp
2219              metric: 10
2220              metric_type: 2
2221            passive_interface:
2222            - eth1
2223            parameters:
2224              router_id: 192.0.1.1
2225              opaque_lsa: true
2226              rfc1583_compatibility: true
2227              abr_type: cisco
2228            areas:
2229            - area_id: '2'
2230              area_type:
2231                normal: true
2232              authentication: plaintext-password
2233              shortcut: enable
2234            - area_id: '4'
2235              area_type:
2236                stub:
2237                  default_cost: 20
2238              network:
2239              - address: 192.0.2.0/24
2240              - address: 192.0.12.0/24
2241              - address: 192.0.22.0/24
2242              - address: 192.0.32.0/24
2243              range:
2244              - address: 192.0.42.0/24
2245                cost: 10
2246        state: replaced
2247    #
2248    #
2249    # -------------------------
2250    # Module Execution Result
2251    # -------------------------
2252    #
2253    #    "before": {
2254    #        "areas": [
2255    #            {
2256    #                "area_id": "2",
2257    #                "area_type": {
2258    #                    "normal": true
2259    #                },
2260    #                "authentication": "plaintext-password",
2261    #                "shortcut": "enable"
2262    #            },
2263    #            {
2264    #                "area_id": "3",
2265    #                "area_type": {
2266    #                    "nssa": {
2267    #                        "set": true
2268    #                    }
2269    #                }
2270    #            },
2271    #            {
2272    #                "area_id": "4",
2273    #                "area_type": {
2274    #                    "stub": {
2275    #                        "default_cost": 20,
2276    #                        "set": true
2277    #                    }
2278    #                },
2279    #                "network": [
2280    #                    {
2281    #                        "address": "192.0.2.0/24"
2282    #                    }
2283    #                ],
2284    #                "range": [
2285    #                    {
2286    #                        "address": "192.0.3.0/24",
2287    #                        "cost": 10
2288    #                    },
2289    #                    {
2290    #                        "address": "192.0.4.0/24",
2291    #                        "cost": 12
2292    #                    }
2293    #                ]
2294    #            }
2295    #        ],
2296    #        "auto_cost": {
2297    #            "reference_bandwidth": 2
2298    #        },
2299    #        "default_information": {
2300    #            "originate": {
2301    #                "always": true,
2302    #                "metric": 10,
2303    #                "metric_type": 2,
2304    #                "route_map": "ingress"
2305    #            }
2306    #        },
2307    #        "log_adjacency_changes": "detail",
2308    #        "max_metric": {
2309    #            "router_lsa": {
2310    #                "administrative": true,
2311    #                "on_shutdown": 10,
2312    #                "on_startup": 10
2313    #            }
2314    #        },
2315    #        "mpls_te": {
2316    #            "enabled": true,
2317    #            "router_address": "192.0.11.11"
2318    #        },
2319    #        "neighbor": [
2320    #            {
2321    #                "neighbor_id": "192.0.11.12",
2322    #                "poll_interval": 10,
2323    #                "priority": 2
2324    #            }
2325    #        ],
2326    #        "parameters": {
2327    #            "abr_type": "cisco",
2328    #            "opaque_lsa": true,
2329    #            "rfc1583_compatibility": true,
2330    #            "router_id": "192.0.1.1"
2331    #        },
2332    #        "passive_interface": [
2333    #            "eth2",
2334    #            "eth1"
2335    #        ],
2336    #        "redistribute": [
2337    #            {
2338    #                "metric": 10,
2339    #                "metric_type": 2,
2340    #                "route_type": "bgp"
2341    #            }
2342    #        ]
2343    #    }
2344    #
2345    # "commands": [
2346    #     "delete protocols ospf passive-interface eth2",
2347    #     "delete protocols ospf area 3",
2348    #     "delete protocols ospf area 4 range 192.0.3.0/24 cost",
2349    #     "delete protocols ospf area 4 range 192.0.3.0/24",
2350    #     "delete protocols ospf area 4 range 192.0.4.0/24 cost",
2351    #     "delete protocols ospf area 4 range 192.0.4.0/24",
2352    #     "set protocols ospf mpls-te router-address '192.0.22.22'",
2353    #     "set protocols ospf area 4 range 192.0.42.0/24 cost 10",
2354    #     "set protocols ospf area 4 range 192.0.42.0/24",
2355    #     "set protocols ospf area 4 network 192.0.12.0/24",
2356    #     "set protocols ospf area 4 network 192.0.22.0/24",
2357    #     "set protocols ospf area 4 network 192.0.32.0/24"
2358    #    ]
2359    #
2360    #    "after": {
2361    #        "areas": [
2362    #            {
2363    #                "area_id": "2",
2364    #                "area_type": {
2365    #                    "normal": true
2366    #                },
2367    #                "authentication": "plaintext-password",
2368    #                "shortcut": "enable"
2369    #            },
2370    #            {
2371    #                "area_id": "4",
2372    #                "area_type": {
2373    #                    "stub": {
2374    #                        "default_cost": 20,
2375    #                        "set": true
2376    #                    }
2377    #                },
2378    #                "network": [
2379    #                    {
2380    #                        "address": "192.0.12.0/24"
2381    #                    },
2382    #                    {
2383    #                        "address": "192.0.2.0/24"
2384    #                    },
2385    #                    {
2386    #                        "address": "192.0.22.0/24"
2387    #                    },
2388    #                    {
2389    #                        "address": "192.0.32.0/24"
2390    #                    }
2391    #                ],
2392    #                "range": [
2393    #                    {
2394    #                        "address": "192.0.42.0/24",
2395    #                        "cost": 10
2396    #                    }
2397    #                ]
2398    #            }
2399    #        ],
2400    #        "auto_cost": {
2401    #            "reference_bandwidth": 2
2402    #        },
2403    #        "default_information": {
2404    #            "originate": {
2405    #                "always": true,
2406    #                "metric": 10,
2407    #                "metric_type": 2,
2408    #                "route_map": "ingress"
2409    #            }
2410    #        },
2411    #        "log_adjacency_changes": "detail",
2412    #        "max_metric": {
2413    #            "router_lsa": {
2414    #                "administrative": true,
2415    #                "on_shutdown": 10,
2416    #                "on_startup": 10
2417    #            }
2418    #        },
2419    #        "mpls_te": {
2420    #            "enabled": true,
2421    #            "router_address": "192.0.22.22"
2422    #        },
2423    #        "neighbor": [
2424    #            {
2425    #                "neighbor_id": "192.0.11.12",
2426    #                "poll_interval": 10,
2427    #                "priority": 2
2428    #            }
2429    #        ],
2430    #        "parameters": {
2431    #            "abr_type": "cisco",
2432    #            "opaque_lsa": true,
2433    #            "rfc1583_compatibility": true,
2434    #            "router_id": "192.0.1.1"
2435    #        },
2436    #        "passive_interface": [
2437    #            "eth1"
2438    #        ],
2439    #        "redistribute": [
2440    #            {
2441    #                "metric": 10,
2442    #                "metric_type": 2,
2443    #                "route_type": "bgp"
2444    #            }
2445    #        ]
2446    #    }
2447    #
2448    # After state:
2449    # -------------
2450    #
2451    # vyos@192# run show configuration commands | grep ospf
2452    # set protocols ospf area 2 area-type 'normal'
2453    # set protocols ospf area 2 authentication 'plaintext-password'
2454    # set protocols ospf area 2 shortcut 'enable'
2455    # set protocols ospf area 4 area-type stub default-cost '20'
2456    # set protocols ospf area 4 network '192.0.2.0/24'
2457    # set protocols ospf area 4 network '192.0.12.0/24'
2458    # set protocols ospf area 4 network '192.0.22.0/24'
2459    # set protocols ospf area 4 network '192.0.32.0/24'
2460    # set protocols ospf area 4 range 192.0.42.0/24 cost '10'
2461    # set protocols ospf auto-cost reference-bandwidth '2'
2462    # set protocols ospf default-information originate 'always'
2463    # set protocols ospf default-information originate metric '10'
2464    # set protocols ospf default-information originate metric-type '2'
2465    # set protocols ospf default-information originate route-map 'ingress'
2466    # set protocols ospf log-adjacency-changes 'detail'
2467    # set protocols ospf max-metric router-lsa 'administrative'
2468    # set protocols ospf max-metric router-lsa on-shutdown '10'
2469    # set protocols ospf max-metric router-lsa on-startup '10'
2470    # set protocols ospf mpls-te 'enable'
2471    # set protocols ospf mpls-te router-address '192.0.22.22'
2472    # set protocols ospf neighbor 192.0.11.12 poll-interval '10'
2473    # set protocols ospf neighbor 192.0.11.12 priority '2'
2474    # set protocols ospf parameters abr-type 'cisco'
2475    # set protocols ospf parameters 'opaque-lsa'
2476    # set protocols ospf parameters 'rfc1583-compatibility'
2477    # set protocols ospf parameters router-id '192.0.1.1'
2478    # set protocols ospf passive-interface 'eth1'
2479    # set protocols ospf redistribute bgp metric '10'
2480    # set protocols ospf redistribute bgp metric-type '2'
2481
2482
2483    # Using rendered
2484    #
2485    #
2486    - name: Render the commands for provided  configuration
2487      vyos.vyos.vyos_ospfv2:
2488        config:
2489          log_adjacency_changes: detail
2490          max_metric:
2491            router_lsa:
2492              administrative: true
2493              on_shutdown: 10
2494              on_startup: 10
2495            default_information:
2496              originate:
2497                always: true
2498                metric: 10
2499                metric_type: 2
2500                route_map: ingress
2501            mpls_te:
2502              enabled: true
2503              router_address: 192.0.11.11
2504            auto_cost:
2505              reference_bandwidth: 2
2506            neighbor:
2507            - neighbor_id: 192.0.11.12
2508              poll_interval: 10
2509              priority: 2
2510            redistribute:
2511            - route_type: bgp
2512              metric: 10
2513              metric_type: 2
2514            passive_interface:
2515            - eth1
2516            - eth2
2517            parameters:
2518              router_id: 192.0.1.1
2519              opaque_lsa: true
2520              rfc1583_compatibility: true
2521              abr_type: cisco
2522            areas:
2523            - area_id: '2'
2524              area_type:
2525                normal: true
2526              authentication: plaintext-password
2527              shortcut: enable
2528            - area_id: '3'
2529              area_type:
2530                nssa:
2531                  set: true
2532            - area_id: '4'
2533              area_type:
2534                stub:
2535                  default_cost: 20
2536              network:
2537              - address: 192.0.2.0/24
2538              range:
2539              - address: 192.0.3.0/24
2540                cost: 10
2541              - address: 192.0.4.0/24
2542                cost: 12
2543        state: rendered
2544    #
2545    #
2546    # -------------------------
2547    # Module Execution Result
2548    # -------------------------
2549    #
2550    #
2551    # "rendered": [
2552    #        [
2553    #       "set protocols ospf mpls-te enable",
2554    #       "set protocols ospf mpls-te router-address '192.0.11.11'",
2555    #       "set protocols ospf redistribute bgp",
2556    #       "set protocols ospf redistribute bgp metric-type 2",
2557    #       "set protocols ospf redistribute bgp metric 10",
2558    #       "set protocols ospf default-information originate metric-type 2",
2559    #       "set protocols ospf default-information originate always",
2560    #       "set protocols ospf default-information originate metric 10",
2561    #       "set protocols ospf default-information originate route-map ingress",
2562    #       "set protocols ospf auto-cost reference-bandwidth '2'",
2563    #       "set protocols ospf parameters router-id '192.0.1.1'",
2564    #       "set protocols ospf parameters opaque-lsa",
2565    #       "set protocols ospf parameters abr-type 'cisco'",
2566    #       "set protocols ospf parameters rfc1583-compatibility",
2567    #       "set protocols ospf passive-interface eth1",
2568    #       "set protocols ospf passive-interface eth2",
2569    #       "set protocols ospf max-metric router-lsa on-shutdown 10",
2570    #       "set protocols ospf max-metric router-lsa administrative",
2571    #       "set protocols ospf max-metric router-lsa on-startup 10",
2572    #       "set protocols ospf log-adjacency-changes 'detail'",
2573    #       "set protocols ospf neighbor 192.0.11.12 priority 2",
2574    #       "set protocols ospf neighbor 192.0.11.12 poll-interval 10",
2575    #       "set protocols ospf neighbor 192.0.11.12",
2576    #       "set protocols ospf area '2'",
2577    #       "set protocols ospf area 2 authentication plaintext-password",
2578    #       "set protocols ospf area 2 shortcut enable",
2579    #       "set protocols ospf area 2 area-type normal",
2580    #       "set protocols ospf area '3'",
2581    #       "set protocols ospf area 3 area-type nssa",
2582    #       "set protocols ospf area 4 range 192.0.3.0/24 cost 10",
2583    #       "set protocols ospf area 4 range 192.0.3.0/24",
2584    #       "set protocols ospf area 4 range 192.0.4.0/24 cost 12",
2585    #       "set protocols ospf area 4 range 192.0.4.0/24",
2586    #       "set protocols ospf area 4 area-type stub default-cost 20",
2587    #       "set protocols ospf area '4'",
2588    #       "set protocols ospf area 4 network 192.0.2.0/24"
2589    #    ]
2590
2591
2592    # Using parsed
2593    #
2594    #
2595    - name: Parse the commands for provided  structured configuration
2596      vyos.vyos.vyos_ospfv2:
2597        running_config:
2598          "set protocols ospf area 2 area-type 'normal'
2599           set protocols ospf area 2 authentication 'plaintext-password'
2600           set protocols ospf area 2 shortcut 'enable'
2601           set protocols ospf area 3 area-type 'nssa'
2602           set protocols ospf area 4 area-type stub default-cost '20'
2603           set protocols ospf area 4 network '192.0.2.0/24'
2604           set protocols ospf area 4 range 192.0.3.0/24 cost '10'
2605           set protocols ospf area 4 range 192.0.4.0/24 cost '12'
2606           set protocols ospf auto-cost reference-bandwidth '2'
2607           set protocols ospf default-information originate 'always'
2608           set protocols ospf default-information originate metric '10'
2609           set protocols ospf default-information originate metric-type '2'
2610           set protocols ospf default-information originate route-map 'ingress'
2611           set protocols ospf log-adjacency-changes 'detail'
2612           set protocols ospf max-metric router-lsa 'administrative'
2613           set protocols ospf max-metric router-lsa on-shutdown '10'
2614           set protocols ospf max-metric router-lsa on-startup '10'
2615           set protocols ospf mpls-te 'enable'
2616           set protocols ospf mpls-te router-address '192.0.11.11'
2617           set protocols ospf neighbor 192.0.11.12 poll-interval '10'
2618           set protocols ospf neighbor 192.0.11.12 priority '2'
2619           set protocols ospf parameters abr-type 'cisco'
2620           set protocols ospf parameters 'opaque-lsa'
2621           set protocols ospf parameters 'rfc1583-compatibility'
2622           set protocols ospf parameters router-id '192.0.1.1'
2623           set protocols ospf passive-interface 'eth1'
2624           set protocols ospf passive-interface 'eth2'
2625           set protocols ospf redistribute bgp metric '10'
2626           set protocols ospf redistribute bgp metric-type '2'"
2627        state: parsed
2628    #
2629    #
2630    # -------------------------
2631    # Module Execution Result
2632    # -------------------------
2633    #
2634    #
2635    # "parsed": {
2636    #        "areas": [
2637    #            {
2638    #                "area_id": "2",
2639    #                "area_type": {
2640    #                    "normal": true
2641    #                },
2642    #                "authentication": "plaintext-password",
2643    #                "shortcut": "enable"
2644    #            },
2645    #            {
2646    #                "area_id": "3",
2647    #                "area_type": {
2648    #                    "nssa": {
2649    #                        "set": true
2650    #                    }
2651    #                }
2652    #            },
2653    #            {
2654    #                "area_id": "4",
2655    #                "area_type": {
2656    #                    "stub": {
2657    #                        "default_cost": 20,
2658    #                        "set": true
2659    #                    }
2660    #                },
2661    #                "network": [
2662    #                    {
2663    #                        "address": "192.0.2.0/24"
2664    #                    }
2665    #                ],
2666    #                "range": [
2667    #                    {
2668    #                        "address": "192.0.3.0/24",
2669    #                        "cost": 10
2670    #                    },
2671    #                    {
2672    #                        "address": "192.0.4.0/24",
2673    #                        "cost": 12
2674    #                    }
2675    #                ]
2676    #            }
2677    #        ],
2678    #        "auto_cost": {
2679    #            "reference_bandwidth": 2
2680    #        },
2681    #        "default_information": {
2682    #            "originate": {
2683    #                "always": true,
2684    #                "metric": 10,
2685    #                "metric_type": 2,
2686    #                "route_map": "ingress"
2687    #            }
2688    #        },
2689    #        "log_adjacency_changes": "detail",
2690    #        "max_metric": {
2691    #            "router_lsa": {
2692    #                "administrative": true,
2693    #                "on_shutdown": 10,
2694    #                "on_startup": 10
2695    #            }
2696    #        },
2697    #        "mpls_te": {
2698    #            "enabled": true,
2699    #            "router_address": "192.0.11.11"
2700    #        },
2701    #        "neighbor": [
2702    #            {
2703    #                "neighbor_id": "192.0.11.12",
2704    #                "poll_interval": 10,
2705    #                "priority": 2
2706    #            }
2707    #        ],
2708    #        "parameters": {
2709    #            "abr_type": "cisco",
2710    #            "opaque_lsa": true,
2711    #            "rfc1583_compatibility": true,
2712    #            "router_id": "192.0.1.1"
2713    #        },
2714    #        "passive_interface": [
2715    #            "eth2",
2716    #            "eth1"
2717    #        ],
2718    #        "redistribute": [
2719    #            {
2720    #                "metric": 10,
2721    #                "metric_type": 2,
2722    #                "route_type": "bgp"
2723    #            }
2724    #        ]
2725    #    }
2726    # }
2727
2728
2729    # Using gathered
2730    #
2731    # Before state:
2732    # -------------
2733    #
2734    # vyos@192# run show configuration commands | grep ospf
2735    # set protocols ospf area 2 area-type 'normal'
2736    # set protocols ospf area 2 authentication 'plaintext-password'
2737    # set protocols ospf area 2 shortcut 'enable'
2738    # set protocols ospf area 3 area-type 'nssa'
2739    # set protocols ospf area 4 area-type stub default-cost '20'
2740    # set protocols ospf area 4 network '192.0.2.0/24'
2741    # set protocols ospf area 4 range 192.0.3.0/24 cost '10'
2742    # set protocols ospf area 4 range 192.0.4.0/24 cost '12'
2743    # set protocols ospf auto-cost reference-bandwidth '2'
2744    # set protocols ospf default-information originate 'always'
2745    # set protocols ospf default-information originate metric '10'
2746    # set protocols ospf default-information originate metric-type '2'
2747    # set protocols ospf default-information originate route-map 'ingress'
2748    # set protocols ospf log-adjacency-changes 'detail'
2749    # set protocols ospf max-metric router-lsa 'administrative'
2750    # set protocols ospf max-metric router-lsa on-shutdown '10'
2751    # set protocols ospf max-metric router-lsa on-startup '10'
2752    # set protocols ospf mpls-te 'enable'
2753    # set protocols ospf mpls-te router-address '192.0.11.11'
2754    # set protocols ospf neighbor 192.0.11.12 poll-interval '10'
2755    # set protocols ospf neighbor 192.0.11.12 priority '2'
2756    # set protocols ospf parameters abr-type 'cisco'
2757    # set protocols ospf parameters 'opaque-lsa'
2758    # set protocols ospf parameters 'rfc1583-compatibility'
2759    # set protocols ospf parameters router-id '192.0.1.1'
2760    # set protocols ospf passive-interface 'eth1'
2761    # set protocols ospf passive-interface 'eth2'
2762    # set protocols ospf redistribute bgp metric '10'
2763    # set protocols ospf redistribute bgp metric-type '2'
2764    #
2765    - name: Gather ospfv2 routes config with provided configurations
2766      vyos.vyos.vyos_ospfv2:
2767        config:
2768        state: gathered
2769    #
2770    #
2771    # -------------------------
2772    # Module Execution Result
2773    # -------------------------
2774    #
2775    #    "gathered": {
2776    #        "areas": [
2777    #            {
2778    #                "area_id": "2",
2779    #                "area_type": {
2780    #                    "normal": true
2781    #                },
2782    #                "authentication": "plaintext-password",
2783    #                "shortcut": "enable"
2784    #            },
2785    #            {
2786    #                "area_id": "3",
2787    #                "area_type": {
2788    #                    "nssa": {
2789    #                        "set": true
2790    #                    }
2791    #                }
2792    #            },
2793    #            {
2794    #                "area_id": "4",
2795    #                "area_type": {
2796    #                    "stub": {
2797    #                        "default_cost": 20,
2798    #                        "set": true
2799    #                    }
2800    #                },
2801    #                "network": [
2802    #                    {
2803    #                        "address": "192.0.2.0/24"
2804    #                    }
2805    #                ],
2806    #                "range": [
2807    #                    {
2808    #                        "address": "192.0.3.0/24",
2809    #                        "cost": 10
2810    #                    },
2811    #                    {
2812    #                        "address": "192.0.4.0/24",
2813    #                        "cost": 12
2814    #                    }
2815    #                ]
2816    #            }
2817    #        ],
2818    #        "auto_cost": {
2819    #            "reference_bandwidth": 2
2820    #        },
2821    #        "default_information": {
2822    #            "originate": {
2823    #                "always": true,
2824    #                "metric": 10,
2825    #                "metric_type": 2,
2826    #                "route_map": "ingress"
2827    #            }
2828    #        },
2829    #        "log_adjacency_changes": "detail",
2830    #        "max_metric": {
2831    #            "router_lsa": {
2832    #                "administrative": true,
2833    #                "on_shutdown": 10,
2834    #                "on_startup": 10
2835    #            }
2836    #        },
2837    #        "mpls_te": {
2838    #            "enabled": true,
2839    #            "router_address": "192.0.11.11"
2840    #        },
2841    #        "neighbor": [
2842    #            {
2843    #                "neighbor_id": "192.0.11.12",
2844    #                "poll_interval": 10,
2845    #                "priority": 2
2846    #            }
2847    #        ],
2848    #        "parameters": {
2849    #            "abr_type": "cisco",
2850    #            "opaque_lsa": true,
2851    #            "rfc1583_compatibility": true,
2852    #            "router_id": "192.0.1.1"
2853    #        },
2854    #        "passive_interface": [
2855    #            "eth2",
2856    #            "eth1"
2857    #        ],
2858    #        "redistribute": [
2859    #            {
2860    #                "metric": 10,
2861    #                "metric_type": 2,
2862    #                "route_type": "bgp"
2863    #            }
2864    #        ]
2865    #    }
2866    #
2867    # After state:
2868    # -------------
2869    #
2870    # vyos@192# run show configuration commands | grep ospf
2871    # set protocols ospf area 2 area-type 'normal'
2872    # set protocols ospf area 2 authentication 'plaintext-password'
2873    # set protocols ospf area 2 shortcut 'enable'
2874    # set protocols ospf area 3 area-type 'nssa'
2875    # set protocols ospf area 4 area-type stub default-cost '20'
2876    # set protocols ospf area 4 network '192.0.2.0/24'
2877    # set protocols ospf area 4 range 192.0.3.0/24 cost '10'
2878    # set protocols ospf area 4 range 192.0.4.0/24 cost '12'
2879    # set protocols ospf auto-cost reference-bandwidth '2'
2880    # set protocols ospf default-information originate 'always'
2881    # set protocols ospf default-information originate metric '10'
2882    # set protocols ospf default-information originate metric-type '2'
2883    # set protocols ospf default-information originate route-map 'ingress'
2884    # set protocols ospf log-adjacency-changes 'detail'
2885    # set protocols ospf max-metric router-lsa 'administrative'
2886    # set protocols ospf max-metric router-lsa on-shutdown '10'
2887    # set protocols ospf max-metric router-lsa on-startup '10'
2888    # set protocols ospf mpls-te 'enable'
2889    # set protocols ospf mpls-te router-address '192.0.11.11'
2890    # set protocols ospf neighbor 192.0.11.12 poll-interval '10'
2891    # set protocols ospf neighbor 192.0.11.12 priority '2'
2892    # set protocols ospf parameters abr-type 'cisco'
2893    # set protocols ospf parameters 'opaque-lsa'
2894    # set protocols ospf parameters 'rfc1583-compatibility'
2895    # set protocols ospf parameters router-id '192.0.1.1'
2896    # set protocols ospf passive-interface 'eth1'
2897    # set protocols ospf passive-interface 'eth2'
2898    # set protocols ospf redistribute bgp metric '10'
2899    # set protocols ospf redistribute bgp metric-type '2'
2900
2901
2902    # Using deleted
2903    #
2904    # Before state
2905    # -------------
2906    #
2907    # vyos@192# run show configuration commands | grep ospf
2908    # set protocols ospf area 2 area-type 'normal'
2909    # set protocols ospf area 2 authentication 'plaintext-password'
2910    # set protocols ospf area 2 shortcut 'enable'
2911    # set protocols ospf area 3 area-type 'nssa'
2912    # set protocols ospf area 4 area-type stub default-cost '20'
2913    # set protocols ospf area 4 network '192.0.2.0/24'
2914    # set protocols ospf area 4 range 192.0.3.0/24 cost '10'
2915    # set protocols ospf area 4 range 192.0.4.0/24 cost '12'
2916    # set protocols ospf auto-cost reference-bandwidth '2'
2917    # set protocols ospf default-information originate 'always'
2918    # set protocols ospf default-information originate metric '10'
2919    # set protocols ospf default-information originate metric-type '2'
2920    # set protocols ospf default-information originate route-map 'ingress'
2921    # set protocols ospf log-adjacency-changes 'detail'
2922    # set protocols ospf max-metric router-lsa 'administrative'
2923    # set protocols ospf max-metric router-lsa on-shutdown '10'
2924    # set protocols ospf max-metric router-lsa on-startup '10'
2925    # set protocols ospf mpls-te 'enable'
2926    # set protocols ospf mpls-te router-address '192.0.11.11'
2927    # set protocols ospf neighbor 192.0.11.12 poll-interval '10'
2928    # set protocols ospf neighbor 192.0.11.12 priority '2'
2929    # set protocols ospf parameters abr-type 'cisco'
2930    # set protocols ospf parameters 'opaque-lsa'
2931    # set protocols ospf parameters 'rfc1583-compatibility'
2932    # set protocols ospf parameters router-id '192.0.1.1'
2933    # set protocols ospf passive-interface 'eth1'
2934    # set protocols ospf passive-interface 'eth2'
2935    # set protocols ospf redistribute bgp metric '10'
2936    # set protocols ospf redistribute bgp metric-type '2'
2937    #
2938    - name: Delete attributes of ospfv2 routes.
2939      vyos.vyos.vyos_ospfv2:
2940        config:
2941        state: deleted
2942    #
2943    #
2944    # ------------------------
2945    # Module Execution Results
2946    # ------------------------
2947    #
2948    #    "before": {
2949    #        "areas": [
2950    #            {
2951    #                "area_id": "2",
2952    #                "area_type": {
2953    #                    "normal": true
2954    #                },
2955    #                "authentication": "plaintext-password",
2956    #                "shortcut": "enable"
2957    #            },
2958    #            {
2959    #                "area_id": "3",
2960    #                "area_type": {
2961    #                    "nssa": {
2962    #                        "set": true
2963    #                    }
2964    #                }
2965    #            },
2966    #            {
2967    #                "area_id": "4",
2968    #                "area_type": {
2969    #                    "stub": {
2970    #                        "default_cost": 20,
2971    #                        "set": true
2972    #                    }
2973    #                },
2974    #                "network": [
2975    #                    {
2976    #                        "address": "192.0.2.0/24"
2977    #                    }
2978    #                ],
2979    #                "range": [
2980    #                    {
2981    #                        "address": "192.0.3.0/24",
2982    #                        "cost": 10
2983    #                    },
2984    #                    {
2985    #                        "address": "192.0.4.0/24",
2986    #                        "cost": 12
2987    #                    }
2988    #                ]
2989    #            }
2990    #        ],
2991    #        "auto_cost": {
2992    #            "reference_bandwidth": 2
2993    #        },
2994    #        "default_information": {
2995    #            "originate": {
2996    #                "always": true,
2997    #                "metric": 10,
2998    #                "metric_type": 2,
2999    #                "route_map": "ingress"
3000    #            }
3001    #        },
3002    #        "log_adjacency_changes": "detail",
3003    #        "max_metric": {
3004    #            "router_lsa": {
3005    #                "administrative": true,
3006    #                "on_shutdown": 10,
3007    #                "on_startup": 10
3008    #            }
3009    #        },
3010    #        "mpls_te": {
3011    #            "enabled": true,
3012    #            "router_address": "192.0.11.11"
3013    #        },
3014    #        "neighbor": [
3015    #            {
3016    #                "neighbor_id": "192.0.11.12",
3017    #                "poll_interval": 10,
3018    #                "priority": 2
3019    #            }
3020    #        ],
3021    #        "parameters": {
3022    #            "abr_type": "cisco",
3023    #            "opaque_lsa": true,
3024    #            "rfc1583_compatibility": true,
3025    #            "router_id": "192.0.1.1"
3026    #        },
3027    #        "passive_interface": [
3028    #            "eth2",
3029    #            "eth1"
3030    #        ],
3031    #        "redistribute": [
3032    #            {
3033    #                "metric": 10,
3034    #                "metric_type": 2,
3035    #                "route_type": "bgp"
3036    #            }
3037    #        ]
3038    #    }
3039    # "commands": [
3040    #        "delete protocols ospf"
3041    #    ]
3042    #
3043    # "after": {}
3044    # After state
3045    # ------------
3046    # vyos@192# run show configuration commands | grep ospf
3047    #
3048
3049
3050
3051Return Values
3052-------------
3053Common return values are documented `here <https://docs.ansible.com/ansible/latest/reference_appendices/common_return_values.html#common-return-values>`_, the following are the fields unique to this module:
3054
3055.. raw:: html
3056
3057    <table border=0 cellpadding=0 class="documentation-table">
3058        <tr>
3059            <th colspan="1">Key</th>
3060            <th>Returned</th>
3061            <th width="100%">Description</th>
3062        </tr>
3063            <tr>
3064                <td colspan="1">
3065                    <div class="ansibleOptionAnchor" id="return-"></div>
3066                    <b>after</b>
3067                    <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a>
3068                    <div style="font-size: small">
3069                      <span style="color: purple">dictionary</span>
3070                    </div>
3071                </td>
3072                <td>when changed</td>
3073                <td>
3074                            <div>The resulting configuration model invocation.</div>
3075                    <br/>
3076                        <div style="font-size: smaller"><b>Sample:</b></div>
3077                        <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">The configuration returned will always be in the same format
3078     of the parameters above.</div>
3079                </td>
3080            </tr>
3081            <tr>
3082                <td colspan="1">
3083                    <div class="ansibleOptionAnchor" id="return-"></div>
3084                    <b>before</b>
3085                    <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a>
3086                    <div style="font-size: small">
3087                      <span style="color: purple">dictionary</span>
3088                    </div>
3089                </td>
3090                <td>always</td>
3091                <td>
3092                            <div>The configuration prior to the model invocation.</div>
3093                    <br/>
3094                        <div style="font-size: smaller"><b>Sample:</b></div>
3095                        <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">The configuration returned will always be in the same format
3096     of the parameters above.</div>
3097                </td>
3098            </tr>
3099            <tr>
3100                <td colspan="1">
3101                    <div class="ansibleOptionAnchor" id="return-"></div>
3102                    <b>commands</b>
3103                    <a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a>
3104                    <div style="font-size: small">
3105                      <span style="color: purple">list</span>
3106                    </div>
3107                </td>
3108                <td>always</td>
3109                <td>
3110                            <div>The set of commands pushed to the remote device.</div>
3111                    <br/>
3112                        <div style="font-size: smaller"><b>Sample:</b></div>
3113                        <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">[&#x27;set protocols ospf parameters router-id 192.0.1.1&#x27;, &quot;set protocols ospf passive-interface &#x27;eth1&#x27;&quot;]</div>
3114                </td>
3115            </tr>
3116    </table>
3117    <br/><br/>
3118
3119
3120Status
3121------
3122
3123
3124Authors
3125~~~~~~~
3126
3127- Rohit Thakur (@rohitthakur2590)
3128