1#!/usr/local/bin/python3.8 2from __future__ import (absolute_import, division, print_function) 3# Copyright 2019-2020 Fortinet, Inc. 4# 5# This program is free software: you can redistribute it and/or modify 6# it under the terms of the GNU General Public License as published by 7# the Free Software Foundation, either version 3 of the License, or 8# (at your option) any later version. 9# 10# This program is distributed in the hope that it will be useful, 11# but WITHOUT ANY WARRANTY; without even the implied warranty of 12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13# GNU General Public License for more details. 14# 15# You should have received a copy of the GNU General Public License 16# along with this program. If not, see <https://www.gnu.org/licenses/>. 17 18__metaclass__ = type 19 20ANSIBLE_METADATA = {'status': ['preview'], 21 'supported_by': 'community', 22 'metadata_version': '1.1'} 23 24DOCUMENTATION = ''' 25--- 26module: fortios_router_ospf 27short_description: Configure OSPF in Fortinet's FortiOS and FortiGate. 28description: 29 - This module is able to configure a FortiGate or FortiOS (FOS) device by allowing the 30 user to set and modify router feature and ospf category. 31 Examples include all parameters and values need to be adjusted to datasources before usage. 32 Tested with FOS v6.0.0 33version_added: "2.10" 34author: 35 - Link Zheng (@chillancezen) 36 - Jie Xue (@JieX19) 37 - Hongbin Lu (@fgtdev-hblu) 38 - Frank Shen (@frankshen01) 39 - Miguel Angel Munoz (@mamunozgonzalez) 40 - Nicolas Thomas (@thomnico) 41notes: 42 - Legacy fortiosapi has been deprecated, httpapi is the preferred way to run playbooks 43 44requirements: 45 - ansible>=2.9.0 46options: 47 access_token: 48 description: 49 - Token-based authentication. 50 Generated from GUI of Fortigate. 51 type: str 52 required: false 53 enable_log: 54 description: 55 - Enable/Disable logging for task. 56 type: bool 57 required: false 58 default: false 59 vdom: 60 description: 61 - Virtual domain, among those defined previously. A vdom is a 62 virtual instance of the FortiGate that can be configured and 63 used as a different unit. 64 type: str 65 default: root 66 67 router_ospf: 68 description: 69 - Configure OSPF. 70 default: null 71 type: dict 72 suboptions: 73 abr_type: 74 description: 75 - Area border router type. 76 type: str 77 choices: 78 - cisco 79 - ibm 80 - shortcut 81 - standard 82 area: 83 description: 84 - OSPF area configuration. 85 type: list 86 suboptions: 87 authentication: 88 description: 89 - Authentication type. 90 type: str 91 choices: 92 - none 93 - text 94 - md5 95 comments: 96 description: 97 - Comment. 98 type: str 99 default_cost: 100 description: 101 - Summary default cost of stub or NSSA area. 102 type: int 103 filter_list: 104 description: 105 - OSPF area filter-list configuration. 106 type: list 107 suboptions: 108 direction: 109 description: 110 - Direction. 111 type: str 112 choices: 113 - in 114 - out 115 id: 116 description: 117 - Filter list entry ID. 118 required: true 119 type: int 120 list: 121 description: 122 - Access-list or prefix-list name. Source router.access-list.name router.prefix-list.name. 123 type: str 124 id: 125 description: 126 - Area entry IP address. 127 required: true 128 type: str 129 nssa_default_information_originate: 130 description: 131 - Redistribute, advertise, or do not originate Type-7 default route into NSSA area. 132 type: str 133 choices: 134 - enable 135 - always 136 - disable 137 nssa_default_information_originate_metric: 138 description: 139 - OSPF default metric. 140 type: int 141 nssa_default_information_originate_metric_type: 142 description: 143 - OSPF metric type for default routes. 144 type: str 145 choices: 146 - 1 147 - 2 148 nssa_redistribution: 149 description: 150 - Enable/disable redistribute into NSSA area. 151 type: str 152 choices: 153 - enable 154 - disable 155 nssa_translator_role: 156 description: 157 - NSSA translator role type. 158 type: str 159 choices: 160 - candidate 161 - never 162 - always 163 range: 164 description: 165 - OSPF area range configuration. 166 type: list 167 suboptions: 168 advertise: 169 description: 170 - Enable/disable advertise status. 171 type: str 172 choices: 173 - disable 174 - enable 175 id: 176 description: 177 - Range entry ID. 178 required: true 179 type: int 180 prefix: 181 description: 182 - Prefix. 183 type: str 184 substitute: 185 description: 186 - Substitute prefix. 187 type: str 188 substitute_status: 189 description: 190 - Enable/disable substitute status. 191 type: str 192 choices: 193 - enable 194 - disable 195 shortcut: 196 description: 197 - Enable/disable shortcut option. 198 type: str 199 choices: 200 - disable 201 - enable 202 - default 203 stub_type: 204 description: 205 - Stub summary setting. 206 type: str 207 choices: 208 - no-summary 209 - summary 210 type: 211 description: 212 - Area type setting. 213 type: str 214 choices: 215 - regular 216 - nssa 217 - stub 218 virtual_link: 219 description: 220 - OSPF virtual link configuration. 221 type: list 222 suboptions: 223 authentication: 224 description: 225 - Authentication type. 226 type: str 227 choices: 228 - none 229 - text 230 - md5 231 authentication_key: 232 description: 233 - Authentication key. 234 type: str 235 dead_interval: 236 description: 237 - Dead interval. 238 type: int 239 hello_interval: 240 description: 241 - Hello interval. 242 type: int 243 md5_key: 244 description: 245 - MD5 key. 246 type: str 247 md5_keychain: 248 description: 249 - Authentication MD5 key-chain name. Source router.key-chain.name. 250 type: str 251 md5_keys: 252 description: 253 - MD5 key. 254 type: list 255 suboptions: 256 id: 257 description: 258 - Key ID (1 - 255). 259 required: true 260 type: int 261 key_string: 262 description: 263 - Password for the key. 264 type: str 265 name: 266 description: 267 - Virtual link entry name. 268 required: true 269 type: str 270 peer: 271 description: 272 - Peer IP. 273 type: str 274 retransmit_interval: 275 description: 276 - Retransmit interval. 277 type: int 278 transmit_delay: 279 description: 280 - Transmit delay. 281 type: int 282 auto_cost_ref_bandwidth: 283 description: 284 - Reference bandwidth in terms of megabits per second. 285 type: int 286 bfd: 287 description: 288 - Bidirectional Forwarding Detection (BFD). 289 type: str 290 choices: 291 - enable 292 - disable 293 database_overflow: 294 description: 295 - Enable/disable database overflow. 296 type: str 297 choices: 298 - enable 299 - disable 300 database_overflow_max_lsas: 301 description: 302 - Database overflow maximum LSAs. 303 type: int 304 database_overflow_time_to_recover: 305 description: 306 - Database overflow time to recover (sec). 307 type: int 308 default_information_metric: 309 description: 310 - Default information metric. 311 type: int 312 default_information_metric_type: 313 description: 314 - Default information metric type. 315 type: str 316 choices: 317 - 1 318 - 2 319 default_information_originate: 320 description: 321 - Enable/disable generation of default route. 322 type: str 323 choices: 324 - enable 325 - always 326 - disable 327 default_information_route_map: 328 description: 329 - Default information route map. Source router.route-map.name. 330 type: str 331 default_metric: 332 description: 333 - Default metric of redistribute routes. 334 type: int 335 distance: 336 description: 337 - Distance of the route. 338 type: int 339 distance_external: 340 description: 341 - Administrative external distance. 342 type: int 343 distance_inter_area: 344 description: 345 - Administrative inter-area distance. 346 type: int 347 distance_intra_area: 348 description: 349 - Administrative intra-area distance. 350 type: int 351 distribute_list: 352 description: 353 - Distribute list configuration. 354 type: list 355 suboptions: 356 access_list: 357 description: 358 - Access list name. Source router.access-list.name. 359 type: str 360 id: 361 description: 362 - Distribute list entry ID. 363 required: true 364 type: int 365 protocol: 366 description: 367 - Protocol type. 368 type: str 369 choices: 370 - connected 371 - static 372 - rip 373 distribute_list_in: 374 description: 375 - Filter incoming routes. Source router.access-list.name router.prefix-list.name. 376 type: str 377 distribute_route_map_in: 378 description: 379 - Filter incoming external routes by route-map. Source router.route-map.name. 380 type: str 381 log_neighbour_changes: 382 description: 383 - Enable logging of OSPF neighbour"s changes 384 type: str 385 choices: 386 - enable 387 - disable 388 neighbor: 389 description: 390 - OSPF neighbor configuration are used when OSPF runs on non-broadcast media 391 type: list 392 suboptions: 393 cost: 394 description: 395 - Cost of the interface, value range from 0 to 65535, 0 means auto-cost. 396 type: int 397 id: 398 description: 399 - Neighbor entry ID. 400 required: true 401 type: int 402 ip: 403 description: 404 - Interface IP address of the neighbor. 405 type: str 406 poll_interval: 407 description: 408 - Poll interval time in seconds. 409 type: int 410 priority: 411 description: 412 - Priority. 413 type: int 414 network: 415 description: 416 - OSPF network configuration. 417 type: list 418 suboptions: 419 area: 420 description: 421 - Attach the network to area. 422 type: str 423 comments: 424 description: 425 - Comment. 426 type: str 427 id: 428 description: 429 - Network entry ID. 430 required: true 431 type: int 432 prefix: 433 description: 434 - Prefix. 435 type: str 436 ospf_interface: 437 description: 438 - OSPF interface configuration. 439 type: list 440 suboptions: 441 authentication: 442 description: 443 - Authentication type. 444 type: str 445 choices: 446 - none 447 - text 448 - md5 449 authentication_key: 450 description: 451 - Authentication key. 452 type: str 453 bfd: 454 description: 455 - Bidirectional Forwarding Detection (BFD). 456 type: str 457 choices: 458 - global 459 - enable 460 - disable 461 comments: 462 description: 463 - Comment. 464 type: str 465 cost: 466 description: 467 - Cost of the interface, value range from 0 to 65535, 0 means auto-cost. 468 type: int 469 database_filter_out: 470 description: 471 - Enable/disable control of flooding out LSAs. 472 type: str 473 choices: 474 - enable 475 - disable 476 dead_interval: 477 description: 478 - Dead interval. 479 type: int 480 hello_interval: 481 description: 482 - Hello interval. 483 type: int 484 hello_multiplier: 485 description: 486 - Number of hello packets within dead interval. 487 type: int 488 interface: 489 description: 490 - Configuration interface name. Source system.interface.name. 491 type: str 492 ip: 493 description: 494 - IP address. 495 type: str 496 md5_key: 497 description: 498 - MD5 key. 499 type: str 500 md5_keychain: 501 description: 502 - Authentication MD5 key-chain name. Source router.key-chain.name. 503 type: str 504 md5_keys: 505 description: 506 - MD5 key. 507 type: list 508 suboptions: 509 id: 510 description: 511 - Key ID (1 - 255). 512 required: true 513 type: int 514 key_string: 515 description: 516 - Password for the key. 517 type: str 518 mtu: 519 description: 520 - MTU for database description packets. 521 type: int 522 mtu_ignore: 523 description: 524 - Enable/disable ignore MTU. 525 type: str 526 choices: 527 - enable 528 - disable 529 name: 530 description: 531 - Interface entry name. 532 required: true 533 type: str 534 network_type: 535 description: 536 - Network type. 537 type: str 538 choices: 539 - broadcast 540 - non-broadcast 541 - point-to-point 542 - point-to-multipoint 543 - point-to-multipoint-non-broadcast 544 prefix_length: 545 description: 546 - Prefix length. 547 type: int 548 priority: 549 description: 550 - Priority. 551 type: int 552 resync_timeout: 553 description: 554 - Graceful restart neighbor resynchronization timeout. 555 type: int 556 retransmit_interval: 557 description: 558 - Retransmit interval. 559 type: int 560 status: 561 description: 562 - Enable/disable status. 563 type: str 564 choices: 565 - disable 566 - enable 567 transmit_delay: 568 description: 569 - Transmit delay. 570 type: int 571 passive_interface: 572 description: 573 - Passive interface configuration. 574 type: list 575 suboptions: 576 name: 577 description: 578 - Passive interface name. Source system.interface.name. 579 required: true 580 type: str 581 redistribute: 582 description: 583 - Redistribute configuration. 584 type: list 585 suboptions: 586 metric: 587 description: 588 - Redistribute metric setting. 589 type: int 590 metric_type: 591 description: 592 - Metric type. 593 type: str 594 choices: 595 - 1 596 - 2 597 name: 598 description: 599 - Redistribute name. 600 required: true 601 type: str 602 routemap: 603 description: 604 - Route map name. Source router.route-map.name. 605 type: str 606 status: 607 description: 608 - status 609 type: str 610 choices: 611 - enable 612 - disable 613 tag: 614 description: 615 - Tag value. 616 type: int 617 restart_mode: 618 description: 619 - OSPF restart mode (graceful or LLS). 620 type: str 621 choices: 622 - none 623 - lls 624 - graceful-restart 625 restart_period: 626 description: 627 - Graceful restart period. 628 type: int 629 rfc1583_compatible: 630 description: 631 - Enable/disable RFC1583 compatibility. 632 type: str 633 choices: 634 - enable 635 - disable 636 router_id: 637 description: 638 - Router ID. 639 type: str 640 spf_timers: 641 description: 642 - SPF calculation frequency. 643 type: str 644 summary_address: 645 description: 646 - IP address summary configuration. 647 type: list 648 suboptions: 649 advertise: 650 description: 651 - Enable/disable advertise status. 652 type: str 653 choices: 654 - disable 655 - enable 656 id: 657 description: 658 - Summary address entry ID. 659 required: true 660 type: int 661 prefix: 662 description: 663 - Prefix. 664 type: str 665 tag: 666 description: 667 - Tag value. 668 type: int 669''' 670 671EXAMPLES = ''' 672- hosts: fortigates 673 collections: 674 - fortinet.fortios 675 connection: httpapi 676 vars: 677 vdom: "root" 678 ansible_httpapi_use_ssl: yes 679 ansible_httpapi_validate_certs: no 680 ansible_httpapi_port: 443 681 tasks: 682 - name: Configure OSPF. 683 fortios_router_ospf: 684 vdom: "{{ vdom }}" 685 router_ospf: 686 abr_type: "cisco" 687 area: 688 - 689 authentication: "none" 690 comments: "<your_own_value>" 691 default_cost: "7" 692 filter_list: 693 - 694 direction: "in" 695 id: "10" 696 list: "<your_own_value> (source router.access-list.name router.prefix-list.name)" 697 id: "12" 698 nssa_default_information_originate: "enable" 699 nssa_default_information_originate_metric: "14" 700 nssa_default_information_originate_metric_type: "1" 701 nssa_redistribution: "enable" 702 nssa_translator_role: "candidate" 703 range: 704 - 705 advertise: "disable" 706 id: "20" 707 prefix: "<your_own_value>" 708 substitute: "<your_own_value>" 709 substitute_status: "enable" 710 shortcut: "disable" 711 stub_type: "no-summary" 712 type: "regular" 713 virtual_link: 714 - 715 authentication: "none" 716 authentication_key: "<your_own_value>" 717 dead_interval: "30" 718 hello_interval: "31" 719 md5_key: "<your_own_value>" 720 md5_keychain: "<your_own_value> (source router.key-chain.name)" 721 md5_keys: 722 - 723 id: "35" 724 key_string: "<your_own_value>" 725 name: "default_name_37" 726 peer: "<your_own_value>" 727 retransmit_interval: "39" 728 transmit_delay: "40" 729 auto_cost_ref_bandwidth: "41" 730 bfd: "enable" 731 database_overflow: "enable" 732 database_overflow_max_lsas: "44" 733 database_overflow_time_to_recover: "45" 734 default_information_metric: "46" 735 default_information_metric_type: "1" 736 default_information_originate: "enable" 737 default_information_route_map: "<your_own_value> (source router.route-map.name)" 738 default_metric: "50" 739 distance: "51" 740 distance_external: "52" 741 distance_inter_area: "53" 742 distance_intra_area: "54" 743 distribute_list: 744 - 745 access_list: "<your_own_value> (source router.access-list.name)" 746 id: "57" 747 protocol: "connected" 748 distribute_list_in: "<your_own_value> (source router.access-list.name router.prefix-list.name)" 749 distribute_route_map_in: "<your_own_value> (source router.route-map.name)" 750 log_neighbour_changes: "enable" 751 neighbor: 752 - 753 cost: "63" 754 id: "64" 755 ip: "<your_own_value>" 756 poll_interval: "66" 757 priority: "67" 758 network: 759 - 760 area: "<your_own_value>" 761 comments: "<your_own_value>" 762 id: "71" 763 prefix: "<your_own_value>" 764 ospf_interface: 765 - 766 authentication: "none" 767 authentication_key: "<your_own_value>" 768 bfd: "global" 769 comments: "<your_own_value>" 770 cost: "78" 771 database_filter_out: "enable" 772 dead_interval: "80" 773 hello_interval: "81" 774 hello_multiplier: "82" 775 interface: "<your_own_value> (source system.interface.name)" 776 ip: "<your_own_value>" 777 md5_key: "<your_own_value>" 778 md5_keychain: "<your_own_value> (source router.key-chain.name)" 779 md5_keys: 780 - 781 id: "88" 782 key_string: "<your_own_value>" 783 mtu: "90" 784 mtu_ignore: "enable" 785 name: "default_name_92" 786 network_type: "broadcast" 787 prefix_length: "94" 788 priority: "95" 789 resync_timeout: "96" 790 retransmit_interval: "97" 791 status: "disable" 792 transmit_delay: "99" 793 passive_interface: 794 - 795 name: "default_name_101 (source system.interface.name)" 796 redistribute: 797 - 798 metric: "103" 799 metric_type: "1" 800 name: "default_name_105" 801 routemap: "<your_own_value> (source router.route-map.name)" 802 status: "enable" 803 tag: "108" 804 restart_mode: "none" 805 restart_period: "110" 806 rfc1583_compatible: "enable" 807 router_id: "<your_own_value>" 808 spf_timers: "<your_own_value>" 809 summary_address: 810 - 811 advertise: "disable" 812 id: "116" 813 prefix: "<your_own_value>" 814 tag: "118" 815 816''' 817 818RETURN = ''' 819build: 820 description: Build number of the fortigate image 821 returned: always 822 type: str 823 sample: '1547' 824http_method: 825 description: Last method used to provision the content into FortiGate 826 returned: always 827 type: str 828 sample: 'PUT' 829http_status: 830 description: Last result given by FortiGate on last operation applied 831 returned: always 832 type: str 833 sample: "200" 834mkey: 835 description: Master key (id) used in the last call to FortiGate 836 returned: success 837 type: str 838 sample: "id" 839name: 840 description: Name of the table used to fulfill the request 841 returned: always 842 type: str 843 sample: "urlfilter" 844path: 845 description: Path of the table used to fulfill the request 846 returned: always 847 type: str 848 sample: "webfilter" 849revision: 850 description: Internal revision number 851 returned: always 852 type: str 853 sample: "17.0.2.10658" 854serial: 855 description: Serial number of the unit 856 returned: always 857 type: str 858 sample: "FGVMEVYYQT3AB5352" 859status: 860 description: Indication of the operation's result 861 returned: always 862 type: str 863 sample: "success" 864vdom: 865 description: Virtual domain used 866 returned: always 867 type: str 868 sample: "root" 869version: 870 description: Version of the FortiGate 871 returned: always 872 type: str 873 sample: "v5.6.3" 874 875''' 876from ansible.module_utils.basic import AnsibleModule 877from ansible.module_utils.connection import Connection 878from ansible_collections.fortinet.fortios.plugins.module_utils.fortios.fortios import FortiOSHandler 879from ansible_collections.fortinet.fortios.plugins.module_utils.fortios.fortios import check_legacy_fortiosapi 880from ansible_collections.fortinet.fortios.plugins.module_utils.fortios.fortios import schema_to_module_spec 881from ansible_collections.fortinet.fortios.plugins.module_utils.fortios.fortios import check_schema_versioning 882from ansible_collections.fortinet.fortios.plugins.module_utils.fortimanager.common import FAIL_SOCKET_MSG 883from ansible_collections.fortinet.fortios.plugins.module_utils.fortios.comparison import is_same_comparison 884from ansible_collections.fortinet.fortios.plugins.module_utils.fortios.comparison import serialize 885 886 887def filter_router_ospf_data(json): 888 option_list = ['abr_type', 'area', 'auto_cost_ref_bandwidth', 889 'bfd', 'database_overflow', 'database_overflow_max_lsas', 890 'database_overflow_time_to_recover', 'default_information_metric', 'default_information_metric_type', 891 'default_information_originate', 'default_information_route_map', 'default_metric', 892 'distance', 'distance_external', 'distance_inter_area', 893 'distance_intra_area', 'distribute_list', 'distribute_list_in', 894 'distribute_route_map_in', 'log_neighbour_changes', 'neighbor', 895 'network', 'ospf_interface', 'passive_interface', 896 'redistribute', 'restart_mode', 'restart_period', 897 'rfc1583_compatible', 'router_id', 'spf_timers', 898 'summary_address'] 899 dictionary = {} 900 901 for attribute in option_list: 902 if attribute in json and json[attribute] is not None: 903 dictionary[attribute] = json[attribute] 904 905 return dictionary 906 907 908def underscore_to_hyphen(data): 909 if isinstance(data, list): 910 for i, elem in enumerate(data): 911 data[i] = underscore_to_hyphen(elem) 912 elif isinstance(data, dict): 913 new_data = {} 914 for k, v in data.items(): 915 new_data[k.replace('_', '-')] = underscore_to_hyphen(v) 916 data = new_data 917 918 return data 919 920 921def router_ospf(data, fos): 922 vdom = data['vdom'] 923 router_ospf_data = data['router_ospf'] 924 filtered_data = underscore_to_hyphen(filter_router_ospf_data(router_ospf_data)) 925 926 return fos.set('router', 927 'ospf', 928 data=filtered_data, 929 vdom=vdom) 930 931 932def is_successful_status(status): 933 return status['status'] == "success" or \ 934 status['http_method'] == "DELETE" and status['http_status'] == 404 935 936 937def fortios_router(data, fos): 938 939 if data['router_ospf']: 940 resp = router_ospf(data, fos) 941 else: 942 fos._module.fail_json(msg='missing task body: %s' % ('router_ospf')) 943 944 return not is_successful_status(resp), \ 945 resp['status'] == "success" and \ 946 (resp['revision_changed'] if 'revision_changed' in resp else True), \ 947 resp 948 949 950versioned_schema = { 951 "type": "dict", 952 "children": { 953 "distribute_route_map_in": { 954 "type": "string", 955 "revisions": { 956 "v6.0.0": True, 957 "v7.0.0": True, 958 "v6.0.5": True, 959 "v6.4.4": True, 960 "v6.4.0": True, 961 "v6.4.1": True, 962 "v6.2.0": True, 963 "v6.2.3": True, 964 "v6.2.5": True, 965 "v6.2.7": True, 966 "v6.0.11": True 967 } 968 }, 969 "default_information_metric": { 970 "type": "integer", 971 "revisions": { 972 "v6.0.0": True, 973 "v7.0.0": True, 974 "v6.0.5": True, 975 "v6.4.4": True, 976 "v6.4.0": True, 977 "v6.4.1": True, 978 "v6.2.0": True, 979 "v6.2.3": True, 980 "v6.2.5": True, 981 "v6.2.7": True, 982 "v6.0.11": True 983 } 984 }, 985 "distance_intra_area": { 986 "type": "integer", 987 "revisions": { 988 "v6.0.0": True, 989 "v7.0.0": True, 990 "v6.0.5": True, 991 "v6.4.4": True, 992 "v6.4.0": True, 993 "v6.4.1": True, 994 "v6.2.0": True, 995 "v6.2.3": True, 996 "v6.2.5": True, 997 "v6.2.7": True, 998 "v6.0.11": True 999 } 1000 }, 1001 "default_information_metric_type": { 1002 "type": "string", 1003 "options": [ 1004 { 1005 "value": "1", 1006 "revisions": { 1007 "v6.0.0": True, 1008 "v7.0.0": True, 1009 "v6.0.5": True, 1010 "v6.4.4": True, 1011 "v6.4.0": True, 1012 "v6.4.1": True, 1013 "v6.2.0": True, 1014 "v6.2.3": True, 1015 "v6.2.5": True, 1016 "v6.2.7": True, 1017 "v6.0.11": True 1018 } 1019 }, 1020 { 1021 "value": "2", 1022 "revisions": { 1023 "v6.0.0": True, 1024 "v7.0.0": True, 1025 "v6.0.5": True, 1026 "v6.4.4": True, 1027 "v6.4.0": True, 1028 "v6.4.1": True, 1029 "v6.2.0": True, 1030 "v6.2.3": True, 1031 "v6.2.5": True, 1032 "v6.2.7": True, 1033 "v6.0.11": True 1034 } 1035 } 1036 ], 1037 "revisions": { 1038 "v6.0.0": True, 1039 "v7.0.0": True, 1040 "v6.0.5": True, 1041 "v6.4.4": True, 1042 "v6.4.0": True, 1043 "v6.4.1": True, 1044 "v6.2.0": True, 1045 "v6.2.3": True, 1046 "v6.2.5": True, 1047 "v6.2.7": True, 1048 "v6.0.11": True 1049 } 1050 }, 1051 "network": { 1052 "type": "list", 1053 "children": { 1054 "prefix": { 1055 "type": "string", 1056 "revisions": { 1057 "v6.0.0": True, 1058 "v7.0.0": True, 1059 "v6.0.5": True, 1060 "v6.4.4": True, 1061 "v6.4.0": True, 1062 "v6.4.1": True, 1063 "v6.2.0": True, 1064 "v6.2.3": True, 1065 "v6.2.5": True, 1066 "v6.2.7": True, 1067 "v6.0.11": True 1068 } 1069 }, 1070 "id": { 1071 "type": "integer", 1072 "revisions": { 1073 "v6.0.0": True, 1074 "v7.0.0": True, 1075 "v6.0.5": True, 1076 "v6.4.4": True, 1077 "v6.4.0": True, 1078 "v6.4.1": True, 1079 "v6.2.0": True, 1080 "v6.2.3": True, 1081 "v6.2.5": True, 1082 "v6.2.7": True, 1083 "v6.0.11": True 1084 } 1085 }, 1086 "comments": { 1087 "type": "string", 1088 "revisions": { 1089 "v7.0.0": True 1090 } 1091 }, 1092 "area": { 1093 "type": "string", 1094 "revisions": { 1095 "v6.0.0": True, 1096 "v7.0.0": True, 1097 "v6.0.5": True, 1098 "v6.4.4": True, 1099 "v6.4.0": True, 1100 "v6.4.1": True, 1101 "v6.2.0": True, 1102 "v6.2.3": True, 1103 "v6.2.5": True, 1104 "v6.2.7": True, 1105 "v6.0.11": True 1106 } 1107 } 1108 }, 1109 "revisions": { 1110 "v6.0.0": True, 1111 "v7.0.0": True, 1112 "v6.0.5": True, 1113 "v6.4.4": True, 1114 "v6.4.0": True, 1115 "v6.4.1": True, 1116 "v6.2.0": True, 1117 "v6.2.3": True, 1118 "v6.2.5": True, 1119 "v6.2.7": True, 1120 "v6.0.11": True 1121 } 1122 }, 1123 "area": { 1124 "type": "list", 1125 "children": { 1126 "stub_type": { 1127 "type": "string", 1128 "options": [ 1129 { 1130 "value": "no-summary", 1131 "revisions": { 1132 "v6.0.0": True, 1133 "v7.0.0": True, 1134 "v6.0.5": True, 1135 "v6.4.4": True, 1136 "v6.4.0": True, 1137 "v6.4.1": True, 1138 "v6.2.0": True, 1139 "v6.2.3": True, 1140 "v6.2.5": True, 1141 "v6.2.7": True, 1142 "v6.0.11": True 1143 } 1144 }, 1145 { 1146 "value": "summary", 1147 "revisions": { 1148 "v6.0.0": True, 1149 "v7.0.0": True, 1150 "v6.0.5": True, 1151 "v6.4.4": True, 1152 "v6.4.0": True, 1153 "v6.4.1": True, 1154 "v6.2.0": True, 1155 "v6.2.3": True, 1156 "v6.2.5": True, 1157 "v6.2.7": True, 1158 "v6.0.11": True 1159 } 1160 } 1161 ], 1162 "revisions": { 1163 "v6.0.0": True, 1164 "v7.0.0": True, 1165 "v6.0.5": True, 1166 "v6.4.4": True, 1167 "v6.4.0": True, 1168 "v6.4.1": True, 1169 "v6.2.0": True, 1170 "v6.2.3": True, 1171 "v6.2.5": True, 1172 "v6.2.7": True, 1173 "v6.0.11": True 1174 } 1175 }, 1176 "nssa_default_information_originate_metric": { 1177 "type": "integer", 1178 "revisions": { 1179 "v6.0.0": True, 1180 "v7.0.0": True, 1181 "v6.0.5": True, 1182 "v6.4.4": True, 1183 "v6.4.0": True, 1184 "v6.4.1": True, 1185 "v6.2.0": True, 1186 "v6.2.3": True, 1187 "v6.2.5": True, 1188 "v6.2.7": True, 1189 "v6.0.11": True 1190 } 1191 }, 1192 "nssa_default_information_originate_metric_type": { 1193 "type": "string", 1194 "options": [ 1195 { 1196 "value": "1", 1197 "revisions": { 1198 "v6.0.0": True, 1199 "v7.0.0": True, 1200 "v6.0.5": True, 1201 "v6.4.4": True, 1202 "v6.4.0": True, 1203 "v6.4.1": True, 1204 "v6.2.0": True, 1205 "v6.2.3": True, 1206 "v6.2.5": True, 1207 "v6.2.7": True, 1208 "v6.0.11": True 1209 } 1210 }, 1211 { 1212 "value": "2", 1213 "revisions": { 1214 "v6.0.0": True, 1215 "v7.0.0": True, 1216 "v6.0.5": True, 1217 "v6.4.4": True, 1218 "v6.4.0": True, 1219 "v6.4.1": True, 1220 "v6.2.0": True, 1221 "v6.2.3": True, 1222 "v6.2.5": True, 1223 "v6.2.7": True, 1224 "v6.0.11": True 1225 } 1226 } 1227 ], 1228 "revisions": { 1229 "v6.0.0": True, 1230 "v7.0.0": True, 1231 "v6.0.5": True, 1232 "v6.4.4": True, 1233 "v6.4.0": True, 1234 "v6.4.1": True, 1235 "v6.2.0": True, 1236 "v6.2.3": True, 1237 "v6.2.5": True, 1238 "v6.2.7": True, 1239 "v6.0.11": True 1240 } 1241 }, 1242 "nssa_default_information_originate": { 1243 "type": "string", 1244 "options": [ 1245 { 1246 "value": "enable", 1247 "revisions": { 1248 "v6.0.0": True, 1249 "v7.0.0": True, 1250 "v6.0.5": True, 1251 "v6.4.4": True, 1252 "v6.4.0": True, 1253 "v6.4.1": True, 1254 "v6.2.0": True, 1255 "v6.2.3": True, 1256 "v6.2.5": True, 1257 "v6.2.7": True, 1258 "v6.0.11": True 1259 } 1260 }, 1261 { 1262 "value": "always", 1263 "revisions": { 1264 "v6.0.0": True, 1265 "v7.0.0": True, 1266 "v6.0.5": True, 1267 "v6.4.4": True, 1268 "v6.4.0": True, 1269 "v6.4.1": True, 1270 "v6.2.0": True, 1271 "v6.2.3": True, 1272 "v6.2.5": True, 1273 "v6.2.7": True, 1274 "v6.0.11": True 1275 } 1276 }, 1277 { 1278 "value": "disable", 1279 "revisions": { 1280 "v6.0.0": True, 1281 "v7.0.0": True, 1282 "v6.0.5": True, 1283 "v6.4.4": True, 1284 "v6.4.0": True, 1285 "v6.4.1": True, 1286 "v6.2.0": True, 1287 "v6.2.3": True, 1288 "v6.2.5": True, 1289 "v6.2.7": True, 1290 "v6.0.11": True 1291 } 1292 } 1293 ], 1294 "revisions": { 1295 "v6.0.0": True, 1296 "v7.0.0": True, 1297 "v6.0.5": True, 1298 "v6.4.4": True, 1299 "v6.4.0": True, 1300 "v6.4.1": True, 1301 "v6.2.0": True, 1302 "v6.2.3": True, 1303 "v6.2.5": True, 1304 "v6.2.7": True, 1305 "v6.0.11": True 1306 } 1307 }, 1308 "nssa_redistribution": { 1309 "type": "string", 1310 "options": [ 1311 { 1312 "value": "enable", 1313 "revisions": { 1314 "v6.0.0": True, 1315 "v7.0.0": True, 1316 "v6.0.5": True, 1317 "v6.4.4": True, 1318 "v6.4.0": True, 1319 "v6.4.1": True, 1320 "v6.2.0": True, 1321 "v6.2.3": True, 1322 "v6.2.5": True, 1323 "v6.2.7": True, 1324 "v6.0.11": True 1325 } 1326 }, 1327 { 1328 "value": "disable", 1329 "revisions": { 1330 "v6.0.0": True, 1331 "v7.0.0": True, 1332 "v6.0.5": True, 1333 "v6.4.4": True, 1334 "v6.4.0": True, 1335 "v6.4.1": True, 1336 "v6.2.0": True, 1337 "v6.2.3": True, 1338 "v6.2.5": True, 1339 "v6.2.7": True, 1340 "v6.0.11": True 1341 } 1342 } 1343 ], 1344 "revisions": { 1345 "v6.0.0": True, 1346 "v7.0.0": True, 1347 "v6.0.5": True, 1348 "v6.4.4": True, 1349 "v6.4.0": True, 1350 "v6.4.1": True, 1351 "v6.2.0": True, 1352 "v6.2.3": True, 1353 "v6.2.5": True, 1354 "v6.2.7": True, 1355 "v6.0.11": True 1356 } 1357 }, 1358 "shortcut": { 1359 "type": "string", 1360 "options": [ 1361 { 1362 "value": "disable", 1363 "revisions": { 1364 "v6.0.0": True, 1365 "v7.0.0": True, 1366 "v6.0.5": True, 1367 "v6.4.4": True, 1368 "v6.4.0": True, 1369 "v6.4.1": True, 1370 "v6.2.0": True, 1371 "v6.2.3": True, 1372 "v6.2.5": True, 1373 "v6.2.7": True, 1374 "v6.0.11": True 1375 } 1376 }, 1377 { 1378 "value": "enable", 1379 "revisions": { 1380 "v6.0.0": True, 1381 "v7.0.0": True, 1382 "v6.0.5": True, 1383 "v6.4.4": True, 1384 "v6.4.0": True, 1385 "v6.4.1": True, 1386 "v6.2.0": True, 1387 "v6.2.3": True, 1388 "v6.2.5": True, 1389 "v6.2.7": True, 1390 "v6.0.11": True 1391 } 1392 }, 1393 { 1394 "value": "default", 1395 "revisions": { 1396 "v6.0.0": True, 1397 "v7.0.0": True, 1398 "v6.0.5": True, 1399 "v6.4.4": True, 1400 "v6.4.0": True, 1401 "v6.4.1": True, 1402 "v6.2.0": True, 1403 "v6.2.3": True, 1404 "v6.2.5": True, 1405 "v6.2.7": True, 1406 "v6.0.11": True 1407 } 1408 } 1409 ], 1410 "revisions": { 1411 "v6.0.0": True, 1412 "v7.0.0": True, 1413 "v6.0.5": True, 1414 "v6.4.4": True, 1415 "v6.4.0": True, 1416 "v6.4.1": True, 1417 "v6.2.0": True, 1418 "v6.2.3": True, 1419 "v6.2.5": True, 1420 "v6.2.7": True, 1421 "v6.0.11": True 1422 } 1423 }, 1424 "default_cost": { 1425 "type": "integer", 1426 "revisions": { 1427 "v6.0.0": True, 1428 "v7.0.0": True, 1429 "v6.0.5": True, 1430 "v6.4.4": True, 1431 "v6.4.0": True, 1432 "v6.4.1": True, 1433 "v6.2.0": True, 1434 "v6.2.3": True, 1435 "v6.2.5": True, 1436 "v6.2.7": True, 1437 "v6.0.11": True 1438 } 1439 }, 1440 "authentication": { 1441 "type": "string", 1442 "options": [ 1443 { 1444 "value": "none", 1445 "revisions": { 1446 "v6.0.0": True, 1447 "v7.0.0": True, 1448 "v6.0.5": True, 1449 "v6.4.4": True, 1450 "v6.4.0": True, 1451 "v6.4.1": True, 1452 "v6.2.0": True, 1453 "v6.2.3": True, 1454 "v6.2.5": True, 1455 "v6.2.7": True, 1456 "v6.0.11": True 1457 } 1458 }, 1459 { 1460 "value": "text", 1461 "revisions": { 1462 "v6.0.0": True, 1463 "v7.0.0": True, 1464 "v6.0.5": True, 1465 "v6.4.4": True, 1466 "v6.4.0": True, 1467 "v6.4.1": True, 1468 "v6.2.0": True, 1469 "v6.2.3": True, 1470 "v6.2.5": True, 1471 "v6.2.7": True, 1472 "v6.0.11": True 1473 } 1474 }, 1475 { 1476 "value": "md5", 1477 "revisions": { 1478 "v6.0.0": True, 1479 "v7.0.0": True, 1480 "v6.0.5": True, 1481 "v6.4.4": True, 1482 "v6.4.0": True, 1483 "v6.4.1": True, 1484 "v6.2.0": True, 1485 "v6.2.3": True, 1486 "v6.2.5": True, 1487 "v6.2.7": True, 1488 "v6.0.11": True 1489 } 1490 } 1491 ], 1492 "revisions": { 1493 "v6.0.0": True, 1494 "v7.0.0": True, 1495 "v6.0.5": True, 1496 "v6.4.4": True, 1497 "v6.4.0": True, 1498 "v6.4.1": True, 1499 "v6.2.0": True, 1500 "v6.2.3": True, 1501 "v6.2.5": True, 1502 "v6.2.7": True, 1503 "v6.0.11": True 1504 } 1505 }, 1506 "nssa_translator_role": { 1507 "type": "string", 1508 "options": [ 1509 { 1510 "value": "candidate", 1511 "revisions": { 1512 "v6.0.0": True, 1513 "v7.0.0": True, 1514 "v6.0.5": True, 1515 "v6.4.4": True, 1516 "v6.4.0": True, 1517 "v6.4.1": True, 1518 "v6.2.0": True, 1519 "v6.2.3": True, 1520 "v6.2.5": True, 1521 "v6.2.7": True, 1522 "v6.0.11": True 1523 } 1524 }, 1525 { 1526 "value": "never", 1527 "revisions": { 1528 "v6.0.0": True, 1529 "v7.0.0": True, 1530 "v6.0.5": True, 1531 "v6.4.4": True, 1532 "v6.4.0": True, 1533 "v6.4.1": True, 1534 "v6.2.0": True, 1535 "v6.2.3": True, 1536 "v6.2.5": True, 1537 "v6.2.7": True, 1538 "v6.0.11": True 1539 } 1540 }, 1541 { 1542 "value": "always", 1543 "revisions": { 1544 "v6.0.0": True, 1545 "v7.0.0": True, 1546 "v6.0.5": True, 1547 "v6.4.4": True, 1548 "v6.4.0": True, 1549 "v6.4.1": True, 1550 "v6.2.0": True, 1551 "v6.2.3": True, 1552 "v6.2.5": True, 1553 "v6.2.7": True, 1554 "v6.0.11": True 1555 } 1556 } 1557 ], 1558 "revisions": { 1559 "v6.0.0": True, 1560 "v7.0.0": True, 1561 "v6.0.5": True, 1562 "v6.4.4": True, 1563 "v6.4.0": True, 1564 "v6.4.1": True, 1565 "v6.2.0": True, 1566 "v6.2.3": True, 1567 "v6.2.5": True, 1568 "v6.2.7": True, 1569 "v6.0.11": True 1570 } 1571 }, 1572 "virtual_link": { 1573 "type": "list", 1574 "children": { 1575 "retransmit_interval": { 1576 "type": "integer", 1577 "revisions": { 1578 "v6.0.0": True, 1579 "v7.0.0": True, 1580 "v6.0.5": True, 1581 "v6.4.4": True, 1582 "v6.4.0": True, 1583 "v6.4.1": True, 1584 "v6.2.0": True, 1585 "v6.2.3": True, 1586 "v6.2.5": True, 1587 "v6.2.7": True, 1588 "v6.0.11": True 1589 } 1590 }, 1591 "md5_keys": { 1592 "type": "list", 1593 "children": { 1594 "key_string": { 1595 "type": "string", 1596 "revisions": { 1597 "v7.0.0": True, 1598 "v6.4.4": True, 1599 "v6.4.0": True, 1600 "v6.4.1": True, 1601 "v6.2.0": True, 1602 "v6.2.3": True, 1603 "v6.2.5": True, 1604 "v6.2.7": True 1605 } 1606 }, 1607 "id": { 1608 "type": "integer", 1609 "revisions": { 1610 "v7.0.0": True, 1611 "v6.4.4": True, 1612 "v6.4.0": True, 1613 "v6.4.1": True, 1614 "v6.2.0": True, 1615 "v6.2.3": True, 1616 "v6.2.5": True, 1617 "v6.2.7": True 1618 } 1619 } 1620 }, 1621 "revisions": { 1622 "v7.0.0": True, 1623 "v6.4.4": True, 1624 "v6.4.0": True, 1625 "v6.4.1": True, 1626 "v6.2.0": True, 1627 "v6.2.3": True, 1628 "v6.2.5": True, 1629 "v6.2.7": True 1630 } 1631 }, 1632 "name": { 1633 "type": "string", 1634 "revisions": { 1635 "v6.0.0": True, 1636 "v7.0.0": True, 1637 "v6.0.5": True, 1638 "v6.4.4": True, 1639 "v6.4.0": True, 1640 "v6.4.1": True, 1641 "v6.2.0": True, 1642 "v6.2.3": True, 1643 "v6.2.5": True, 1644 "v6.2.7": True, 1645 "v6.0.11": True 1646 } 1647 }, 1648 "md5_keychain": { 1649 "type": "string", 1650 "revisions": { 1651 "v7.0.0": True, 1652 "v6.4.4": True, 1653 "v6.4.0": True, 1654 "v6.4.1": True, 1655 "v6.2.0": True, 1656 "v6.2.3": True, 1657 "v6.2.5": True, 1658 "v6.2.7": True 1659 } 1660 }, 1661 "md5_key": { 1662 "type": "string", 1663 "revisions": { 1664 "v6.0.0": True, 1665 "v7.0.0": False, 1666 "v6.0.5": True, 1667 "v6.4.4": False, 1668 "v6.4.0": False, 1669 "v6.4.1": False, 1670 "v6.2.0": False, 1671 "v6.2.3": False, 1672 "v6.2.5": False, 1673 "v6.2.7": False, 1674 "v6.0.11": True 1675 } 1676 }, 1677 "authentication": { 1678 "type": "string", 1679 "options": [ 1680 { 1681 "value": "none", 1682 "revisions": { 1683 "v6.0.0": True, 1684 "v7.0.0": True, 1685 "v6.0.5": True, 1686 "v6.4.4": True, 1687 "v6.4.0": True, 1688 "v6.4.1": True, 1689 "v6.2.0": True, 1690 "v6.2.3": True, 1691 "v6.2.5": True, 1692 "v6.2.7": True, 1693 "v6.0.11": True 1694 } 1695 }, 1696 { 1697 "value": "text", 1698 "revisions": { 1699 "v6.0.0": True, 1700 "v7.0.0": True, 1701 "v6.0.5": True, 1702 "v6.4.4": True, 1703 "v6.4.0": True, 1704 "v6.4.1": True, 1705 "v6.2.0": True, 1706 "v6.2.3": True, 1707 "v6.2.5": True, 1708 "v6.2.7": True, 1709 "v6.0.11": True 1710 } 1711 }, 1712 { 1713 "value": "md5", 1714 "revisions": { 1715 "v6.0.0": True, 1716 "v7.0.0": True, 1717 "v6.0.5": True, 1718 "v6.4.4": True, 1719 "v6.4.0": True, 1720 "v6.4.1": True, 1721 "v6.2.0": True, 1722 "v6.2.3": True, 1723 "v6.2.5": True, 1724 "v6.2.7": True, 1725 "v6.0.11": True 1726 } 1727 } 1728 ], 1729 "revisions": { 1730 "v6.0.0": True, 1731 "v7.0.0": True, 1732 "v6.0.5": True, 1733 "v6.4.4": True, 1734 "v6.4.0": True, 1735 "v6.4.1": True, 1736 "v6.2.0": True, 1737 "v6.2.3": True, 1738 "v6.2.5": True, 1739 "v6.2.7": True, 1740 "v6.0.11": True 1741 } 1742 }, 1743 "dead_interval": { 1744 "type": "integer", 1745 "revisions": { 1746 "v6.0.0": True, 1747 "v7.0.0": True, 1748 "v6.0.5": True, 1749 "v6.4.4": True, 1750 "v6.4.0": True, 1751 "v6.4.1": True, 1752 "v6.2.0": True, 1753 "v6.2.3": True, 1754 "v6.2.5": True, 1755 "v6.2.7": True, 1756 "v6.0.11": True 1757 } 1758 }, 1759 "hello_interval": { 1760 "type": "integer", 1761 "revisions": { 1762 "v6.0.0": True, 1763 "v7.0.0": True, 1764 "v6.0.5": True, 1765 "v6.4.4": True, 1766 "v6.4.0": True, 1767 "v6.4.1": True, 1768 "v6.2.0": True, 1769 "v6.2.3": True, 1770 "v6.2.5": True, 1771 "v6.2.7": True, 1772 "v6.0.11": True 1773 } 1774 }, 1775 "peer": { 1776 "type": "string", 1777 "revisions": { 1778 "v6.0.0": True, 1779 "v7.0.0": True, 1780 "v6.0.5": True, 1781 "v6.4.4": True, 1782 "v6.4.0": True, 1783 "v6.4.1": True, 1784 "v6.2.0": True, 1785 "v6.2.3": True, 1786 "v6.2.5": True, 1787 "v6.2.7": True, 1788 "v6.0.11": True 1789 } 1790 }, 1791 "authentication_key": { 1792 "type": "string", 1793 "revisions": { 1794 "v6.0.0": True, 1795 "v7.0.0": True, 1796 "v6.0.5": True, 1797 "v6.4.4": True, 1798 "v6.4.0": True, 1799 "v6.4.1": True, 1800 "v6.2.0": True, 1801 "v6.2.3": True, 1802 "v6.2.5": True, 1803 "v6.2.7": True, 1804 "v6.0.11": True 1805 } 1806 }, 1807 "transmit_delay": { 1808 "type": "integer", 1809 "revisions": { 1810 "v6.0.0": True, 1811 "v7.0.0": True, 1812 "v6.0.5": True, 1813 "v6.4.4": True, 1814 "v6.4.0": True, 1815 "v6.4.1": True, 1816 "v6.2.0": True, 1817 "v6.2.3": True, 1818 "v6.2.5": True, 1819 "v6.2.7": True, 1820 "v6.0.11": True 1821 } 1822 } 1823 }, 1824 "revisions": { 1825 "v6.0.0": True, 1826 "v7.0.0": True, 1827 "v6.0.5": True, 1828 "v6.4.4": True, 1829 "v6.4.0": True, 1830 "v6.4.1": True, 1831 "v6.2.0": True, 1832 "v6.2.3": True, 1833 "v6.2.5": True, 1834 "v6.2.7": True, 1835 "v6.0.11": True 1836 } 1837 }, 1838 "filter_list": { 1839 "type": "list", 1840 "children": { 1841 "direction": { 1842 "type": "string", 1843 "options": [ 1844 { 1845 "value": "in", 1846 "revisions": { 1847 "v6.0.0": True, 1848 "v7.0.0": True, 1849 "v6.0.5": True, 1850 "v6.4.4": True, 1851 "v6.4.0": True, 1852 "v6.4.1": True, 1853 "v6.2.0": True, 1854 "v6.2.3": True, 1855 "v6.2.5": True, 1856 "v6.2.7": True, 1857 "v6.0.11": True 1858 } 1859 }, 1860 { 1861 "value": "out", 1862 "revisions": { 1863 "v6.0.0": True, 1864 "v7.0.0": True, 1865 "v6.0.5": True, 1866 "v6.4.4": True, 1867 "v6.4.0": True, 1868 "v6.4.1": True, 1869 "v6.2.0": True, 1870 "v6.2.3": True, 1871 "v6.2.5": True, 1872 "v6.2.7": True, 1873 "v6.0.11": True 1874 } 1875 } 1876 ], 1877 "revisions": { 1878 "v6.0.0": True, 1879 "v7.0.0": True, 1880 "v6.0.5": True, 1881 "v6.4.4": True, 1882 "v6.4.0": True, 1883 "v6.4.1": True, 1884 "v6.2.0": True, 1885 "v6.2.3": True, 1886 "v6.2.5": True, 1887 "v6.2.7": True, 1888 "v6.0.11": True 1889 } 1890 }, 1891 "list": { 1892 "type": "string", 1893 "revisions": { 1894 "v6.0.0": True, 1895 "v7.0.0": True, 1896 "v6.0.5": True, 1897 "v6.4.4": True, 1898 "v6.4.0": True, 1899 "v6.4.1": True, 1900 "v6.2.0": True, 1901 "v6.2.3": True, 1902 "v6.2.5": True, 1903 "v6.2.7": True, 1904 "v6.0.11": True 1905 } 1906 }, 1907 "id": { 1908 "type": "integer", 1909 "revisions": { 1910 "v6.0.0": True, 1911 "v7.0.0": True, 1912 "v6.0.5": True, 1913 "v6.4.4": True, 1914 "v6.4.0": True, 1915 "v6.4.1": True, 1916 "v6.2.0": True, 1917 "v6.2.3": True, 1918 "v6.2.5": True, 1919 "v6.2.7": True, 1920 "v6.0.11": True 1921 } 1922 } 1923 }, 1924 "revisions": { 1925 "v6.0.0": True, 1926 "v7.0.0": True, 1927 "v6.0.5": True, 1928 "v6.4.4": True, 1929 "v6.4.0": True, 1930 "v6.4.1": True, 1931 "v6.2.0": True, 1932 "v6.2.3": True, 1933 "v6.2.5": True, 1934 "v6.2.7": True, 1935 "v6.0.11": True 1936 } 1937 }, 1938 "range": { 1939 "type": "list", 1940 "children": { 1941 "substitute_status": { 1942 "type": "string", 1943 "options": [ 1944 { 1945 "value": "enable", 1946 "revisions": { 1947 "v6.0.0": True, 1948 "v7.0.0": True, 1949 "v6.0.5": True, 1950 "v6.4.4": True, 1951 "v6.4.0": True, 1952 "v6.4.1": True, 1953 "v6.2.0": True, 1954 "v6.2.3": True, 1955 "v6.2.5": True, 1956 "v6.2.7": True, 1957 "v6.0.11": True 1958 } 1959 }, 1960 { 1961 "value": "disable", 1962 "revisions": { 1963 "v6.0.0": True, 1964 "v7.0.0": True, 1965 "v6.0.5": True, 1966 "v6.4.4": True, 1967 "v6.4.0": True, 1968 "v6.4.1": True, 1969 "v6.2.0": True, 1970 "v6.2.3": True, 1971 "v6.2.5": True, 1972 "v6.2.7": True, 1973 "v6.0.11": True 1974 } 1975 } 1976 ], 1977 "revisions": { 1978 "v6.0.0": True, 1979 "v7.0.0": True, 1980 "v6.0.5": True, 1981 "v6.4.4": True, 1982 "v6.4.0": True, 1983 "v6.4.1": True, 1984 "v6.2.0": True, 1985 "v6.2.3": True, 1986 "v6.2.5": True, 1987 "v6.2.7": True, 1988 "v6.0.11": True 1989 } 1990 }, 1991 "advertise": { 1992 "type": "string", 1993 "options": [ 1994 { 1995 "value": "disable", 1996 "revisions": { 1997 "v6.0.0": True, 1998 "v7.0.0": True, 1999 "v6.0.5": True, 2000 "v6.4.4": True, 2001 "v6.4.0": True, 2002 "v6.4.1": True, 2003 "v6.2.0": True, 2004 "v6.2.3": True, 2005 "v6.2.5": True, 2006 "v6.2.7": True, 2007 "v6.0.11": True 2008 } 2009 }, 2010 { 2011 "value": "enable", 2012 "revisions": { 2013 "v6.0.0": True, 2014 "v7.0.0": True, 2015 "v6.0.5": True, 2016 "v6.4.4": True, 2017 "v6.4.0": True, 2018 "v6.4.1": True, 2019 "v6.2.0": True, 2020 "v6.2.3": True, 2021 "v6.2.5": True, 2022 "v6.2.7": True, 2023 "v6.0.11": True 2024 } 2025 } 2026 ], 2027 "revisions": { 2028 "v6.0.0": True, 2029 "v7.0.0": True, 2030 "v6.0.5": True, 2031 "v6.4.4": True, 2032 "v6.4.0": True, 2033 "v6.4.1": True, 2034 "v6.2.0": True, 2035 "v6.2.3": True, 2036 "v6.2.5": True, 2037 "v6.2.7": True, 2038 "v6.0.11": True 2039 } 2040 }, 2041 "prefix": { 2042 "type": "string", 2043 "revisions": { 2044 "v6.0.0": True, 2045 "v7.0.0": True, 2046 "v6.0.5": True, 2047 "v6.4.4": True, 2048 "v6.4.0": True, 2049 "v6.4.1": True, 2050 "v6.2.0": True, 2051 "v6.2.3": True, 2052 "v6.2.5": True, 2053 "v6.2.7": True, 2054 "v6.0.11": True 2055 } 2056 }, 2057 "substitute": { 2058 "type": "string", 2059 "revisions": { 2060 "v6.0.0": True, 2061 "v7.0.0": True, 2062 "v6.0.5": True, 2063 "v6.4.4": True, 2064 "v6.4.0": True, 2065 "v6.4.1": True, 2066 "v6.2.0": True, 2067 "v6.2.3": True, 2068 "v6.2.5": True, 2069 "v6.2.7": True, 2070 "v6.0.11": True 2071 } 2072 }, 2073 "id": { 2074 "type": "integer", 2075 "revisions": { 2076 "v6.0.0": True, 2077 "v7.0.0": True, 2078 "v6.0.5": True, 2079 "v6.4.4": True, 2080 "v6.4.0": True, 2081 "v6.4.1": True, 2082 "v6.2.0": True, 2083 "v6.2.3": True, 2084 "v6.2.5": True, 2085 "v6.2.7": True, 2086 "v6.0.11": True 2087 } 2088 } 2089 }, 2090 "revisions": { 2091 "v6.0.0": True, 2092 "v7.0.0": True, 2093 "v6.0.5": True, 2094 "v6.4.4": True, 2095 "v6.4.0": True, 2096 "v6.4.1": True, 2097 "v6.2.0": True, 2098 "v6.2.3": True, 2099 "v6.2.5": True, 2100 "v6.2.7": True, 2101 "v6.0.11": True 2102 } 2103 }, 2104 "type": { 2105 "type": "string", 2106 "options": [ 2107 { 2108 "value": "regular", 2109 "revisions": { 2110 "v6.0.0": True, 2111 "v7.0.0": True, 2112 "v6.0.5": True, 2113 "v6.4.4": True, 2114 "v6.4.0": True, 2115 "v6.4.1": True, 2116 "v6.2.0": True, 2117 "v6.2.3": True, 2118 "v6.2.5": True, 2119 "v6.2.7": True, 2120 "v6.0.11": True 2121 } 2122 }, 2123 { 2124 "value": "nssa", 2125 "revisions": { 2126 "v6.0.0": True, 2127 "v7.0.0": True, 2128 "v6.0.5": True, 2129 "v6.4.4": True, 2130 "v6.4.0": True, 2131 "v6.4.1": True, 2132 "v6.2.0": True, 2133 "v6.2.3": True, 2134 "v6.2.5": True, 2135 "v6.2.7": True, 2136 "v6.0.11": True 2137 } 2138 }, 2139 { 2140 "value": "stub", 2141 "revisions": { 2142 "v6.0.0": True, 2143 "v7.0.0": True, 2144 "v6.0.5": True, 2145 "v6.4.4": True, 2146 "v6.4.0": True, 2147 "v6.4.1": True, 2148 "v6.2.0": True, 2149 "v6.2.3": True, 2150 "v6.2.5": True, 2151 "v6.2.7": True, 2152 "v6.0.11": True 2153 } 2154 } 2155 ], 2156 "revisions": { 2157 "v6.0.0": True, 2158 "v7.0.0": True, 2159 "v6.0.5": True, 2160 "v6.4.4": True, 2161 "v6.4.0": True, 2162 "v6.4.1": True, 2163 "v6.2.0": True, 2164 "v6.2.3": True, 2165 "v6.2.5": True, 2166 "v6.2.7": True, 2167 "v6.0.11": True 2168 } 2169 }, 2170 "id": { 2171 "type": "string", 2172 "revisions": { 2173 "v6.0.0": True, 2174 "v7.0.0": True, 2175 "v6.0.5": True, 2176 "v6.4.4": True, 2177 "v6.4.0": True, 2178 "v6.4.1": True, 2179 "v6.2.0": True, 2180 "v6.2.3": True, 2181 "v6.2.5": True, 2182 "v6.2.7": True, 2183 "v6.0.11": True 2184 } 2185 }, 2186 "comments": { 2187 "type": "string", 2188 "revisions": { 2189 "v7.0.0": True 2190 } 2191 } 2192 }, 2193 "revisions": { 2194 "v6.0.0": True, 2195 "v7.0.0": True, 2196 "v6.0.5": True, 2197 "v6.4.4": True, 2198 "v6.4.0": True, 2199 "v6.4.1": True, 2200 "v6.2.0": True, 2201 "v6.2.3": True, 2202 "v6.2.5": True, 2203 "v6.2.7": True, 2204 "v6.0.11": True 2205 } 2206 }, 2207 "distribute_list": { 2208 "type": "list", 2209 "children": { 2210 "protocol": { 2211 "type": "string", 2212 "options": [ 2213 { 2214 "value": "connected", 2215 "revisions": { 2216 "v6.0.0": True, 2217 "v7.0.0": True, 2218 "v6.0.5": True, 2219 "v6.4.4": True, 2220 "v6.4.0": True, 2221 "v6.4.1": True, 2222 "v6.2.0": True, 2223 "v6.2.3": True, 2224 "v6.2.5": True, 2225 "v6.2.7": True, 2226 "v6.0.11": True 2227 } 2228 }, 2229 { 2230 "value": "static", 2231 "revisions": { 2232 "v6.0.0": True, 2233 "v7.0.0": True, 2234 "v6.0.5": True, 2235 "v6.4.4": True, 2236 "v6.4.0": True, 2237 "v6.4.1": True, 2238 "v6.2.0": True, 2239 "v6.2.3": True, 2240 "v6.2.5": True, 2241 "v6.2.7": True, 2242 "v6.0.11": True 2243 } 2244 }, 2245 { 2246 "value": "rip", 2247 "revisions": { 2248 "v6.0.0": True, 2249 "v7.0.0": True, 2250 "v6.0.5": True, 2251 "v6.4.4": True, 2252 "v6.4.0": True, 2253 "v6.4.1": True, 2254 "v6.2.0": True, 2255 "v6.2.3": True, 2256 "v6.2.5": True, 2257 "v6.2.7": True, 2258 "v6.0.11": True 2259 } 2260 } 2261 ], 2262 "revisions": { 2263 "v6.0.0": True, 2264 "v7.0.0": True, 2265 "v6.0.5": True, 2266 "v6.4.4": True, 2267 "v6.4.0": True, 2268 "v6.4.1": True, 2269 "v6.2.0": True, 2270 "v6.2.3": True, 2271 "v6.2.5": True, 2272 "v6.2.7": True, 2273 "v6.0.11": True 2274 } 2275 }, 2276 "id": { 2277 "type": "integer", 2278 "revisions": { 2279 "v6.0.0": True, 2280 "v7.0.0": True, 2281 "v6.0.5": True, 2282 "v6.4.4": True, 2283 "v6.4.0": True, 2284 "v6.4.1": True, 2285 "v6.2.0": True, 2286 "v6.2.3": True, 2287 "v6.2.5": True, 2288 "v6.2.7": True, 2289 "v6.0.11": True 2290 } 2291 }, 2292 "access_list": { 2293 "type": "string", 2294 "revisions": { 2295 "v6.0.0": True, 2296 "v7.0.0": True, 2297 "v6.0.5": True, 2298 "v6.4.4": True, 2299 "v6.4.0": True, 2300 "v6.4.1": True, 2301 "v6.2.0": True, 2302 "v6.2.3": True, 2303 "v6.2.5": True, 2304 "v6.2.7": True, 2305 "v6.0.11": True 2306 } 2307 } 2308 }, 2309 "revisions": { 2310 "v6.0.0": True, 2311 "v7.0.0": True, 2312 "v6.0.5": True, 2313 "v6.4.4": True, 2314 "v6.4.0": True, 2315 "v6.4.1": True, 2316 "v6.2.0": True, 2317 "v6.2.3": True, 2318 "v6.2.5": True, 2319 "v6.2.7": True, 2320 "v6.0.11": True 2321 } 2322 }, 2323 "abr_type": { 2324 "type": "string", 2325 "options": [ 2326 { 2327 "value": "cisco", 2328 "revisions": { 2329 "v6.0.0": True, 2330 "v7.0.0": True, 2331 "v6.0.5": True, 2332 "v6.4.4": True, 2333 "v6.4.0": True, 2334 "v6.4.1": True, 2335 "v6.2.0": True, 2336 "v6.2.3": True, 2337 "v6.2.5": True, 2338 "v6.2.7": True, 2339 "v6.0.11": True 2340 } 2341 }, 2342 { 2343 "value": "ibm", 2344 "revisions": { 2345 "v6.0.0": True, 2346 "v7.0.0": True, 2347 "v6.0.5": True, 2348 "v6.4.4": True, 2349 "v6.4.0": True, 2350 "v6.4.1": True, 2351 "v6.2.0": True, 2352 "v6.2.3": True, 2353 "v6.2.5": True, 2354 "v6.2.7": True, 2355 "v6.0.11": True 2356 } 2357 }, 2358 { 2359 "value": "shortcut", 2360 "revisions": { 2361 "v6.0.0": True, 2362 "v7.0.0": True, 2363 "v6.0.5": True, 2364 "v6.4.4": True, 2365 "v6.4.0": True, 2366 "v6.4.1": True, 2367 "v6.2.0": True, 2368 "v6.2.3": True, 2369 "v6.2.5": True, 2370 "v6.2.7": True, 2371 "v6.0.11": True 2372 } 2373 }, 2374 { 2375 "value": "standard", 2376 "revisions": { 2377 "v6.0.0": True, 2378 "v7.0.0": True, 2379 "v6.0.5": True, 2380 "v6.4.4": True, 2381 "v6.4.0": True, 2382 "v6.4.1": True, 2383 "v6.2.0": True, 2384 "v6.2.3": True, 2385 "v6.2.5": True, 2386 "v6.2.7": True, 2387 "v6.0.11": True 2388 } 2389 } 2390 ], 2391 "revisions": { 2392 "v6.0.0": True, 2393 "v7.0.0": True, 2394 "v6.0.5": True, 2395 "v6.4.4": True, 2396 "v6.4.0": True, 2397 "v6.4.1": True, 2398 "v6.2.0": True, 2399 "v6.2.3": True, 2400 "v6.2.5": True, 2401 "v6.2.7": True, 2402 "v6.0.11": True 2403 } 2404 }, 2405 "distance_external": { 2406 "type": "integer", 2407 "revisions": { 2408 "v6.0.0": True, 2409 "v7.0.0": True, 2410 "v6.0.5": True, 2411 "v6.4.4": True, 2412 "v6.4.0": True, 2413 "v6.4.1": True, 2414 "v6.2.0": True, 2415 "v6.2.3": True, 2416 "v6.2.5": True, 2417 "v6.2.7": True, 2418 "v6.0.11": True 2419 } 2420 }, 2421 "default_information_originate": { 2422 "type": "string", 2423 "options": [ 2424 { 2425 "value": "enable", 2426 "revisions": { 2427 "v6.0.0": True, 2428 "v7.0.0": True, 2429 "v6.0.5": True, 2430 "v6.4.4": True, 2431 "v6.4.0": True, 2432 "v6.4.1": True, 2433 "v6.2.0": True, 2434 "v6.2.3": True, 2435 "v6.2.5": True, 2436 "v6.2.7": True, 2437 "v6.0.11": True 2438 } 2439 }, 2440 { 2441 "value": "always", 2442 "revisions": { 2443 "v6.0.0": True, 2444 "v7.0.0": True, 2445 "v6.0.5": True, 2446 "v6.4.4": True, 2447 "v6.4.0": True, 2448 "v6.4.1": True, 2449 "v6.2.0": True, 2450 "v6.2.3": True, 2451 "v6.2.5": True, 2452 "v6.2.7": True, 2453 "v6.0.11": True 2454 } 2455 }, 2456 { 2457 "value": "disable", 2458 "revisions": { 2459 "v6.0.0": True, 2460 "v7.0.0": True, 2461 "v6.0.5": True, 2462 "v6.4.4": True, 2463 "v6.4.0": True, 2464 "v6.4.1": True, 2465 "v6.2.0": True, 2466 "v6.2.3": True, 2467 "v6.2.5": True, 2468 "v6.2.7": True, 2469 "v6.0.11": True 2470 } 2471 } 2472 ], 2473 "revisions": { 2474 "v6.0.0": True, 2475 "v7.0.0": True, 2476 "v6.0.5": True, 2477 "v6.4.4": True, 2478 "v6.4.0": True, 2479 "v6.4.1": True, 2480 "v6.2.0": True, 2481 "v6.2.3": True, 2482 "v6.2.5": True, 2483 "v6.2.7": True, 2484 "v6.0.11": True 2485 } 2486 }, 2487 "passive_interface": { 2488 "type": "list", 2489 "children": { 2490 "name": { 2491 "type": "string", 2492 "revisions": { 2493 "v6.0.0": True, 2494 "v7.0.0": True, 2495 "v6.0.5": True, 2496 "v6.4.4": True, 2497 "v6.4.0": True, 2498 "v6.4.1": True, 2499 "v6.2.0": True, 2500 "v6.2.3": True, 2501 "v6.2.5": True, 2502 "v6.2.7": True, 2503 "v6.0.11": True 2504 } 2505 } 2506 }, 2507 "revisions": { 2508 "v6.0.0": True, 2509 "v7.0.0": True, 2510 "v6.0.5": True, 2511 "v6.4.4": True, 2512 "v6.4.0": True, 2513 "v6.4.1": True, 2514 "v6.2.0": True, 2515 "v6.2.3": True, 2516 "v6.2.5": True, 2517 "v6.2.7": True, 2518 "v6.0.11": True 2519 } 2520 }, 2521 "restart_mode": { 2522 "type": "string", 2523 "options": [ 2524 { 2525 "value": "none", 2526 "revisions": { 2527 "v6.0.0": True, 2528 "v7.0.0": True, 2529 "v6.0.5": True, 2530 "v6.4.4": True, 2531 "v6.4.0": True, 2532 "v6.4.1": True, 2533 "v6.2.0": True, 2534 "v6.2.3": True, 2535 "v6.2.5": True, 2536 "v6.2.7": True, 2537 "v6.0.11": True 2538 } 2539 }, 2540 { 2541 "value": "lls", 2542 "revisions": { 2543 "v6.0.0": True, 2544 "v7.0.0": True, 2545 "v6.0.5": True, 2546 "v6.4.4": True, 2547 "v6.4.0": True, 2548 "v6.4.1": True, 2549 "v6.2.0": True, 2550 "v6.2.3": True, 2551 "v6.2.5": True, 2552 "v6.2.7": True, 2553 "v6.0.11": True 2554 } 2555 }, 2556 { 2557 "value": "graceful-restart", 2558 "revisions": { 2559 "v6.0.0": True, 2560 "v7.0.0": True, 2561 "v6.0.5": True, 2562 "v6.4.4": True, 2563 "v6.4.0": True, 2564 "v6.4.1": True, 2565 "v6.2.0": True, 2566 "v6.2.3": True, 2567 "v6.2.5": True, 2568 "v6.2.7": True, 2569 "v6.0.11": True 2570 } 2571 } 2572 ], 2573 "revisions": { 2574 "v6.0.0": True, 2575 "v7.0.0": True, 2576 "v6.0.5": True, 2577 "v6.4.4": True, 2578 "v6.4.0": True, 2579 "v6.4.1": True, 2580 "v6.2.0": True, 2581 "v6.2.3": True, 2582 "v6.2.5": True, 2583 "v6.2.7": True, 2584 "v6.0.11": True 2585 } 2586 }, 2587 "default_information_route_map": { 2588 "type": "string", 2589 "revisions": { 2590 "v6.0.0": True, 2591 "v7.0.0": True, 2592 "v6.0.5": True, 2593 "v6.4.4": True, 2594 "v6.4.0": True, 2595 "v6.4.1": True, 2596 "v6.2.0": True, 2597 "v6.2.3": True, 2598 "v6.2.5": True, 2599 "v6.2.7": True, 2600 "v6.0.11": True 2601 } 2602 }, 2603 "router_id": { 2604 "type": "string", 2605 "revisions": { 2606 "v6.0.0": True, 2607 "v7.0.0": True, 2608 "v6.0.5": True, 2609 "v6.4.4": True, 2610 "v6.4.0": True, 2611 "v6.4.1": True, 2612 "v6.2.0": True, 2613 "v6.2.3": True, 2614 "v6.2.5": True, 2615 "v6.2.7": True, 2616 "v6.0.11": True 2617 } 2618 }, 2619 "distance_inter_area": { 2620 "type": "integer", 2621 "revisions": { 2622 "v6.0.0": True, 2623 "v7.0.0": True, 2624 "v6.0.5": True, 2625 "v6.4.4": True, 2626 "v6.4.0": True, 2627 "v6.4.1": True, 2628 "v6.2.0": True, 2629 "v6.2.3": True, 2630 "v6.2.5": True, 2631 "v6.2.7": True, 2632 "v6.0.11": True 2633 } 2634 }, 2635 "auto_cost_ref_bandwidth": { 2636 "type": "integer", 2637 "revisions": { 2638 "v6.0.0": True, 2639 "v7.0.0": True, 2640 "v6.0.5": True, 2641 "v6.4.4": True, 2642 "v6.4.0": True, 2643 "v6.4.1": True, 2644 "v6.2.0": True, 2645 "v6.2.3": True, 2646 "v6.2.5": True, 2647 "v6.2.7": True, 2648 "v6.0.11": True 2649 } 2650 }, 2651 "log_neighbour_changes": { 2652 "type": "string", 2653 "options": [ 2654 { 2655 "value": "enable", 2656 "revisions": { 2657 "v6.0.0": True, 2658 "v7.0.0": True, 2659 "v6.0.5": True, 2660 "v6.4.4": True, 2661 "v6.4.0": True, 2662 "v6.4.1": True, 2663 "v6.2.0": True, 2664 "v6.2.3": True, 2665 "v6.2.5": True, 2666 "v6.2.7": True, 2667 "v6.0.11": True 2668 } 2669 }, 2670 { 2671 "value": "disable", 2672 "revisions": { 2673 "v6.0.0": True, 2674 "v7.0.0": True, 2675 "v6.0.5": True, 2676 "v6.4.4": True, 2677 "v6.4.0": True, 2678 "v6.4.1": True, 2679 "v6.2.0": True, 2680 "v6.2.3": True, 2681 "v6.2.5": True, 2682 "v6.2.7": True, 2683 "v6.0.11": True 2684 } 2685 } 2686 ], 2687 "revisions": { 2688 "v6.0.0": True, 2689 "v7.0.0": True, 2690 "v6.0.5": True, 2691 "v6.4.4": True, 2692 "v6.4.0": True, 2693 "v6.4.1": True, 2694 "v6.2.0": True, 2695 "v6.2.3": True, 2696 "v6.2.5": True, 2697 "v6.2.7": True, 2698 "v6.0.11": True 2699 } 2700 }, 2701 "default_metric": { 2702 "type": "integer", 2703 "revisions": { 2704 "v6.0.0": True, 2705 "v7.0.0": True, 2706 "v6.0.5": True, 2707 "v6.4.4": True, 2708 "v6.4.0": True, 2709 "v6.4.1": True, 2710 "v6.2.0": True, 2711 "v6.2.3": True, 2712 "v6.2.5": True, 2713 "v6.2.7": True, 2714 "v6.0.11": True 2715 } 2716 }, 2717 "summary_address": { 2718 "type": "list", 2719 "children": { 2720 "prefix": { 2721 "type": "string", 2722 "revisions": { 2723 "v6.0.0": True, 2724 "v7.0.0": True, 2725 "v6.0.5": True, 2726 "v6.4.4": True, 2727 "v6.4.0": True, 2728 "v6.4.1": True, 2729 "v6.2.0": True, 2730 "v6.2.3": True, 2731 "v6.2.5": True, 2732 "v6.2.7": True, 2733 "v6.0.11": True 2734 } 2735 }, 2736 "tag": { 2737 "type": "integer", 2738 "revisions": { 2739 "v6.0.0": True, 2740 "v7.0.0": True, 2741 "v6.0.5": True, 2742 "v6.4.4": True, 2743 "v6.4.0": True, 2744 "v6.4.1": True, 2745 "v6.2.0": True, 2746 "v6.2.3": True, 2747 "v6.2.5": True, 2748 "v6.2.7": True, 2749 "v6.0.11": True 2750 } 2751 }, 2752 "id": { 2753 "type": "integer", 2754 "revisions": { 2755 "v6.0.0": True, 2756 "v7.0.0": True, 2757 "v6.0.5": True, 2758 "v6.4.4": True, 2759 "v6.4.0": True, 2760 "v6.4.1": True, 2761 "v6.2.0": True, 2762 "v6.2.3": True, 2763 "v6.2.5": True, 2764 "v6.2.7": True, 2765 "v6.0.11": True 2766 } 2767 }, 2768 "advertise": { 2769 "type": "string", 2770 "options": [ 2771 { 2772 "value": "disable", 2773 "revisions": { 2774 "v6.0.0": True, 2775 "v7.0.0": True, 2776 "v6.0.5": True, 2777 "v6.4.4": True, 2778 "v6.4.0": True, 2779 "v6.4.1": True, 2780 "v6.2.0": True, 2781 "v6.2.3": True, 2782 "v6.2.5": True, 2783 "v6.2.7": True, 2784 "v6.0.11": True 2785 } 2786 }, 2787 { 2788 "value": "enable", 2789 "revisions": { 2790 "v6.0.0": True, 2791 "v7.0.0": True, 2792 "v6.0.5": True, 2793 "v6.4.4": True, 2794 "v6.4.0": True, 2795 "v6.4.1": True, 2796 "v6.2.0": True, 2797 "v6.2.3": True, 2798 "v6.2.5": True, 2799 "v6.2.7": True, 2800 "v6.0.11": True 2801 } 2802 } 2803 ], 2804 "revisions": { 2805 "v6.0.0": True, 2806 "v7.0.0": True, 2807 "v6.0.5": True, 2808 "v6.4.4": True, 2809 "v6.4.0": True, 2810 "v6.4.1": True, 2811 "v6.2.0": True, 2812 "v6.2.3": True, 2813 "v6.2.5": True, 2814 "v6.2.7": True, 2815 "v6.0.11": True 2816 } 2817 } 2818 }, 2819 "revisions": { 2820 "v6.0.0": True, 2821 "v7.0.0": True, 2822 "v6.0.5": True, 2823 "v6.4.4": True, 2824 "v6.4.0": True, 2825 "v6.4.1": True, 2826 "v6.2.0": True, 2827 "v6.2.3": True, 2828 "v6.2.5": True, 2829 "v6.2.7": True, 2830 "v6.0.11": True 2831 } 2832 }, 2833 "spf_timers": { 2834 "type": "string", 2835 "revisions": { 2836 "v6.0.0": True, 2837 "v7.0.0": True, 2838 "v6.0.5": True, 2839 "v6.4.4": True, 2840 "v6.4.0": True, 2841 "v6.4.1": True, 2842 "v6.2.0": True, 2843 "v6.2.3": True, 2844 "v6.2.5": True, 2845 "v6.2.7": True, 2846 "v6.0.11": True 2847 } 2848 }, 2849 "distance": { 2850 "type": "integer", 2851 "revisions": { 2852 "v6.0.0": True, 2853 "v7.0.0": True, 2854 "v6.0.5": True, 2855 "v6.4.4": True, 2856 "v6.4.0": True, 2857 "v6.4.1": True, 2858 "v6.2.0": True, 2859 "v6.2.3": True, 2860 "v6.2.5": True, 2861 "v6.2.7": True, 2862 "v6.0.11": True 2863 } 2864 }, 2865 "redistribute": { 2866 "type": "list", 2867 "children": { 2868 "status": { 2869 "type": "string", 2870 "options": [ 2871 { 2872 "value": "enable", 2873 "revisions": { 2874 "v6.0.0": True, 2875 "v7.0.0": True, 2876 "v6.0.5": True, 2877 "v6.4.4": True, 2878 "v6.4.0": True, 2879 "v6.4.1": True, 2880 "v6.2.0": True, 2881 "v6.2.3": True, 2882 "v6.2.5": True, 2883 "v6.2.7": True, 2884 "v6.0.11": True 2885 } 2886 }, 2887 { 2888 "value": "disable", 2889 "revisions": { 2890 "v6.0.0": True, 2891 "v7.0.0": True, 2892 "v6.0.5": True, 2893 "v6.4.4": True, 2894 "v6.4.0": True, 2895 "v6.4.1": True, 2896 "v6.2.0": True, 2897 "v6.2.3": True, 2898 "v6.2.5": True, 2899 "v6.2.7": True, 2900 "v6.0.11": True 2901 } 2902 } 2903 ], 2904 "revisions": { 2905 "v6.0.0": True, 2906 "v7.0.0": True, 2907 "v6.0.5": True, 2908 "v6.4.4": True, 2909 "v6.4.0": True, 2910 "v6.4.1": True, 2911 "v6.2.0": True, 2912 "v6.2.3": True, 2913 "v6.2.5": True, 2914 "v6.2.7": True, 2915 "v6.0.11": True 2916 } 2917 }, 2918 "name": { 2919 "type": "string", 2920 "revisions": { 2921 "v6.0.0": True, 2922 "v7.0.0": True, 2923 "v6.0.5": True, 2924 "v6.4.4": True, 2925 "v6.4.0": True, 2926 "v6.4.1": True, 2927 "v6.2.0": True, 2928 "v6.2.3": True, 2929 "v6.2.5": True, 2930 "v6.2.7": True, 2931 "v6.0.11": True 2932 } 2933 }, 2934 "metric": { 2935 "type": "integer", 2936 "revisions": { 2937 "v6.0.0": True, 2938 "v7.0.0": True, 2939 "v6.0.5": True, 2940 "v6.4.4": True, 2941 "v6.4.0": True, 2942 "v6.4.1": True, 2943 "v6.2.0": True, 2944 "v6.2.3": True, 2945 "v6.2.5": True, 2946 "v6.2.7": True, 2947 "v6.0.11": True 2948 } 2949 }, 2950 "tag": { 2951 "type": "integer", 2952 "revisions": { 2953 "v6.0.0": True, 2954 "v7.0.0": True, 2955 "v6.0.5": True, 2956 "v6.4.4": True, 2957 "v6.4.0": True, 2958 "v6.4.1": True, 2959 "v6.2.0": True, 2960 "v6.2.3": True, 2961 "v6.2.5": True, 2962 "v6.2.7": True, 2963 "v6.0.11": True 2964 } 2965 }, 2966 "metric_type": { 2967 "type": "string", 2968 "options": [ 2969 { 2970 "value": "1", 2971 "revisions": { 2972 "v6.0.0": True, 2973 "v7.0.0": True, 2974 "v6.0.5": True, 2975 "v6.4.4": True, 2976 "v6.4.0": True, 2977 "v6.4.1": True, 2978 "v6.2.0": True, 2979 "v6.2.3": True, 2980 "v6.2.5": True, 2981 "v6.2.7": True, 2982 "v6.0.11": True 2983 } 2984 }, 2985 { 2986 "value": "2", 2987 "revisions": { 2988 "v6.0.0": True, 2989 "v7.0.0": True, 2990 "v6.0.5": True, 2991 "v6.4.4": True, 2992 "v6.4.0": True, 2993 "v6.4.1": True, 2994 "v6.2.0": True, 2995 "v6.2.3": True, 2996 "v6.2.5": True, 2997 "v6.2.7": True, 2998 "v6.0.11": True 2999 } 3000 } 3001 ], 3002 "revisions": { 3003 "v6.0.0": True, 3004 "v7.0.0": True, 3005 "v6.0.5": True, 3006 "v6.4.4": True, 3007 "v6.4.0": True, 3008 "v6.4.1": True, 3009 "v6.2.0": True, 3010 "v6.2.3": True, 3011 "v6.2.5": True, 3012 "v6.2.7": True, 3013 "v6.0.11": True 3014 } 3015 }, 3016 "routemap": { 3017 "type": "string", 3018 "revisions": { 3019 "v6.0.0": True, 3020 "v7.0.0": True, 3021 "v6.0.5": True, 3022 "v6.4.4": True, 3023 "v6.4.0": True, 3024 "v6.4.1": True, 3025 "v6.2.0": True, 3026 "v6.2.3": True, 3027 "v6.2.5": True, 3028 "v6.2.7": True, 3029 "v6.0.11": True 3030 } 3031 } 3032 }, 3033 "revisions": { 3034 "v6.0.0": True, 3035 "v7.0.0": True, 3036 "v6.0.5": True, 3037 "v6.4.4": True, 3038 "v6.4.0": True, 3039 "v6.4.1": True, 3040 "v6.2.0": True, 3041 "v6.2.3": True, 3042 "v6.2.5": True, 3043 "v6.2.7": True, 3044 "v6.0.11": True 3045 } 3046 }, 3047 "restart_period": { 3048 "type": "integer", 3049 "revisions": { 3050 "v6.0.0": True, 3051 "v7.0.0": True, 3052 "v6.0.5": True, 3053 "v6.4.4": True, 3054 "v6.4.0": True, 3055 "v6.4.1": True, 3056 "v6.2.0": True, 3057 "v6.2.3": True, 3058 "v6.2.5": True, 3059 "v6.2.7": True, 3060 "v6.0.11": True 3061 } 3062 }, 3063 "bfd": { 3064 "type": "string", 3065 "options": [ 3066 { 3067 "value": "enable", 3068 "revisions": { 3069 "v6.0.0": True, 3070 "v7.0.0": True, 3071 "v6.0.5": True, 3072 "v6.4.4": True, 3073 "v6.4.0": True, 3074 "v6.4.1": True, 3075 "v6.2.0": True, 3076 "v6.2.3": True, 3077 "v6.2.5": True, 3078 "v6.2.7": True, 3079 "v6.0.11": True 3080 } 3081 }, 3082 { 3083 "value": "disable", 3084 "revisions": { 3085 "v6.0.0": True, 3086 "v7.0.0": True, 3087 "v6.0.5": True, 3088 "v6.4.4": True, 3089 "v6.4.0": True, 3090 "v6.4.1": True, 3091 "v6.2.0": True, 3092 "v6.2.3": True, 3093 "v6.2.5": True, 3094 "v6.2.7": True, 3095 "v6.0.11": True 3096 } 3097 } 3098 ], 3099 "revisions": { 3100 "v6.0.0": True, 3101 "v7.0.0": True, 3102 "v6.0.5": True, 3103 "v6.4.4": True, 3104 "v6.4.0": True, 3105 "v6.4.1": True, 3106 "v6.2.0": True, 3107 "v6.2.3": True, 3108 "v6.2.5": True, 3109 "v6.2.7": True, 3110 "v6.0.11": True 3111 } 3112 }, 3113 "distribute_list_in": { 3114 "type": "string", 3115 "revisions": { 3116 "v6.0.0": True, 3117 "v7.0.0": True, 3118 "v6.0.5": True, 3119 "v6.4.4": True, 3120 "v6.4.0": True, 3121 "v6.4.1": True, 3122 "v6.2.0": True, 3123 "v6.2.3": True, 3124 "v6.2.5": True, 3125 "v6.2.7": True, 3126 "v6.0.11": True 3127 } 3128 }, 3129 "database_overflow": { 3130 "type": "string", 3131 "options": [ 3132 { 3133 "value": "enable", 3134 "revisions": { 3135 "v6.0.0": True, 3136 "v7.0.0": True, 3137 "v6.0.5": True, 3138 "v6.4.4": True, 3139 "v6.4.0": True, 3140 "v6.4.1": True, 3141 "v6.2.0": True, 3142 "v6.2.3": True, 3143 "v6.2.5": True, 3144 "v6.2.7": True, 3145 "v6.0.11": True 3146 } 3147 }, 3148 { 3149 "value": "disable", 3150 "revisions": { 3151 "v6.0.0": True, 3152 "v7.0.0": True, 3153 "v6.0.5": True, 3154 "v6.4.4": True, 3155 "v6.4.0": True, 3156 "v6.4.1": True, 3157 "v6.2.0": True, 3158 "v6.2.3": True, 3159 "v6.2.5": True, 3160 "v6.2.7": True, 3161 "v6.0.11": True 3162 } 3163 } 3164 ], 3165 "revisions": { 3166 "v6.0.0": True, 3167 "v7.0.0": True, 3168 "v6.0.5": True, 3169 "v6.4.4": True, 3170 "v6.4.0": True, 3171 "v6.4.1": True, 3172 "v6.2.0": True, 3173 "v6.2.3": True, 3174 "v6.2.5": True, 3175 "v6.2.7": True, 3176 "v6.0.11": True 3177 } 3178 }, 3179 "database_overflow_max_lsas": { 3180 "type": "integer", 3181 "revisions": { 3182 "v6.0.0": True, 3183 "v7.0.0": True, 3184 "v6.0.5": True, 3185 "v6.4.4": True, 3186 "v6.4.0": True, 3187 "v6.4.1": True, 3188 "v6.2.0": True, 3189 "v6.2.3": True, 3190 "v6.2.5": True, 3191 "v6.2.7": True, 3192 "v6.0.11": True 3193 } 3194 }, 3195 "database_overflow_time_to_recover": { 3196 "type": "integer", 3197 "revisions": { 3198 "v6.0.0": True, 3199 "v7.0.0": True, 3200 "v6.0.5": True, 3201 "v6.4.4": True, 3202 "v6.4.0": True, 3203 "v6.4.1": True, 3204 "v6.2.0": True, 3205 "v6.2.3": True, 3206 "v6.2.5": True, 3207 "v6.2.7": True, 3208 "v6.0.11": True 3209 } 3210 }, 3211 "neighbor": { 3212 "type": "list", 3213 "children": { 3214 "priority": { 3215 "type": "integer", 3216 "revisions": { 3217 "v6.0.0": True, 3218 "v7.0.0": True, 3219 "v6.0.5": True, 3220 "v6.4.4": True, 3221 "v6.4.0": True, 3222 "v6.4.1": True, 3223 "v6.2.0": True, 3224 "v6.2.3": True, 3225 "v6.2.5": True, 3226 "v6.2.7": True, 3227 "v6.0.11": True 3228 } 3229 }, 3230 "ip": { 3231 "type": "string", 3232 "revisions": { 3233 "v6.0.0": True, 3234 "v7.0.0": True, 3235 "v6.0.5": True, 3236 "v6.4.4": True, 3237 "v6.4.0": True, 3238 "v6.4.1": True, 3239 "v6.2.0": True, 3240 "v6.2.3": True, 3241 "v6.2.5": True, 3242 "v6.2.7": True, 3243 "v6.0.11": True 3244 } 3245 }, 3246 "cost": { 3247 "type": "integer", 3248 "revisions": { 3249 "v6.0.0": True, 3250 "v7.0.0": True, 3251 "v6.0.5": True, 3252 "v6.4.4": True, 3253 "v6.4.0": True, 3254 "v6.4.1": True, 3255 "v6.2.0": True, 3256 "v6.2.3": True, 3257 "v6.2.5": True, 3258 "v6.2.7": True, 3259 "v6.0.11": True 3260 } 3261 }, 3262 "poll_interval": { 3263 "type": "integer", 3264 "revisions": { 3265 "v6.0.0": True, 3266 "v7.0.0": True, 3267 "v6.0.5": True, 3268 "v6.4.4": True, 3269 "v6.4.0": True, 3270 "v6.4.1": True, 3271 "v6.2.0": True, 3272 "v6.2.3": True, 3273 "v6.2.5": True, 3274 "v6.2.7": True, 3275 "v6.0.11": True 3276 } 3277 }, 3278 "id": { 3279 "type": "integer", 3280 "revisions": { 3281 "v6.0.0": True, 3282 "v7.0.0": True, 3283 "v6.0.5": True, 3284 "v6.4.4": True, 3285 "v6.4.0": True, 3286 "v6.4.1": True, 3287 "v6.2.0": True, 3288 "v6.2.3": True, 3289 "v6.2.5": True, 3290 "v6.2.7": True, 3291 "v6.0.11": True 3292 } 3293 } 3294 }, 3295 "revisions": { 3296 "v6.0.0": True, 3297 "v7.0.0": True, 3298 "v6.0.5": True, 3299 "v6.4.4": True, 3300 "v6.4.0": True, 3301 "v6.4.1": True, 3302 "v6.2.0": True, 3303 "v6.2.3": True, 3304 "v6.2.5": True, 3305 "v6.2.7": True, 3306 "v6.0.11": True 3307 } 3308 }, 3309 "rfc1583_compatible": { 3310 "type": "string", 3311 "options": [ 3312 { 3313 "value": "enable", 3314 "revisions": { 3315 "v6.0.0": True, 3316 "v7.0.0": True, 3317 "v6.0.5": True, 3318 "v6.4.4": True, 3319 "v6.4.0": True, 3320 "v6.4.1": True, 3321 "v6.2.0": True, 3322 "v6.2.3": True, 3323 "v6.2.5": True, 3324 "v6.2.7": True, 3325 "v6.0.11": True 3326 } 3327 }, 3328 { 3329 "value": "disable", 3330 "revisions": { 3331 "v6.0.0": True, 3332 "v7.0.0": True, 3333 "v6.0.5": True, 3334 "v6.4.4": True, 3335 "v6.4.0": True, 3336 "v6.4.1": True, 3337 "v6.2.0": True, 3338 "v6.2.3": True, 3339 "v6.2.5": True, 3340 "v6.2.7": True, 3341 "v6.0.11": True 3342 } 3343 } 3344 ], 3345 "revisions": { 3346 "v6.0.0": True, 3347 "v7.0.0": True, 3348 "v6.0.5": True, 3349 "v6.4.4": True, 3350 "v6.4.0": True, 3351 "v6.4.1": True, 3352 "v6.2.0": True, 3353 "v6.2.3": True, 3354 "v6.2.5": True, 3355 "v6.2.7": True, 3356 "v6.0.11": True 3357 } 3358 }, 3359 "ospf_interface": { 3360 "type": "list", 3361 "children": { 3362 "ip": { 3363 "type": "string", 3364 "revisions": { 3365 "v6.0.0": True, 3366 "v7.0.0": True, 3367 "v6.0.5": True, 3368 "v6.4.4": True, 3369 "v6.4.0": True, 3370 "v6.4.1": True, 3371 "v6.2.0": True, 3372 "v6.2.3": True, 3373 "v6.2.5": True, 3374 "v6.2.7": True, 3375 "v6.0.11": True 3376 } 3377 }, 3378 "md5_key": { 3379 "type": "string", 3380 "revisions": { 3381 "v6.0.0": True, 3382 "v7.0.0": False, 3383 "v6.0.5": True, 3384 "v6.4.4": False, 3385 "v6.4.0": False, 3386 "v6.4.1": False, 3387 "v6.2.0": False, 3388 "v6.2.3": False, 3389 "v6.2.5": False, 3390 "v6.2.7": False, 3391 "v6.0.11": True 3392 } 3393 }, 3394 "cost": { 3395 "type": "integer", 3396 "revisions": { 3397 "v6.0.0": True, 3398 "v7.0.0": True, 3399 "v6.0.5": True, 3400 "v6.4.4": True, 3401 "v6.4.0": True, 3402 "v6.4.1": True, 3403 "v6.2.0": True, 3404 "v6.2.3": True, 3405 "v6.2.5": True, 3406 "v6.2.7": True, 3407 "v6.0.11": True 3408 } 3409 }, 3410 "hello_interval": { 3411 "type": "integer", 3412 "revisions": { 3413 "v6.0.0": True, 3414 "v7.0.0": True, 3415 "v6.0.5": True, 3416 "v6.4.4": True, 3417 "v6.4.0": True, 3418 "v6.4.1": True, 3419 "v6.2.0": True, 3420 "v6.2.3": True, 3421 "v6.2.5": True, 3422 "v6.2.7": True, 3423 "v6.0.11": True 3424 } 3425 }, 3426 "mtu_ignore": { 3427 "type": "string", 3428 "options": [ 3429 { 3430 "value": "enable", 3431 "revisions": { 3432 "v6.0.0": True, 3433 "v7.0.0": True, 3434 "v6.0.5": True, 3435 "v6.4.4": True, 3436 "v6.4.0": True, 3437 "v6.4.1": True, 3438 "v6.2.0": True, 3439 "v6.2.3": True, 3440 "v6.2.5": True, 3441 "v6.2.7": True, 3442 "v6.0.11": True 3443 } 3444 }, 3445 { 3446 "value": "disable", 3447 "revisions": { 3448 "v6.0.0": True, 3449 "v7.0.0": True, 3450 "v6.0.5": True, 3451 "v6.4.4": True, 3452 "v6.4.0": True, 3453 "v6.4.1": True, 3454 "v6.2.0": True, 3455 "v6.2.3": True, 3456 "v6.2.5": True, 3457 "v6.2.7": True, 3458 "v6.0.11": True 3459 } 3460 } 3461 ], 3462 "revisions": { 3463 "v6.0.0": True, 3464 "v7.0.0": True, 3465 "v6.0.5": True, 3466 "v6.4.4": True, 3467 "v6.4.0": True, 3468 "v6.4.1": True, 3469 "v6.2.0": True, 3470 "v6.2.3": True, 3471 "v6.2.5": True, 3472 "v6.2.7": True, 3473 "v6.0.11": True 3474 } 3475 }, 3476 "retransmit_interval": { 3477 "type": "integer", 3478 "revisions": { 3479 "v6.0.0": True, 3480 "v7.0.0": True, 3481 "v6.0.5": True, 3482 "v6.4.4": True, 3483 "v6.4.0": True, 3484 "v6.4.1": True, 3485 "v6.2.0": True, 3486 "v6.2.3": True, 3487 "v6.2.5": True, 3488 "v6.2.7": True, 3489 "v6.0.11": True 3490 } 3491 }, 3492 "bfd": { 3493 "type": "string", 3494 "options": [ 3495 { 3496 "value": "global", 3497 "revisions": { 3498 "v6.0.0": True, 3499 "v7.0.0": True, 3500 "v6.0.5": True, 3501 "v6.4.4": True, 3502 "v6.4.0": True, 3503 "v6.4.1": True, 3504 "v6.2.0": True, 3505 "v6.2.3": True, 3506 "v6.2.5": True, 3507 "v6.2.7": True, 3508 "v6.0.11": True 3509 } 3510 }, 3511 { 3512 "value": "enable", 3513 "revisions": { 3514 "v6.0.0": True, 3515 "v7.0.0": True, 3516 "v6.0.5": True, 3517 "v6.4.4": True, 3518 "v6.4.0": True, 3519 "v6.4.1": True, 3520 "v6.2.0": True, 3521 "v6.2.3": True, 3522 "v6.2.5": True, 3523 "v6.2.7": True, 3524 "v6.0.11": True 3525 } 3526 }, 3527 { 3528 "value": "disable", 3529 "revisions": { 3530 "v6.0.0": True, 3531 "v7.0.0": True, 3532 "v6.0.5": True, 3533 "v6.4.4": True, 3534 "v6.4.0": True, 3535 "v6.4.1": True, 3536 "v6.2.0": True, 3537 "v6.2.3": True, 3538 "v6.2.5": True, 3539 "v6.2.7": True, 3540 "v6.0.11": True 3541 } 3542 } 3543 ], 3544 "revisions": { 3545 "v6.0.0": True, 3546 "v7.0.0": True, 3547 "v6.0.5": True, 3548 "v6.4.4": True, 3549 "v6.4.0": True, 3550 "v6.4.1": True, 3551 "v6.2.0": True, 3552 "v6.2.3": True, 3553 "v6.2.5": True, 3554 "v6.2.7": True, 3555 "v6.0.11": True 3556 } 3557 }, 3558 "comments": { 3559 "type": "string", 3560 "revisions": { 3561 "v7.0.0": True 3562 } 3563 }, 3564 "priority": { 3565 "type": "integer", 3566 "revisions": { 3567 "v6.0.0": True, 3568 "v7.0.0": True, 3569 "v6.0.5": True, 3570 "v6.4.4": True, 3571 "v6.4.0": True, 3572 "v6.4.1": True, 3573 "v6.2.0": True, 3574 "v6.2.3": True, 3575 "v6.2.5": True, 3576 "v6.2.7": True, 3577 "v6.0.11": True 3578 } 3579 }, 3580 "authentication": { 3581 "type": "string", 3582 "options": [ 3583 { 3584 "value": "none", 3585 "revisions": { 3586 "v6.0.0": True, 3587 "v7.0.0": True, 3588 "v6.0.5": True, 3589 "v6.4.4": True, 3590 "v6.4.0": True, 3591 "v6.4.1": True, 3592 "v6.2.0": True, 3593 "v6.2.3": True, 3594 "v6.2.5": True, 3595 "v6.2.7": True, 3596 "v6.0.11": True 3597 } 3598 }, 3599 { 3600 "value": "text", 3601 "revisions": { 3602 "v6.0.0": True, 3603 "v7.0.0": True, 3604 "v6.0.5": True, 3605 "v6.4.4": True, 3606 "v6.4.0": True, 3607 "v6.4.1": True, 3608 "v6.2.0": True, 3609 "v6.2.3": True, 3610 "v6.2.5": True, 3611 "v6.2.7": True, 3612 "v6.0.11": True 3613 } 3614 }, 3615 { 3616 "value": "md5", 3617 "revisions": { 3618 "v6.0.0": True, 3619 "v7.0.0": True, 3620 "v6.0.5": True, 3621 "v6.4.4": True, 3622 "v6.4.0": True, 3623 "v6.4.1": True, 3624 "v6.2.0": True, 3625 "v6.2.3": True, 3626 "v6.2.5": True, 3627 "v6.2.7": True, 3628 "v6.0.11": True 3629 } 3630 } 3631 ], 3632 "revisions": { 3633 "v6.0.0": True, 3634 "v7.0.0": True, 3635 "v6.0.5": True, 3636 "v6.4.4": True, 3637 "v6.4.0": True, 3638 "v6.4.1": True, 3639 "v6.2.0": True, 3640 "v6.2.3": True, 3641 "v6.2.5": True, 3642 "v6.2.7": True, 3643 "v6.0.11": True 3644 } 3645 }, 3646 "prefix_length": { 3647 "type": "integer", 3648 "revisions": { 3649 "v6.0.0": True, 3650 "v7.0.0": True, 3651 "v6.0.5": True, 3652 "v6.4.4": True, 3653 "v6.4.0": True, 3654 "v6.4.1": True, 3655 "v6.2.0": True, 3656 "v6.2.3": True, 3657 "v6.2.5": True, 3658 "v6.2.7": True, 3659 "v6.0.11": True 3660 } 3661 }, 3662 "authentication_key": { 3663 "type": "string", 3664 "revisions": { 3665 "v6.0.0": True, 3666 "v7.0.0": True, 3667 "v6.0.5": True, 3668 "v6.4.4": True, 3669 "v6.4.0": True, 3670 "v6.4.1": True, 3671 "v6.2.0": True, 3672 "v6.2.3": True, 3673 "v6.2.5": True, 3674 "v6.2.7": True, 3675 "v6.0.11": True 3676 } 3677 }, 3678 "resync_timeout": { 3679 "type": "integer", 3680 "revisions": { 3681 "v6.0.0": True, 3682 "v7.0.0": True, 3683 "v6.0.5": True, 3684 "v6.4.4": True, 3685 "v6.4.0": True, 3686 "v6.4.1": True, 3687 "v6.2.0": True, 3688 "v6.2.3": True, 3689 "v6.2.5": True, 3690 "v6.2.7": True, 3691 "v6.0.11": True 3692 } 3693 }, 3694 "status": { 3695 "type": "string", 3696 "options": [ 3697 { 3698 "value": "disable", 3699 "revisions": { 3700 "v6.0.0": True, 3701 "v7.0.0": True, 3702 "v6.0.5": True, 3703 "v6.4.4": True, 3704 "v6.4.0": True, 3705 "v6.4.1": True, 3706 "v6.2.0": True, 3707 "v6.2.3": True, 3708 "v6.2.5": True, 3709 "v6.2.7": True, 3710 "v6.0.11": True 3711 } 3712 }, 3713 { 3714 "value": "enable", 3715 "revisions": { 3716 "v6.0.0": True, 3717 "v7.0.0": True, 3718 "v6.0.5": True, 3719 "v6.4.4": True, 3720 "v6.4.0": True, 3721 "v6.4.1": True, 3722 "v6.2.0": True, 3723 "v6.2.3": True, 3724 "v6.2.5": True, 3725 "v6.2.7": True, 3726 "v6.0.11": True 3727 } 3728 } 3729 ], 3730 "revisions": { 3731 "v6.0.0": True, 3732 "v7.0.0": True, 3733 "v6.0.5": True, 3734 "v6.4.4": True, 3735 "v6.4.0": True, 3736 "v6.4.1": True, 3737 "v6.2.0": True, 3738 "v6.2.3": True, 3739 "v6.2.5": True, 3740 "v6.2.7": True, 3741 "v6.0.11": True 3742 } 3743 }, 3744 "database_filter_out": { 3745 "type": "string", 3746 "options": [ 3747 { 3748 "value": "enable", 3749 "revisions": { 3750 "v6.0.0": True, 3751 "v7.0.0": True, 3752 "v6.0.5": True, 3753 "v6.4.4": True, 3754 "v6.4.0": True, 3755 "v6.4.1": True, 3756 "v6.2.0": True, 3757 "v6.2.3": True, 3758 "v6.2.5": True, 3759 "v6.2.7": True, 3760 "v6.0.11": True 3761 } 3762 }, 3763 { 3764 "value": "disable", 3765 "revisions": { 3766 "v6.0.0": True, 3767 "v7.0.0": True, 3768 "v6.0.5": True, 3769 "v6.4.4": True, 3770 "v6.4.0": True, 3771 "v6.4.1": True, 3772 "v6.2.0": True, 3773 "v6.2.3": True, 3774 "v6.2.5": True, 3775 "v6.2.7": True, 3776 "v6.0.11": True 3777 } 3778 } 3779 ], 3780 "revisions": { 3781 "v6.0.0": True, 3782 "v7.0.0": True, 3783 "v6.0.5": True, 3784 "v6.4.4": True, 3785 "v6.4.0": True, 3786 "v6.4.1": True, 3787 "v6.2.0": True, 3788 "v6.2.3": True, 3789 "v6.2.5": True, 3790 "v6.2.7": True, 3791 "v6.0.11": True 3792 } 3793 }, 3794 "hello_multiplier": { 3795 "type": "integer", 3796 "revisions": { 3797 "v6.0.0": True, 3798 "v7.0.0": True, 3799 "v6.0.5": True, 3800 "v6.4.4": True, 3801 "v6.4.0": True, 3802 "v6.4.1": True, 3803 "v6.2.0": True, 3804 "v6.2.3": True, 3805 "v6.2.5": True, 3806 "v6.2.7": True, 3807 "v6.0.11": True 3808 } 3809 }, 3810 "interface": { 3811 "type": "string", 3812 "revisions": { 3813 "v6.0.0": True, 3814 "v7.0.0": True, 3815 "v6.0.5": True, 3816 "v6.4.4": True, 3817 "v6.4.0": True, 3818 "v6.4.1": True, 3819 "v6.2.0": True, 3820 "v6.2.3": True, 3821 "v6.2.5": True, 3822 "v6.2.7": True, 3823 "v6.0.11": True 3824 } 3825 }, 3826 "transmit_delay": { 3827 "type": "integer", 3828 "revisions": { 3829 "v6.0.0": True, 3830 "v7.0.0": True, 3831 "v6.0.5": True, 3832 "v6.4.4": True, 3833 "v6.4.0": True, 3834 "v6.4.1": True, 3835 "v6.2.0": True, 3836 "v6.2.3": True, 3837 "v6.2.5": True, 3838 "v6.2.7": True, 3839 "v6.0.11": True 3840 } 3841 }, 3842 "md5_keys": { 3843 "type": "list", 3844 "children": { 3845 "key_string": { 3846 "type": "string", 3847 "revisions": { 3848 "v7.0.0": True, 3849 "v6.4.4": True, 3850 "v6.4.0": True, 3851 "v6.4.1": True, 3852 "v6.2.0": True, 3853 "v6.2.3": True, 3854 "v6.2.5": True, 3855 "v6.2.7": True 3856 } 3857 }, 3858 "id": { 3859 "type": "integer", 3860 "revisions": { 3861 "v7.0.0": True, 3862 "v6.4.4": True, 3863 "v6.4.0": True, 3864 "v6.4.1": True, 3865 "v6.2.0": True, 3866 "v6.2.3": True, 3867 "v6.2.5": True, 3868 "v6.2.7": True 3869 } 3870 } 3871 }, 3872 "revisions": { 3873 "v7.0.0": True, 3874 "v6.4.4": True, 3875 "v6.4.0": True, 3876 "v6.4.1": True, 3877 "v6.2.0": True, 3878 "v6.2.3": True, 3879 "v6.2.5": True, 3880 "v6.2.7": True 3881 } 3882 }, 3883 "name": { 3884 "type": "string", 3885 "revisions": { 3886 "v6.0.0": True, 3887 "v7.0.0": True, 3888 "v6.0.5": True, 3889 "v6.4.4": True, 3890 "v6.4.0": True, 3891 "v6.4.1": True, 3892 "v6.2.0": True, 3893 "v6.2.3": True, 3894 "v6.2.5": True, 3895 "v6.2.7": True, 3896 "v6.0.11": True 3897 } 3898 }, 3899 "md5_keychain": { 3900 "type": "string", 3901 "revisions": { 3902 "v7.0.0": True, 3903 "v6.4.4": True, 3904 "v6.4.0": True, 3905 "v6.4.1": True, 3906 "v6.2.0": True, 3907 "v6.2.3": True, 3908 "v6.2.5": True, 3909 "v6.2.7": True 3910 } 3911 }, 3912 "mtu": { 3913 "type": "integer", 3914 "revisions": { 3915 "v6.0.0": True, 3916 "v7.0.0": True, 3917 "v6.0.5": True, 3918 "v6.4.4": True, 3919 "v6.4.0": True, 3920 "v6.4.1": True, 3921 "v6.2.0": True, 3922 "v6.2.3": True, 3923 "v6.2.5": True, 3924 "v6.2.7": True, 3925 "v6.0.11": True 3926 } 3927 }, 3928 "dead_interval": { 3929 "type": "integer", 3930 "revisions": { 3931 "v6.0.0": True, 3932 "v7.0.0": True, 3933 "v6.0.5": True, 3934 "v6.4.4": True, 3935 "v6.4.0": True, 3936 "v6.4.1": True, 3937 "v6.2.0": True, 3938 "v6.2.3": True, 3939 "v6.2.5": True, 3940 "v6.2.7": True, 3941 "v6.0.11": True 3942 } 3943 }, 3944 "network_type": { 3945 "type": "string", 3946 "options": [ 3947 { 3948 "value": "broadcast", 3949 "revisions": { 3950 "v6.0.0": True, 3951 "v7.0.0": True, 3952 "v6.0.5": True, 3953 "v6.4.4": True, 3954 "v6.4.0": True, 3955 "v6.4.1": True, 3956 "v6.2.0": True, 3957 "v6.2.3": True, 3958 "v6.2.5": True, 3959 "v6.2.7": True, 3960 "v6.0.11": True 3961 } 3962 }, 3963 { 3964 "value": "non-broadcast", 3965 "revisions": { 3966 "v6.0.0": True, 3967 "v7.0.0": True, 3968 "v6.0.5": True, 3969 "v6.4.4": True, 3970 "v6.4.0": True, 3971 "v6.4.1": True, 3972 "v6.2.0": True, 3973 "v6.2.3": True, 3974 "v6.2.5": True, 3975 "v6.2.7": True, 3976 "v6.0.11": True 3977 } 3978 }, 3979 { 3980 "value": "point-to-point", 3981 "revisions": { 3982 "v6.0.0": True, 3983 "v7.0.0": True, 3984 "v6.0.5": True, 3985 "v6.4.4": True, 3986 "v6.4.0": True, 3987 "v6.4.1": True, 3988 "v6.2.0": True, 3989 "v6.2.3": True, 3990 "v6.2.5": True, 3991 "v6.2.7": True, 3992 "v6.0.11": True 3993 } 3994 }, 3995 { 3996 "value": "point-to-multipoint", 3997 "revisions": { 3998 "v6.0.0": True, 3999 "v7.0.0": True, 4000 "v6.0.5": True, 4001 "v6.4.4": True, 4002 "v6.4.0": True, 4003 "v6.4.1": True, 4004 "v6.2.0": True, 4005 "v6.2.3": True, 4006 "v6.2.5": True, 4007 "v6.2.7": True, 4008 "v6.0.11": True 4009 } 4010 }, 4011 { 4012 "value": "point-to-multipoint-non-broadcast", 4013 "revisions": { 4014 "v6.0.0": True, 4015 "v7.0.0": True, 4016 "v6.0.5": True, 4017 "v6.4.4": True, 4018 "v6.4.0": True, 4019 "v6.4.1": True, 4020 "v6.2.0": True, 4021 "v6.2.3": True, 4022 "v6.2.5": True, 4023 "v6.2.7": True, 4024 "v6.0.11": True 4025 } 4026 } 4027 ], 4028 "revisions": { 4029 "v6.0.0": True, 4030 "v7.0.0": True, 4031 "v6.0.5": True, 4032 "v6.4.4": True, 4033 "v6.4.0": True, 4034 "v6.4.1": True, 4035 "v6.2.0": True, 4036 "v6.2.3": True, 4037 "v6.2.5": True, 4038 "v6.2.7": True, 4039 "v6.0.11": True 4040 } 4041 } 4042 }, 4043 "revisions": { 4044 "v6.0.0": True, 4045 "v7.0.0": True, 4046 "v6.0.5": True, 4047 "v6.4.4": True, 4048 "v6.4.0": True, 4049 "v6.4.1": True, 4050 "v6.2.0": True, 4051 "v6.2.3": True, 4052 "v6.2.5": True, 4053 "v6.2.7": True, 4054 "v6.0.11": True 4055 } 4056 } 4057 }, 4058 "revisions": { 4059 "v6.0.0": True, 4060 "v7.0.0": True, 4061 "v6.0.5": True, 4062 "v6.4.4": True, 4063 "v6.4.0": True, 4064 "v6.4.1": True, 4065 "v6.2.0": True, 4066 "v6.2.3": True, 4067 "v6.2.5": True, 4068 "v6.2.7": True, 4069 "v6.0.11": True 4070 } 4071} 4072 4073 4074def main(): 4075 module_spec = schema_to_module_spec(versioned_schema) 4076 mkeyname = None 4077 fields = { 4078 "access_token": {"required": False, "type": "str", "no_log": True}, 4079 "enable_log": {"required": False, "type": bool}, 4080 "vdom": {"required": False, "type": "str", "default": "root"}, 4081 "router_ospf": { 4082 "required": False, "type": "dict", "default": None, 4083 "options": { 4084 } 4085 } 4086 } 4087 for attribute_name in module_spec['options']: 4088 fields["router_ospf"]['options'][attribute_name] = module_spec['options'][attribute_name] 4089 if mkeyname and mkeyname == attribute_name: 4090 fields["router_ospf"]['options'][attribute_name]['required'] = True 4091 4092 check_legacy_fortiosapi() 4093 module = AnsibleModule(argument_spec=fields, 4094 supports_check_mode=False) 4095 4096 versions_check_result = None 4097 if module._socket_path: 4098 connection = Connection(module._socket_path) 4099 if 'access_token' in module.params: 4100 connection.set_option('access_token', module.params['access_token']) 4101 4102 if 'enable_log' in module.params: 4103 connection.set_option('enable_log', module.params['enable_log']) 4104 else: 4105 connection.set_option('enable_log', False) 4106 fos = FortiOSHandler(connection, module, mkeyname) 4107 versions_check_result = check_schema_versioning(fos, versioned_schema, "router_ospf") 4108 4109 is_error, has_changed, result = fortios_router(module.params, fos) 4110 4111 else: 4112 module.fail_json(**FAIL_SOCKET_MSG) 4113 4114 if versions_check_result and versions_check_result['matched'] is False: 4115 module.warn("Ansible has detected version mismatch between FortOS system and your playbook, see more details by specifying option -vvv") 4116 4117 if not is_error: 4118 if versions_check_result and versions_check_result['matched'] is False: 4119 module.exit_json(changed=has_changed, version_check_warning=versions_check_result, meta=result) 4120 else: 4121 module.exit_json(changed=has_changed, meta=result) 4122 else: 4123 if versions_check_result and versions_check_result['matched'] is False: 4124 module.fail_json(msg="Error in repo", version_check_warning=versions_check_result, meta=result) 4125 else: 4126 module.fail_json(msg="Error in repo", meta=result) 4127 4128 4129if __name__ == '__main__': 4130 main() 4131