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_log_disk_filter 27short_description: Configure filters for local disk logging. Use these filters to determine the log messages to record according to severity and type in 28 Fortinet's FortiOS and FortiGate. 29description: 30 - This module is able to configure a FortiGate or FortiOS (FOS) device by allowing the 31 user to set and modify log_disk feature and filter category. 32 Examples include all parameters and values need to be adjusted to datasources before usage. 33 Tested with FOS v6.0.0 34version_added: "2.10" 35author: 36 - Link Zheng (@chillancezen) 37 - Jie Xue (@JieX19) 38 - Hongbin Lu (@fgtdev-hblu) 39 - Frank Shen (@frankshen01) 40 - Miguel Angel Munoz (@mamunozgonzalez) 41 - Nicolas Thomas (@thomnico) 42notes: 43 - Legacy fortiosapi has been deprecated, httpapi is the preferred way to run playbooks 44 45requirements: 46 - ansible>=2.9.0 47options: 48 access_token: 49 description: 50 - Token-based authentication. 51 Generated from GUI of Fortigate. 52 type: str 53 required: false 54 enable_log: 55 description: 56 - Enable/Disable logging for task. 57 type: bool 58 required: false 59 default: false 60 vdom: 61 description: 62 - Virtual domain, among those defined previously. A vdom is a 63 virtual instance of the FortiGate that can be configured and 64 used as a different unit. 65 type: str 66 default: root 67 68 log_disk_filter: 69 description: 70 - Configure filters for local disk logging. Use these filters to determine the log messages to record according to severity and type. 71 default: null 72 type: dict 73 suboptions: 74 admin: 75 description: 76 - Enable/disable admin login/logout logging. 77 type: str 78 choices: 79 - enable 80 - disable 81 anomaly: 82 description: 83 - Enable/disable anomaly logging. 84 type: str 85 choices: 86 - enable 87 - disable 88 auth: 89 description: 90 - Enable/disable firewall authentication logging. 91 type: str 92 choices: 93 - enable 94 - disable 95 cpu_memory_usage: 96 description: 97 - Enable/disable CPU & memory usage logging every 5 minutes. 98 type: str 99 choices: 100 - enable 101 - disable 102 dhcp: 103 description: 104 - Enable/disable DHCP service messages logging. 105 type: str 106 choices: 107 - enable 108 - disable 109 dlp_archive: 110 description: 111 - Enable/disable DLP archive logging. 112 type: str 113 choices: 114 - enable 115 - disable 116 dns: 117 description: 118 - Enable/disable detailed DNS event logging. 119 type: str 120 choices: 121 - enable 122 - disable 123 event: 124 description: 125 - Enable/disable event logging. 126 type: str 127 choices: 128 - enable 129 - disable 130 filter: 131 description: 132 - Disk log filter. 133 type: str 134 filter_type: 135 description: 136 - Include/exclude logs that match the filter. 137 type: str 138 choices: 139 - include 140 - exclude 141 forward_traffic: 142 description: 143 - Enable/disable forward traffic logging. 144 type: str 145 choices: 146 - enable 147 - disable 148 free_style: 149 description: 150 - Free Style Filters 151 type: list 152 suboptions: 153 category: 154 description: 155 - Log category. 156 type: str 157 choices: 158 - traffic 159 - event 160 - virus 161 - webfilter 162 - attack 163 - spam 164 - anomaly 165 - voip 166 - dlp 167 - app-ctrl 168 - waf 169 - gtp 170 - dns 171 - ssh 172 - ssl 173 - file-filter 174 - icap 175 filter: 176 description: 177 - Free style filter string. 178 type: str 179 filter_type: 180 description: 181 - Include/exclude logs that match the filter. 182 type: str 183 choices: 184 - include 185 - exclude 186 id: 187 description: 188 - Entry ID. 189 required: true 190 type: int 191 gtp: 192 description: 193 - Enable/disable GTP messages logging. 194 type: str 195 choices: 196 - enable 197 - disable 198 ha: 199 description: 200 - Enable/disable HA logging. 201 type: str 202 choices: 203 - enable 204 - disable 205 ipsec: 206 description: 207 - Enable/disable IPsec negotiation messages logging. 208 type: str 209 choices: 210 - enable 211 - disable 212 ldb_monitor: 213 description: 214 - Enable/disable VIP real server health monitoring logging. 215 type: str 216 choices: 217 - enable 218 - disable 219 local_traffic: 220 description: 221 - Enable/disable local in or out traffic logging. 222 type: str 223 choices: 224 - enable 225 - disable 226 multicast_traffic: 227 description: 228 - Enable/disable multicast traffic logging. 229 type: str 230 choices: 231 - enable 232 - disable 233 netscan_discovery: 234 description: 235 - Enable/disable netscan discovery event logging. 236 type: str 237 netscan_vulnerability: 238 description: 239 - Enable/disable netscan vulnerability event logging. 240 type: str 241 notification: 242 description: 243 - Enable/disable notification messages logging. 244 type: str 245 choices: 246 - enable 247 - disable 248 pattern: 249 description: 250 - Enable/disable pattern update logging. 251 type: str 252 choices: 253 - enable 254 - disable 255 ppp: 256 description: 257 - Enable/disable L2TP/PPTP/PPPoE logging. 258 type: str 259 choices: 260 - enable 261 - disable 262 radius: 263 description: 264 - Enable/disable RADIUS messages logging. 265 type: str 266 choices: 267 - enable 268 - disable 269 severity: 270 description: 271 - Log to disk every message above and including this severity level. 272 type: str 273 choices: 274 - emergency 275 - alert 276 - critical 277 - error 278 - warning 279 - notification 280 - information 281 - debug 282 sniffer_traffic: 283 description: 284 - Enable/disable sniffer traffic logging. 285 type: str 286 choices: 287 - enable 288 - disable 289 ssh: 290 description: 291 - Enable/disable SSH logging. 292 type: str 293 choices: 294 - enable 295 - disable 296 sslvpn_log_adm: 297 description: 298 - Enable/disable SSL administrator login logging. 299 type: str 300 choices: 301 - enable 302 - disable 303 sslvpn_log_auth: 304 description: 305 - Enable/disable SSL user authentication logging. 306 type: str 307 choices: 308 - enable 309 - disable 310 sslvpn_log_session: 311 description: 312 - Enable/disable SSL session logging. 313 type: str 314 choices: 315 - enable 316 - disable 317 system: 318 description: 319 - Enable/disable system activity logging. 320 type: str 321 choices: 322 - enable 323 - disable 324 vip_ssl: 325 description: 326 - Enable/disable VIP SSL logging. 327 type: str 328 choices: 329 - enable 330 - disable 331 voip: 332 description: 333 - Enable/disable VoIP logging. 334 type: str 335 choices: 336 - enable 337 - disable 338 wan_opt: 339 description: 340 - Enable/disable WAN optimization event logging. 341 type: str 342 choices: 343 - enable 344 - disable 345 wireless_activity: 346 description: 347 - Enable/disable wireless activity event logging. 348 type: str 349 choices: 350 - enable 351 - disable 352''' 353 354EXAMPLES = ''' 355- hosts: fortigates 356 collections: 357 - fortinet.fortios 358 connection: httpapi 359 vars: 360 vdom: "root" 361 ansible_httpapi_use_ssl: yes 362 ansible_httpapi_validate_certs: no 363 ansible_httpapi_port: 443 364 tasks: 365 - name: Configure filters for local disk logging. Use these filters to determine the log messages to record according to severity and type. 366 fortios_log_disk_filter: 367 vdom: "{{ vdom }}" 368 log_disk_filter: 369 admin: "enable" 370 anomaly: "enable" 371 auth: "enable" 372 cpu_memory_usage: "enable" 373 dhcp: "enable" 374 dlp_archive: "enable" 375 dns: "enable" 376 event: "enable" 377 filter: "<your_own_value>" 378 filter_type: "include" 379 forward_traffic: "enable" 380 free_style: 381 - 382 category: "traffic" 383 filter: "<your_own_value>" 384 filter_type: "include" 385 id: "18" 386 gtp: "enable" 387 ha: "enable" 388 ipsec: "enable" 389 ldb_monitor: "enable" 390 local_traffic: "enable" 391 multicast_traffic: "enable" 392 netscan_discovery: "<your_own_value>" 393 netscan_vulnerability: "<your_own_value>" 394 notification: "enable" 395 pattern: "enable" 396 ppp: "enable" 397 radius: "enable" 398 severity: "emergency" 399 sniffer_traffic: "enable" 400 ssh: "enable" 401 sslvpn_log_adm: "enable" 402 sslvpn_log_auth: "enable" 403 sslvpn_log_session: "enable" 404 system: "enable" 405 vip_ssl: "enable" 406 voip: "enable" 407 wan_opt: "enable" 408 wireless_activity: "enable" 409 410''' 411 412RETURN = ''' 413build: 414 description: Build number of the fortigate image 415 returned: always 416 type: str 417 sample: '1547' 418http_method: 419 description: Last method used to provision the content into FortiGate 420 returned: always 421 type: str 422 sample: 'PUT' 423http_status: 424 description: Last result given by FortiGate on last operation applied 425 returned: always 426 type: str 427 sample: "200" 428mkey: 429 description: Master key (id) used in the last call to FortiGate 430 returned: success 431 type: str 432 sample: "id" 433name: 434 description: Name of the table used to fulfill the request 435 returned: always 436 type: str 437 sample: "urlfilter" 438path: 439 description: Path of the table used to fulfill the request 440 returned: always 441 type: str 442 sample: "webfilter" 443revision: 444 description: Internal revision number 445 returned: always 446 type: str 447 sample: "17.0.2.10658" 448serial: 449 description: Serial number of the unit 450 returned: always 451 type: str 452 sample: "FGVMEVYYQT3AB5352" 453status: 454 description: Indication of the operation's result 455 returned: always 456 type: str 457 sample: "success" 458vdom: 459 description: Virtual domain used 460 returned: always 461 type: str 462 sample: "root" 463version: 464 description: Version of the FortiGate 465 returned: always 466 type: str 467 sample: "v5.6.3" 468 469''' 470from ansible.module_utils.basic import AnsibleModule 471from ansible.module_utils.connection import Connection 472from ansible_collections.fortinet.fortios.plugins.module_utils.fortios.fortios import FortiOSHandler 473from ansible_collections.fortinet.fortios.plugins.module_utils.fortios.fortios import check_legacy_fortiosapi 474from ansible_collections.fortinet.fortios.plugins.module_utils.fortios.fortios import schema_to_module_spec 475from ansible_collections.fortinet.fortios.plugins.module_utils.fortios.fortios import check_schema_versioning 476from ansible_collections.fortinet.fortios.plugins.module_utils.fortimanager.common import FAIL_SOCKET_MSG 477from ansible_collections.fortinet.fortios.plugins.module_utils.fortios.comparison import is_same_comparison 478from ansible_collections.fortinet.fortios.plugins.module_utils.fortios.comparison import serialize 479 480 481def filter_log_disk_filter_data(json): 482 option_list = ['admin', 'anomaly', 'auth', 483 'cpu_memory_usage', 'dhcp', 'dlp_archive', 484 'dns', 'event', 'filter', 485 'filter_type', 'forward_traffic', 'free_style', 486 'gtp', 'ha', 'ipsec', 487 'ldb_monitor', 'local_traffic', 'multicast_traffic', 488 'netscan_discovery', 'netscan_vulnerability', 'notification', 489 'pattern', 'ppp', 'radius', 490 'severity', 'sniffer_traffic', 'ssh', 491 'sslvpn_log_adm', 'sslvpn_log_auth', 'sslvpn_log_session', 492 'system', 'vip_ssl', 'voip', 493 'wan_opt', 'wireless_activity'] 494 dictionary = {} 495 496 for attribute in option_list: 497 if attribute in json and json[attribute] is not None: 498 dictionary[attribute] = json[attribute] 499 500 return dictionary 501 502 503def underscore_to_hyphen(data): 504 if isinstance(data, list): 505 for i, elem in enumerate(data): 506 data[i] = underscore_to_hyphen(elem) 507 elif isinstance(data, dict): 508 new_data = {} 509 for k, v in data.items(): 510 new_data[k.replace('_', '-')] = underscore_to_hyphen(v) 511 data = new_data 512 513 return data 514 515 516def log_disk_filter(data, fos): 517 vdom = data['vdom'] 518 log_disk_filter_data = data['log_disk_filter'] 519 filtered_data = underscore_to_hyphen(filter_log_disk_filter_data(log_disk_filter_data)) 520 521 return fos.set('log.disk', 522 'filter', 523 data=filtered_data, 524 vdom=vdom) 525 526 527def is_successful_status(status): 528 return status['status'] == "success" or \ 529 status['http_method'] == "DELETE" and status['http_status'] == 404 530 531 532def fortios_log_disk(data, fos): 533 534 if data['log_disk_filter']: 535 resp = log_disk_filter(data, fos) 536 else: 537 fos._module.fail_json(msg='missing task body: %s' % ('log_disk_filter')) 538 539 return not is_successful_status(resp), \ 540 resp['status'] == "success" and \ 541 (resp['revision_changed'] if 'revision_changed' in resp else True), \ 542 resp 543 544 545versioned_schema = { 546 "type": "dict", 547 "children": { 548 "free_style": { 549 "type": "list", 550 "children": { 551 "category": { 552 "type": "string", 553 "options": [ 554 { 555 "value": "traffic", 556 "revisions": { 557 "v7.0.0": True 558 } 559 }, 560 { 561 "value": "event", 562 "revisions": { 563 "v7.0.0": True 564 } 565 }, 566 { 567 "value": "virus", 568 "revisions": { 569 "v7.0.0": True 570 } 571 }, 572 { 573 "value": "webfilter", 574 "revisions": { 575 "v7.0.0": True 576 } 577 }, 578 { 579 "value": "attack", 580 "revisions": { 581 "v7.0.0": True 582 } 583 }, 584 { 585 "value": "spam", 586 "revisions": { 587 "v7.0.0": True 588 } 589 }, 590 { 591 "value": "anomaly", 592 "revisions": { 593 "v7.0.0": True 594 } 595 }, 596 { 597 "value": "voip", 598 "revisions": { 599 "v7.0.0": True 600 } 601 }, 602 { 603 "value": "dlp", 604 "revisions": { 605 "v7.0.0": True 606 } 607 }, 608 { 609 "value": "app-ctrl", 610 "revisions": { 611 "v7.0.0": True 612 } 613 }, 614 { 615 "value": "waf", 616 "revisions": { 617 "v7.0.0": True 618 } 619 }, 620 { 621 "value": "gtp", 622 "revisions": { 623 "v7.0.0": True 624 } 625 }, 626 { 627 "value": "dns", 628 "revisions": { 629 "v7.0.0": True 630 } 631 }, 632 { 633 "value": "ssh", 634 "revisions": { 635 "v7.0.0": True 636 } 637 }, 638 { 639 "value": "ssl", 640 "revisions": { 641 "v7.0.0": True 642 } 643 }, 644 { 645 "value": "file-filter", 646 "revisions": { 647 "v7.0.0": True 648 } 649 }, 650 { 651 "value": "icap", 652 "revisions": { 653 "v7.0.0": True 654 } 655 } 656 ], 657 "revisions": { 658 "v7.0.0": True 659 } 660 }, 661 "filter": { 662 "type": "string", 663 "revisions": { 664 "v7.0.0": True 665 } 666 }, 667 "id": { 668 "type": "integer", 669 "revisions": { 670 "v7.0.0": True 671 } 672 }, 673 "filter_type": { 674 "type": "string", 675 "options": [ 676 { 677 "value": "include", 678 "revisions": { 679 "v7.0.0": True 680 } 681 }, 682 { 683 "value": "exclude", 684 "revisions": { 685 "v7.0.0": True 686 } 687 } 688 ], 689 "revisions": { 690 "v7.0.0": True 691 } 692 } 693 }, 694 "revisions": { 695 "v7.0.0": True 696 } 697 }, 698 "wan_opt": { 699 "type": "string", 700 "options": [ 701 { 702 "value": "enable", 703 "revisions": { 704 "v6.0.0": True, 705 "v6.0.5": True, 706 "v6.2.0": True, 707 "v6.2.3": True, 708 "v6.2.5": True, 709 "v6.2.7": True, 710 "v6.0.11": True 711 } 712 }, 713 { 714 "value": "disable", 715 "revisions": { 716 "v6.0.0": True, 717 "v6.0.5": True, 718 "v6.2.0": True, 719 "v6.2.3": True, 720 "v6.2.5": True, 721 "v6.2.7": True, 722 "v6.0.11": True 723 } 724 } 725 ], 726 "revisions": { 727 "v6.0.0": True, 728 "v7.0.0": False, 729 "v6.0.5": True, 730 "v6.4.4": False, 731 "v6.4.0": False, 732 "v6.4.1": False, 733 "v6.2.0": True, 734 "v6.2.3": True, 735 "v6.2.5": True, 736 "v6.2.7": True, 737 "v6.0.11": True 738 } 739 }, 740 "filter_type": { 741 "type": "string", 742 "options": [ 743 { 744 "value": "include", 745 "revisions": { 746 "v6.0.0": True, 747 "v6.0.5": True, 748 "v6.4.4": True, 749 "v6.4.0": True, 750 "v6.4.1": True, 751 "v6.2.0": True, 752 "v6.2.3": True, 753 "v6.2.5": True, 754 "v6.2.7": True, 755 "v6.0.11": True 756 } 757 }, 758 { 759 "value": "exclude", 760 "revisions": { 761 "v6.0.0": True, 762 "v6.0.5": True, 763 "v6.4.4": True, 764 "v6.4.0": True, 765 "v6.4.1": True, 766 "v6.2.0": True, 767 "v6.2.3": True, 768 "v6.2.5": True, 769 "v6.2.7": True, 770 "v6.0.11": True 771 } 772 } 773 ], 774 "revisions": { 775 "v6.0.0": True, 776 "v7.0.0": False, 777 "v6.0.5": True, 778 "v6.4.4": True, 779 "v6.4.0": True, 780 "v6.4.1": True, 781 "v6.2.0": True, 782 "v6.2.3": True, 783 "v6.2.5": True, 784 "v6.2.7": True, 785 "v6.0.11": True 786 } 787 }, 788 "local_traffic": { 789 "type": "string", 790 "options": [ 791 { 792 "value": "enable", 793 "revisions": { 794 "v6.0.0": True, 795 "v7.0.0": True, 796 "v6.0.5": True, 797 "v6.4.4": True, 798 "v6.4.0": True, 799 "v6.4.1": True, 800 "v6.2.0": True, 801 "v6.2.3": True, 802 "v6.2.5": True, 803 "v6.2.7": True, 804 "v6.0.11": True 805 } 806 }, 807 { 808 "value": "disable", 809 "revisions": { 810 "v6.0.0": True, 811 "v7.0.0": True, 812 "v6.0.5": True, 813 "v6.4.4": True, 814 "v6.4.0": True, 815 "v6.4.1": True, 816 "v6.2.0": True, 817 "v6.2.3": True, 818 "v6.2.5": True, 819 "v6.2.7": True, 820 "v6.0.11": True 821 } 822 } 823 ], 824 "revisions": { 825 "v6.0.0": True, 826 "v7.0.0": True, 827 "v6.0.5": True, 828 "v6.4.4": True, 829 "v6.4.0": True, 830 "v6.4.1": True, 831 "v6.2.0": True, 832 "v6.2.3": True, 833 "v6.2.5": True, 834 "v6.2.7": True, 835 "v6.0.11": True 836 } 837 }, 838 "netscan_vulnerability": { 839 "type": "string", 840 "revisions": { 841 "v6.0.0": True, 842 "v7.0.0": False, 843 "v6.0.5": True, 844 "v6.4.4": False, 845 "v6.4.0": False, 846 "v6.4.1": False, 847 "v6.2.0": False, 848 "v6.2.3": False, 849 "v6.2.5": False, 850 "v6.2.7": False, 851 "v6.0.11": True 852 } 853 }, 854 "ppp": { 855 "type": "string", 856 "options": [ 857 { 858 "value": "enable", 859 "revisions": { 860 "v6.0.0": True, 861 "v6.0.5": True, 862 "v6.2.0": True, 863 "v6.2.3": True, 864 "v6.2.5": True, 865 "v6.2.7": True, 866 "v6.0.11": True 867 } 868 }, 869 { 870 "value": "disable", 871 "revisions": { 872 "v6.0.0": True, 873 "v6.0.5": True, 874 "v6.2.0": True, 875 "v6.2.3": True, 876 "v6.2.5": True, 877 "v6.2.7": True, 878 "v6.0.11": True 879 } 880 } 881 ], 882 "revisions": { 883 "v6.0.0": True, 884 "v7.0.0": False, 885 "v6.0.5": True, 886 "v6.4.4": False, 887 "v6.4.0": False, 888 "v6.4.1": False, 889 "v6.2.0": True, 890 "v6.2.3": True, 891 "v6.2.5": True, 892 "v6.2.7": True, 893 "v6.0.11": True 894 } 895 }, 896 "radius": { 897 "type": "string", 898 "options": [ 899 { 900 "value": "enable", 901 "revisions": { 902 "v6.0.0": True, 903 "v6.0.5": True, 904 "v6.2.0": True, 905 "v6.2.3": True, 906 "v6.2.5": True, 907 "v6.2.7": True, 908 "v6.0.11": True 909 } 910 }, 911 { 912 "value": "disable", 913 "revisions": { 914 "v6.0.0": True, 915 "v6.0.5": True, 916 "v6.2.0": True, 917 "v6.2.3": True, 918 "v6.2.5": True, 919 "v6.2.7": True, 920 "v6.0.11": True 921 } 922 } 923 ], 924 "revisions": { 925 "v6.0.0": True, 926 "v7.0.0": False, 927 "v6.0.5": True, 928 "v6.4.4": False, 929 "v6.4.0": False, 930 "v6.4.1": False, 931 "v6.2.0": True, 932 "v6.2.3": True, 933 "v6.2.5": True, 934 "v6.2.7": True, 935 "v6.0.11": True 936 } 937 }, 938 "event": { 939 "type": "string", 940 "options": [ 941 { 942 "value": "enable", 943 "revisions": { 944 "v6.0.0": True, 945 "v6.0.5": True, 946 "v6.2.0": True, 947 "v6.2.3": True, 948 "v6.2.5": True, 949 "v6.2.7": True, 950 "v6.0.11": True 951 } 952 }, 953 { 954 "value": "disable", 955 "revisions": { 956 "v6.0.0": True, 957 "v6.0.5": True, 958 "v6.2.0": True, 959 "v6.2.3": True, 960 "v6.2.5": True, 961 "v6.2.7": True, 962 "v6.0.11": True 963 } 964 } 965 ], 966 "revisions": { 967 "v6.0.0": True, 968 "v7.0.0": False, 969 "v6.0.5": True, 970 "v6.4.4": False, 971 "v6.4.0": False, 972 "v6.4.1": False, 973 "v6.2.0": True, 974 "v6.2.3": True, 975 "v6.2.5": True, 976 "v6.2.7": True, 977 "v6.0.11": True 978 } 979 }, 980 "multicast_traffic": { 981 "type": "string", 982 "options": [ 983 { 984 "value": "enable", 985 "revisions": { 986 "v6.0.0": True, 987 "v7.0.0": True, 988 "v6.0.5": True, 989 "v6.4.4": True, 990 "v6.4.0": True, 991 "v6.4.1": True, 992 "v6.2.0": True, 993 "v6.2.3": True, 994 "v6.2.5": True, 995 "v6.2.7": True, 996 "v6.0.11": True 997 } 998 }, 999 { 1000 "value": "disable", 1001 "revisions": { 1002 "v6.0.0": True, 1003 "v7.0.0": True, 1004 "v6.0.5": True, 1005 "v6.4.4": True, 1006 "v6.4.0": True, 1007 "v6.4.1": True, 1008 "v6.2.0": True, 1009 "v6.2.3": True, 1010 "v6.2.5": True, 1011 "v6.2.7": True, 1012 "v6.0.11": True 1013 } 1014 } 1015 ], 1016 "revisions": { 1017 "v6.0.0": True, 1018 "v7.0.0": True, 1019 "v6.0.5": True, 1020 "v6.4.4": True, 1021 "v6.4.0": True, 1022 "v6.4.1": True, 1023 "v6.2.0": True, 1024 "v6.2.3": True, 1025 "v6.2.5": True, 1026 "v6.2.7": True, 1027 "v6.0.11": True 1028 } 1029 }, 1030 "severity": { 1031 "type": "string", 1032 "options": [ 1033 { 1034 "value": "emergency", 1035 "revisions": { 1036 "v6.0.0": True, 1037 "v7.0.0": True, 1038 "v6.0.5": True, 1039 "v6.4.4": True, 1040 "v6.4.0": True, 1041 "v6.4.1": True, 1042 "v6.2.0": True, 1043 "v6.2.3": True, 1044 "v6.2.5": True, 1045 "v6.2.7": True, 1046 "v6.0.11": True 1047 } 1048 }, 1049 { 1050 "value": "alert", 1051 "revisions": { 1052 "v6.0.0": True, 1053 "v7.0.0": True, 1054 "v6.0.5": True, 1055 "v6.4.4": True, 1056 "v6.4.0": True, 1057 "v6.4.1": True, 1058 "v6.2.0": True, 1059 "v6.2.3": True, 1060 "v6.2.5": True, 1061 "v6.2.7": True, 1062 "v6.0.11": True 1063 } 1064 }, 1065 { 1066 "value": "critical", 1067 "revisions": { 1068 "v6.0.0": True, 1069 "v7.0.0": True, 1070 "v6.0.5": True, 1071 "v6.4.4": True, 1072 "v6.4.0": True, 1073 "v6.4.1": True, 1074 "v6.2.0": True, 1075 "v6.2.3": True, 1076 "v6.2.5": True, 1077 "v6.2.7": True, 1078 "v6.0.11": True 1079 } 1080 }, 1081 { 1082 "value": "error", 1083 "revisions": { 1084 "v6.0.0": True, 1085 "v7.0.0": True, 1086 "v6.0.5": True, 1087 "v6.4.4": True, 1088 "v6.4.0": True, 1089 "v6.4.1": True, 1090 "v6.2.0": True, 1091 "v6.2.3": True, 1092 "v6.2.5": True, 1093 "v6.2.7": True, 1094 "v6.0.11": True 1095 } 1096 }, 1097 { 1098 "value": "warning", 1099 "revisions": { 1100 "v6.0.0": True, 1101 "v7.0.0": True, 1102 "v6.0.5": True, 1103 "v6.4.4": True, 1104 "v6.4.0": True, 1105 "v6.4.1": True, 1106 "v6.2.0": True, 1107 "v6.2.3": True, 1108 "v6.2.5": True, 1109 "v6.2.7": True, 1110 "v6.0.11": True 1111 } 1112 }, 1113 { 1114 "value": "notification", 1115 "revisions": { 1116 "v6.0.0": True, 1117 "v7.0.0": True, 1118 "v6.0.5": True, 1119 "v6.4.4": True, 1120 "v6.4.0": True, 1121 "v6.4.1": True, 1122 "v6.2.0": True, 1123 "v6.2.3": True, 1124 "v6.2.5": True, 1125 "v6.2.7": True, 1126 "v6.0.11": True 1127 } 1128 }, 1129 { 1130 "value": "information", 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": "debug", 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 "sslvpn_log_session": { 1177 "type": "string", 1178 "options": [ 1179 { 1180 "value": "enable", 1181 "revisions": { 1182 "v6.0.0": True, 1183 "v6.0.5": True, 1184 "v6.2.0": True, 1185 "v6.2.3": True, 1186 "v6.2.5": True, 1187 "v6.2.7": True, 1188 "v6.0.11": True 1189 } 1190 }, 1191 { 1192 "value": "disable", 1193 "revisions": { 1194 "v6.0.0": True, 1195 "v6.0.5": True, 1196 "v6.2.0": True, 1197 "v6.2.3": True, 1198 "v6.2.5": True, 1199 "v6.2.7": True, 1200 "v6.0.11": True 1201 } 1202 } 1203 ], 1204 "revisions": { 1205 "v6.0.0": True, 1206 "v7.0.0": False, 1207 "v6.0.5": True, 1208 "v6.4.4": False, 1209 "v6.4.0": False, 1210 "v6.4.1": False, 1211 "v6.2.0": True, 1212 "v6.2.3": True, 1213 "v6.2.5": True, 1214 "v6.2.7": True, 1215 "v6.0.11": True 1216 } 1217 }, 1218 "notification": { 1219 "type": "string", 1220 "options": [ 1221 { 1222 "value": "enable", 1223 "revisions": { 1224 "v6.0.0": True, 1225 "v6.0.5": True, 1226 "v6.2.0": True, 1227 "v6.2.3": True, 1228 "v6.2.5": True, 1229 "v6.2.7": True, 1230 "v6.0.11": True 1231 } 1232 }, 1233 { 1234 "value": "disable", 1235 "revisions": { 1236 "v6.0.0": True, 1237 "v6.0.5": True, 1238 "v6.2.0": True, 1239 "v6.2.3": True, 1240 "v6.2.5": True, 1241 "v6.2.7": True, 1242 "v6.0.11": True 1243 } 1244 } 1245 ], 1246 "revisions": { 1247 "v6.0.0": True, 1248 "v7.0.0": False, 1249 "v6.0.5": True, 1250 "v6.4.4": False, 1251 "v6.4.0": False, 1252 "v6.4.1": False, 1253 "v6.2.0": True, 1254 "v6.2.3": True, 1255 "v6.2.5": True, 1256 "v6.2.7": True, 1257 "v6.0.11": True 1258 } 1259 }, 1260 "system": { 1261 "type": "string", 1262 "options": [ 1263 { 1264 "value": "enable", 1265 "revisions": { 1266 "v6.0.0": True, 1267 "v6.0.5": True, 1268 "v6.2.0": True, 1269 "v6.2.3": True, 1270 "v6.2.5": True, 1271 "v6.2.7": True, 1272 "v6.0.11": True 1273 } 1274 }, 1275 { 1276 "value": "disable", 1277 "revisions": { 1278 "v6.0.0": True, 1279 "v6.0.5": True, 1280 "v6.2.0": True, 1281 "v6.2.3": True, 1282 "v6.2.5": True, 1283 "v6.2.7": True, 1284 "v6.0.11": True 1285 } 1286 } 1287 ], 1288 "revisions": { 1289 "v6.0.0": True, 1290 "v7.0.0": False, 1291 "v6.0.5": True, 1292 "v6.4.4": False, 1293 "v6.4.0": False, 1294 "v6.4.1": False, 1295 "v6.2.0": True, 1296 "v6.2.3": True, 1297 "v6.2.5": True, 1298 "v6.2.7": True, 1299 "v6.0.11": True 1300 } 1301 }, 1302 "gtp": { 1303 "type": "string", 1304 "options": [ 1305 { 1306 "value": "enable", 1307 "revisions": { 1308 "v6.0.0": True, 1309 "v7.0.0": True, 1310 "v6.0.5": True, 1311 "v6.4.4": True, 1312 "v6.4.0": True, 1313 "v6.4.1": True, 1314 "v6.2.0": True, 1315 "v6.2.3": True, 1316 "v6.2.5": True, 1317 "v6.2.7": True, 1318 "v6.0.11": True 1319 } 1320 }, 1321 { 1322 "value": "disable", 1323 "revisions": { 1324 "v6.0.0": True, 1325 "v7.0.0": True, 1326 "v6.0.5": True, 1327 "v6.4.4": True, 1328 "v6.4.0": True, 1329 "v6.4.1": True, 1330 "v6.2.0": True, 1331 "v6.2.3": True, 1332 "v6.2.5": True, 1333 "v6.2.7": True, 1334 "v6.0.11": True 1335 } 1336 } 1337 ], 1338 "revisions": { 1339 "v6.0.0": True, 1340 "v7.0.0": True, 1341 "v6.0.5": True, 1342 "v6.4.4": True, 1343 "v6.4.0": True, 1344 "v6.4.1": True, 1345 "v6.2.0": True, 1346 "v6.2.3": True, 1347 "v6.2.5": True, 1348 "v6.2.7": True, 1349 "v6.0.11": True 1350 } 1351 }, 1352 "sniffer_traffic": { 1353 "type": "string", 1354 "options": [ 1355 { 1356 "value": "enable", 1357 "revisions": { 1358 "v6.0.0": True, 1359 "v7.0.0": True, 1360 "v6.0.5": True, 1361 "v6.4.4": True, 1362 "v6.4.0": True, 1363 "v6.4.1": True, 1364 "v6.2.0": True, 1365 "v6.2.3": True, 1366 "v6.2.5": True, 1367 "v6.2.7": True, 1368 "v6.0.11": True 1369 } 1370 }, 1371 { 1372 "value": "disable", 1373 "revisions": { 1374 "v6.0.0": True, 1375 "v7.0.0": True, 1376 "v6.0.5": True, 1377 "v6.4.4": True, 1378 "v6.4.0": True, 1379 "v6.4.1": True, 1380 "v6.2.0": True, 1381 "v6.2.3": True, 1382 "v6.2.5": True, 1383 "v6.2.7": True, 1384 "v6.0.11": True 1385 } 1386 } 1387 ], 1388 "revisions": { 1389 "v6.0.0": True, 1390 "v7.0.0": True, 1391 "v6.0.5": True, 1392 "v6.4.4": True, 1393 "v6.4.0": True, 1394 "v6.4.1": True, 1395 "v6.2.0": True, 1396 "v6.2.3": True, 1397 "v6.2.5": True, 1398 "v6.2.7": True, 1399 "v6.0.11": True 1400 } 1401 }, 1402 "voip": { 1403 "type": "string", 1404 "options": [ 1405 { 1406 "value": "enable", 1407 "revisions": { 1408 "v6.0.0": True, 1409 "v7.0.0": True, 1410 "v6.0.5": True, 1411 "v6.4.4": True, 1412 "v6.4.0": True, 1413 "v6.4.1": True, 1414 "v6.2.0": True, 1415 "v6.2.3": True, 1416 "v6.2.5": True, 1417 "v6.2.7": True, 1418 "v6.0.11": True 1419 } 1420 }, 1421 { 1422 "value": "disable", 1423 "revisions": { 1424 "v6.0.0": True, 1425 "v7.0.0": True, 1426 "v6.0.5": True, 1427 "v6.4.4": True, 1428 "v6.4.0": True, 1429 "v6.4.1": True, 1430 "v6.2.0": True, 1431 "v6.2.3": True, 1432 "v6.2.5": True, 1433 "v6.2.7": True, 1434 "v6.0.11": True 1435 } 1436 } 1437 ], 1438 "revisions": { 1439 "v6.0.0": True, 1440 "v7.0.0": True, 1441 "v6.0.5": True, 1442 "v6.4.4": True, 1443 "v6.4.0": True, 1444 "v6.4.1": True, 1445 "v6.2.0": True, 1446 "v6.2.3": True, 1447 "v6.2.5": True, 1448 "v6.2.7": True, 1449 "v6.0.11": True 1450 } 1451 }, 1452 "dns": { 1453 "type": "string", 1454 "options": [ 1455 { 1456 "value": "enable", 1457 "revisions": { 1458 "v6.0.11": True, 1459 "v6.0.0": True, 1460 "v6.0.5": True 1461 } 1462 }, 1463 { 1464 "value": "disable", 1465 "revisions": { 1466 "v6.0.11": True, 1467 "v6.0.0": True, 1468 "v6.0.5": True 1469 } 1470 } 1471 ], 1472 "revisions": { 1473 "v6.0.0": True, 1474 "v7.0.0": False, 1475 "v6.0.5": True, 1476 "v6.4.4": False, 1477 "v6.4.0": False, 1478 "v6.4.1": False, 1479 "v6.2.0": False, 1480 "v6.2.3": False, 1481 "v6.2.5": False, 1482 "v6.2.7": False, 1483 "v6.0.11": True 1484 } 1485 }, 1486 "dhcp": { 1487 "type": "string", 1488 "options": [ 1489 { 1490 "value": "enable", 1491 "revisions": { 1492 "v6.0.0": True, 1493 "v6.0.5": True, 1494 "v6.2.0": True, 1495 "v6.2.3": True, 1496 "v6.2.5": True, 1497 "v6.2.7": True, 1498 "v6.0.11": True 1499 } 1500 }, 1501 { 1502 "value": "disable", 1503 "revisions": { 1504 "v6.0.0": True, 1505 "v6.0.5": True, 1506 "v6.2.0": True, 1507 "v6.2.3": True, 1508 "v6.2.5": True, 1509 "v6.2.7": True, 1510 "v6.0.11": True 1511 } 1512 } 1513 ], 1514 "revisions": { 1515 "v6.0.0": True, 1516 "v7.0.0": False, 1517 "v6.0.5": True, 1518 "v6.4.4": False, 1519 "v6.4.0": False, 1520 "v6.4.1": False, 1521 "v6.2.0": True, 1522 "v6.2.3": True, 1523 "v6.2.5": True, 1524 "v6.2.7": True, 1525 "v6.0.11": True 1526 } 1527 }, 1528 "anomaly": { 1529 "type": "string", 1530 "options": [ 1531 { 1532 "value": "enable", 1533 "revisions": { 1534 "v6.0.0": True, 1535 "v7.0.0": True, 1536 "v6.0.5": True, 1537 "v6.4.4": True, 1538 "v6.4.0": True, 1539 "v6.4.1": True, 1540 "v6.2.0": True, 1541 "v6.2.3": True, 1542 "v6.2.5": True, 1543 "v6.2.7": True, 1544 "v6.0.11": True 1545 } 1546 }, 1547 { 1548 "value": "disable", 1549 "revisions": { 1550 "v6.0.0": True, 1551 "v7.0.0": True, 1552 "v6.0.5": True, 1553 "v6.4.4": True, 1554 "v6.4.0": True, 1555 "v6.4.1": True, 1556 "v6.2.0": True, 1557 "v6.2.3": True, 1558 "v6.2.5": True, 1559 "v6.2.7": True, 1560 "v6.0.11": True 1561 } 1562 } 1563 ], 1564 "revisions": { 1565 "v6.0.0": True, 1566 "v7.0.0": True, 1567 "v6.0.5": True, 1568 "v6.4.4": True, 1569 "v6.4.0": True, 1570 "v6.4.1": True, 1571 "v6.2.0": True, 1572 "v6.2.3": True, 1573 "v6.2.5": True, 1574 "v6.2.7": True, 1575 "v6.0.11": True 1576 } 1577 }, 1578 "auth": { 1579 "type": "string", 1580 "options": [ 1581 { 1582 "value": "enable", 1583 "revisions": { 1584 "v6.0.0": True, 1585 "v6.0.5": True, 1586 "v6.2.0": True, 1587 "v6.2.3": True, 1588 "v6.2.5": True, 1589 "v6.2.7": True, 1590 "v6.0.11": True 1591 } 1592 }, 1593 { 1594 "value": "disable", 1595 "revisions": { 1596 "v6.0.0": True, 1597 "v6.0.5": True, 1598 "v6.2.0": True, 1599 "v6.2.3": True, 1600 "v6.2.5": True, 1601 "v6.2.7": True, 1602 "v6.0.11": True 1603 } 1604 } 1605 ], 1606 "revisions": { 1607 "v6.0.0": True, 1608 "v7.0.0": False, 1609 "v6.0.5": True, 1610 "v6.4.4": False, 1611 "v6.4.0": False, 1612 "v6.4.1": False, 1613 "v6.2.0": True, 1614 "v6.2.3": True, 1615 "v6.2.5": True, 1616 "v6.2.7": True, 1617 "v6.0.11": True 1618 } 1619 }, 1620 "ldb_monitor": { 1621 "type": "string", 1622 "options": [ 1623 { 1624 "value": "enable", 1625 "revisions": { 1626 "v6.0.0": True, 1627 "v6.0.5": True, 1628 "v6.2.0": True, 1629 "v6.2.3": True, 1630 "v6.2.5": True, 1631 "v6.2.7": True, 1632 "v6.0.11": True 1633 } 1634 }, 1635 { 1636 "value": "disable", 1637 "revisions": { 1638 "v6.0.0": True, 1639 "v6.0.5": True, 1640 "v6.2.0": True, 1641 "v6.2.3": True, 1642 "v6.2.5": True, 1643 "v6.2.7": True, 1644 "v6.0.11": True 1645 } 1646 } 1647 ], 1648 "revisions": { 1649 "v6.0.0": True, 1650 "v7.0.0": False, 1651 "v6.0.5": True, 1652 "v6.4.4": False, 1653 "v6.4.0": False, 1654 "v6.4.1": False, 1655 "v6.2.0": True, 1656 "v6.2.3": True, 1657 "v6.2.5": True, 1658 "v6.2.7": True, 1659 "v6.0.11": True 1660 } 1661 }, 1662 "ssh": { 1663 "type": "string", 1664 "options": [ 1665 { 1666 "value": "enable", 1667 "revisions": { 1668 "v6.0.11": True, 1669 "v6.0.0": True, 1670 "v6.0.5": True 1671 } 1672 }, 1673 { 1674 "value": "disable", 1675 "revisions": { 1676 "v6.0.11": True, 1677 "v6.0.0": True, 1678 "v6.0.5": True 1679 } 1680 } 1681 ], 1682 "revisions": { 1683 "v6.0.0": True, 1684 "v7.0.0": False, 1685 "v6.0.5": True, 1686 "v6.4.4": False, 1687 "v6.4.0": False, 1688 "v6.4.1": False, 1689 "v6.2.0": False, 1690 "v6.2.3": False, 1691 "v6.2.5": False, 1692 "v6.2.7": False, 1693 "v6.0.11": True 1694 } 1695 }, 1696 "sslvpn_log_adm": { 1697 "type": "string", 1698 "options": [ 1699 { 1700 "value": "enable", 1701 "revisions": { 1702 "v6.0.0": True, 1703 "v6.0.5": True, 1704 "v6.2.0": True, 1705 "v6.2.3": True, 1706 "v6.2.5": True, 1707 "v6.2.7": True, 1708 "v6.0.11": True 1709 } 1710 }, 1711 { 1712 "value": "disable", 1713 "revisions": { 1714 "v6.0.0": True, 1715 "v6.0.5": True, 1716 "v6.2.0": True, 1717 "v6.2.3": True, 1718 "v6.2.5": True, 1719 "v6.2.7": True, 1720 "v6.0.11": True 1721 } 1722 } 1723 ], 1724 "revisions": { 1725 "v6.0.0": True, 1726 "v7.0.0": False, 1727 "v6.0.5": True, 1728 "v6.4.4": False, 1729 "v6.4.0": False, 1730 "v6.4.1": False, 1731 "v6.2.0": True, 1732 "v6.2.3": True, 1733 "v6.2.5": True, 1734 "v6.2.7": True, 1735 "v6.0.11": True 1736 } 1737 }, 1738 "cpu_memory_usage": { 1739 "type": "string", 1740 "options": [ 1741 { 1742 "value": "enable", 1743 "revisions": { 1744 "v6.0.0": True, 1745 "v6.0.5": True, 1746 "v6.2.0": True, 1747 "v6.2.3": True, 1748 "v6.2.5": True, 1749 "v6.2.7": True, 1750 "v6.0.11": True 1751 } 1752 }, 1753 { 1754 "value": "disable", 1755 "revisions": { 1756 "v6.0.0": True, 1757 "v6.0.5": True, 1758 "v6.2.0": True, 1759 "v6.2.3": True, 1760 "v6.2.5": True, 1761 "v6.2.7": True, 1762 "v6.0.11": True 1763 } 1764 } 1765 ], 1766 "revisions": { 1767 "v6.0.0": True, 1768 "v7.0.0": False, 1769 "v6.0.5": True, 1770 "v6.4.4": False, 1771 "v6.4.0": False, 1772 "v6.4.1": False, 1773 "v6.2.0": True, 1774 "v6.2.3": True, 1775 "v6.2.5": True, 1776 "v6.2.7": True, 1777 "v6.0.11": True 1778 } 1779 }, 1780 "netscan_discovery": { 1781 "type": "string", 1782 "revisions": { 1783 "v6.0.0": True, 1784 "v7.0.0": False, 1785 "v6.0.5": True, 1786 "v6.4.4": False, 1787 "v6.4.0": False, 1788 "v6.4.1": False, 1789 "v6.2.0": False, 1790 "v6.2.3": False, 1791 "v6.2.5": False, 1792 "v6.2.7": False, 1793 "v6.0.11": True 1794 } 1795 }, 1796 "ha": { 1797 "type": "string", 1798 "options": [ 1799 { 1800 "value": "enable", 1801 "revisions": { 1802 "v6.0.0": True, 1803 "v6.0.5": True, 1804 "v6.2.0": True, 1805 "v6.2.3": True, 1806 "v6.2.5": True, 1807 "v6.2.7": True, 1808 "v6.0.11": True 1809 } 1810 }, 1811 { 1812 "value": "disable", 1813 "revisions": { 1814 "v6.0.0": True, 1815 "v6.0.5": 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": False, 1827 "v6.0.5": True, 1828 "v6.4.4": False, 1829 "v6.4.0": False, 1830 "v6.4.1": False, 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 "forward_traffic": { 1839 "type": "string", 1840 "options": [ 1841 { 1842 "value": "enable", 1843 "revisions": { 1844 "v6.0.0": True, 1845 "v7.0.0": True, 1846 "v6.0.5": True, 1847 "v6.4.4": True, 1848 "v6.4.0": True, 1849 "v6.4.1": True, 1850 "v6.2.0": True, 1851 "v6.2.3": True, 1852 "v6.2.5": True, 1853 "v6.2.7": True, 1854 "v6.0.11": True 1855 } 1856 }, 1857 { 1858 "value": "disable", 1859 "revisions": { 1860 "v6.0.0": True, 1861 "v7.0.0": True, 1862 "v6.0.5": True, 1863 "v6.4.4": True, 1864 "v6.4.0": True, 1865 "v6.4.1": True, 1866 "v6.2.0": True, 1867 "v6.2.3": True, 1868 "v6.2.5": True, 1869 "v6.2.7": True, 1870 "v6.0.11": True 1871 } 1872 } 1873 ], 1874 "revisions": { 1875 "v6.0.0": True, 1876 "v7.0.0": True, 1877 "v6.0.5": True, 1878 "v6.4.4": True, 1879 "v6.4.0": True, 1880 "v6.4.1": True, 1881 "v6.2.0": True, 1882 "v6.2.3": True, 1883 "v6.2.5": True, 1884 "v6.2.7": True, 1885 "v6.0.11": True 1886 } 1887 }, 1888 "ipsec": { 1889 "type": "string", 1890 "options": [ 1891 { 1892 "value": "enable", 1893 "revisions": { 1894 "v6.0.0": True, 1895 "v6.0.5": True, 1896 "v6.2.0": True, 1897 "v6.2.3": True, 1898 "v6.2.5": True, 1899 "v6.2.7": True, 1900 "v6.0.11": True 1901 } 1902 }, 1903 { 1904 "value": "disable", 1905 "revisions": { 1906 "v6.0.0": True, 1907 "v6.0.5": True, 1908 "v6.2.0": True, 1909 "v6.2.3": True, 1910 "v6.2.5": True, 1911 "v6.2.7": True, 1912 "v6.0.11": True 1913 } 1914 } 1915 ], 1916 "revisions": { 1917 "v6.0.0": True, 1918 "v7.0.0": False, 1919 "v6.0.5": True, 1920 "v6.4.4": False, 1921 "v6.4.0": False, 1922 "v6.4.1": False, 1923 "v6.2.0": True, 1924 "v6.2.3": True, 1925 "v6.2.5": True, 1926 "v6.2.7": True, 1927 "v6.0.11": True 1928 } 1929 }, 1930 "dlp_archive": { 1931 "type": "string", 1932 "options": [ 1933 { 1934 "value": "enable", 1935 "revisions": { 1936 "v6.0.0": True, 1937 "v7.0.0": True, 1938 "v6.0.5": True, 1939 "v6.4.4": True, 1940 "v6.4.0": True, 1941 "v6.4.1": True, 1942 "v6.2.0": True, 1943 "v6.2.3": True, 1944 "v6.2.5": True, 1945 "v6.2.7": True, 1946 "v6.0.11": True 1947 } 1948 }, 1949 { 1950 "value": "disable", 1951 "revisions": { 1952 "v6.0.0": True, 1953 "v7.0.0": True, 1954 "v6.0.5": True, 1955 "v6.4.4": True, 1956 "v6.4.0": True, 1957 "v6.4.1": True, 1958 "v6.2.0": True, 1959 "v6.2.3": True, 1960 "v6.2.5": True, 1961 "v6.2.7": True, 1962 "v6.0.11": True 1963 } 1964 } 1965 ], 1966 "revisions": { 1967 "v6.0.0": True, 1968 "v7.0.0": True, 1969 "v6.0.5": True, 1970 "v6.4.4": True, 1971 "v6.4.0": True, 1972 "v6.4.1": True, 1973 "v6.2.0": True, 1974 "v6.2.3": True, 1975 "v6.2.5": True, 1976 "v6.2.7": True, 1977 "v6.0.11": True 1978 } 1979 }, 1980 "sslvpn_log_auth": { 1981 "type": "string", 1982 "options": [ 1983 { 1984 "value": "enable", 1985 "revisions": { 1986 "v6.0.0": True, 1987 "v6.0.5": True, 1988 "v6.2.0": True, 1989 "v6.2.3": True, 1990 "v6.2.5": True, 1991 "v6.2.7": True, 1992 "v6.0.11": True 1993 } 1994 }, 1995 { 1996 "value": "disable", 1997 "revisions": { 1998 "v6.0.0": True, 1999 "v6.0.5": True, 2000 "v6.2.0": True, 2001 "v6.2.3": True, 2002 "v6.2.5": True, 2003 "v6.2.7": True, 2004 "v6.0.11": True 2005 } 2006 } 2007 ], 2008 "revisions": { 2009 "v6.0.0": True, 2010 "v7.0.0": False, 2011 "v6.0.5": True, 2012 "v6.4.4": False, 2013 "v6.4.0": False, 2014 "v6.4.1": False, 2015 "v6.2.0": True, 2016 "v6.2.3": True, 2017 "v6.2.5": True, 2018 "v6.2.7": True, 2019 "v6.0.11": True 2020 } 2021 }, 2022 "admin": { 2023 "type": "string", 2024 "options": [ 2025 { 2026 "value": "enable", 2027 "revisions": { 2028 "v6.0.0": True, 2029 "v6.0.5": True, 2030 "v6.2.0": True, 2031 "v6.2.3": True, 2032 "v6.2.5": True, 2033 "v6.2.7": True, 2034 "v6.0.11": True 2035 } 2036 }, 2037 { 2038 "value": "disable", 2039 "revisions": { 2040 "v6.0.0": True, 2041 "v6.0.5": True, 2042 "v6.2.0": True, 2043 "v6.2.3": True, 2044 "v6.2.5": True, 2045 "v6.2.7": True, 2046 "v6.0.11": True 2047 } 2048 } 2049 ], 2050 "revisions": { 2051 "v6.0.0": True, 2052 "v7.0.0": False, 2053 "v6.0.5": True, 2054 "v6.4.4": False, 2055 "v6.4.0": False, 2056 "v6.4.1": False, 2057 "v6.2.0": True, 2058 "v6.2.3": True, 2059 "v6.2.5": True, 2060 "v6.2.7": True, 2061 "v6.0.11": True 2062 } 2063 }, 2064 "vip_ssl": { 2065 "type": "string", 2066 "options": [ 2067 { 2068 "value": "enable", 2069 "revisions": { 2070 "v6.0.0": True, 2071 "v6.0.5": True, 2072 "v6.2.0": True, 2073 "v6.2.3": True, 2074 "v6.2.5": True, 2075 "v6.2.7": True, 2076 "v6.0.11": True 2077 } 2078 }, 2079 { 2080 "value": "disable", 2081 "revisions": { 2082 "v6.0.0": True, 2083 "v6.0.5": True, 2084 "v6.2.0": True, 2085 "v6.2.3": True, 2086 "v6.2.5": True, 2087 "v6.2.7": True, 2088 "v6.0.11": True 2089 } 2090 } 2091 ], 2092 "revisions": { 2093 "v6.0.0": True, 2094 "v7.0.0": False, 2095 "v6.0.5": True, 2096 "v6.4.4": False, 2097 "v6.4.0": False, 2098 "v6.4.1": False, 2099 "v6.2.0": True, 2100 "v6.2.3": True, 2101 "v6.2.5": True, 2102 "v6.2.7": True, 2103 "v6.0.11": True 2104 } 2105 }, 2106 "filter": { 2107 "type": "string", 2108 "revisions": { 2109 "v6.0.0": True, 2110 "v7.0.0": False, 2111 "v6.0.5": True, 2112 "v6.4.4": True, 2113 "v6.4.0": True, 2114 "v6.4.1": True, 2115 "v6.2.0": True, 2116 "v6.2.3": True, 2117 "v6.2.5": True, 2118 "v6.2.7": True, 2119 "v6.0.11": True 2120 } 2121 }, 2122 "pattern": { 2123 "type": "string", 2124 "options": [ 2125 { 2126 "value": "enable", 2127 "revisions": { 2128 "v6.0.0": True, 2129 "v6.0.5": True, 2130 "v6.2.0": True, 2131 "v6.2.3": True, 2132 "v6.2.5": True, 2133 "v6.2.7": True, 2134 "v6.0.11": True 2135 } 2136 }, 2137 { 2138 "value": "disable", 2139 "revisions": { 2140 "v6.0.0": True, 2141 "v6.0.5": True, 2142 "v6.2.0": True, 2143 "v6.2.3": True, 2144 "v6.2.5": True, 2145 "v6.2.7": True, 2146 "v6.0.11": True 2147 } 2148 } 2149 ], 2150 "revisions": { 2151 "v6.0.0": True, 2152 "v7.0.0": False, 2153 "v6.0.5": True, 2154 "v6.4.4": False, 2155 "v6.4.0": False, 2156 "v6.4.1": False, 2157 "v6.2.0": True, 2158 "v6.2.3": True, 2159 "v6.2.5": True, 2160 "v6.2.7": True, 2161 "v6.0.11": True 2162 } 2163 }, 2164 "wireless_activity": { 2165 "type": "string", 2166 "options": [ 2167 { 2168 "value": "enable", 2169 "revisions": { 2170 "v6.0.0": True, 2171 "v6.0.5": True, 2172 "v6.2.0": True, 2173 "v6.2.3": True, 2174 "v6.2.5": True, 2175 "v6.2.7": True, 2176 "v6.0.11": True 2177 } 2178 }, 2179 { 2180 "value": "disable", 2181 "revisions": { 2182 "v6.0.0": True, 2183 "v6.0.5": True, 2184 "v6.2.0": True, 2185 "v6.2.3": True, 2186 "v6.2.5": True, 2187 "v6.2.7": True, 2188 "v6.0.11": True 2189 } 2190 } 2191 ], 2192 "revisions": { 2193 "v6.0.0": True, 2194 "v7.0.0": False, 2195 "v6.0.5": True, 2196 "v6.4.4": False, 2197 "v6.4.0": False, 2198 "v6.4.1": False, 2199 "v6.2.0": True, 2200 "v6.2.3": True, 2201 "v6.2.5": True, 2202 "v6.2.7": True, 2203 "v6.0.11": True 2204 } 2205 } 2206 }, 2207 "revisions": { 2208 "v6.0.0": True, 2209 "v7.0.0": True, 2210 "v6.0.5": True, 2211 "v6.4.4": True, 2212 "v6.4.0": True, 2213 "v6.4.1": True, 2214 "v6.2.0": True, 2215 "v6.2.3": True, 2216 "v6.2.5": True, 2217 "v6.2.7": True, 2218 "v6.0.11": True 2219 } 2220} 2221 2222 2223def main(): 2224 module_spec = schema_to_module_spec(versioned_schema) 2225 mkeyname = None 2226 fields = { 2227 "access_token": {"required": False, "type": "str", "no_log": True}, 2228 "enable_log": {"required": False, "type": bool}, 2229 "vdom": {"required": False, "type": "str", "default": "root"}, 2230 "log_disk_filter": { 2231 "required": False, "type": "dict", "default": None, 2232 "options": { 2233 } 2234 } 2235 } 2236 for attribute_name in module_spec['options']: 2237 fields["log_disk_filter"]['options'][attribute_name] = module_spec['options'][attribute_name] 2238 if mkeyname and mkeyname == attribute_name: 2239 fields["log_disk_filter"]['options'][attribute_name]['required'] = True 2240 2241 check_legacy_fortiosapi() 2242 module = AnsibleModule(argument_spec=fields, 2243 supports_check_mode=False) 2244 2245 versions_check_result = None 2246 if module._socket_path: 2247 connection = Connection(module._socket_path) 2248 if 'access_token' in module.params: 2249 connection.set_option('access_token', module.params['access_token']) 2250 2251 if 'enable_log' in module.params: 2252 connection.set_option('enable_log', module.params['enable_log']) 2253 else: 2254 connection.set_option('enable_log', False) 2255 fos = FortiOSHandler(connection, module, mkeyname) 2256 versions_check_result = check_schema_versioning(fos, versioned_schema, "log_disk_filter") 2257 2258 is_error, has_changed, result = fortios_log_disk(module.params, fos) 2259 2260 else: 2261 module.fail_json(**FAIL_SOCKET_MSG) 2262 2263 if versions_check_result and versions_check_result['matched'] is False: 2264 module.warn("Ansible has detected version mismatch between FortOS system and your playbook, see more details by specifying option -vvv") 2265 2266 if not is_error: 2267 if versions_check_result and versions_check_result['matched'] is False: 2268 module.exit_json(changed=has_changed, version_check_warning=versions_check_result, meta=result) 2269 else: 2270 module.exit_json(changed=has_changed, meta=result) 2271 else: 2272 if versions_check_result and versions_check_result['matched'] is False: 2273 module.fail_json(msg="Error in repo", version_check_warning=versions_check_result, meta=result) 2274 else: 2275 module.fail_json(msg="Error in repo", meta=result) 2276 2277 2278if __name__ == '__main__': 2279 main() 2280