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_firewall_gtp
27short_description: Configure GTP 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 firewall feature and gtp 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    state:
68        description:
69            - Indicates whether to create or remove the object.
70        type: str
71        required: true
72        choices:
73            - present
74            - absent
75    firewall_gtp:
76        description:
77            - Configure GTP.
78        default: null
79        type: dict
80        suboptions:
81            addr_notify:
82                description:
83                    - overbilling notify address
84                type: str
85            apn:
86                description:
87                    - APN.
88                type: list
89                suboptions:
90                    action:
91                        description:
92                            - Action.
93                        type: str
94                        choices:
95                            - allow
96                            - deny
97                    apnmember:
98                        description:
99                            - APN member.
100                        type: list
101                        suboptions:
102                            name:
103                                description:
104                                    - APN name. Source gtp.apn.name gtp.apngrp.name.
105                                required: true
106                                type: str
107                    id:
108                        description:
109                            - ID.
110                        required: true
111                        type: int
112                    selection_mode:
113                        description:
114                            - APN selection mode.
115                        type: list
116                        choices:
117                            - ms
118                            - net
119                            - vrf
120            apn_filter:
121                description:
122                    - apn filter
123                type: str
124                choices:
125                    - enable
126                    - disable
127            authorized_ggsns:
128                description:
129                    - Authorized GGSN group Source firewall.address.name firewall.addrgrp.name.
130                type: str
131            authorized_ggsns6:
132                description:
133                    - Authorized GGSN/PGW IPv6 group. Source firewall.address6.name firewall.addrgrp6.name.
134                type: str
135            authorized_sgsns:
136                description:
137                    - Authorized SGSN group Source firewall.address.name firewall.addrgrp.name.
138                type: str
139            authorized_sgsns6:
140                description:
141                    - Authorized SGSN/SGW IPv6 group. Source firewall.address6.name firewall.addrgrp6.name.
142                type: str
143            comment:
144                description:
145                    - Comment.
146                type: str
147            context_id:
148                description:
149                    - Overbilling context.
150                type: int
151            control_plane_message_rate_limit:
152                description:
153                    - control plane message rate limit
154                type: int
155            default_apn_action:
156                description:
157                    - default apn action
158                type: str
159                choices:
160                    - allow
161                    - deny
162            default_imsi_action:
163                description:
164                    - default imsi action
165                type: str
166                choices:
167                    - allow
168                    - deny
169            default_ip_action:
170                description:
171                    - default action for encapsulated IP traffic
172                type: str
173                choices:
174                    - allow
175                    - deny
176            default_noip_action:
177                description:
178                    - default action for encapsulated non-IP traffic
179                type: str
180                choices:
181                    - allow
182                    - deny
183            default_policy_action:
184                description:
185                    - default advanced policy action
186                type: str
187                choices:
188                    - allow
189                    - deny
190            denied_log:
191                description:
192                    - log denied
193                type: str
194                choices:
195                    - enable
196                    - disable
197            echo_request_interval:
198                description:
199                    - echo request interval (in seconds)
200                type: int
201            extension_log:
202                description:
203                    - log in extension format
204                type: str
205                choices:
206                    - enable
207                    - disable
208            forwarded_log:
209                description:
210                    - log forwarded
211                type: str
212                choices:
213                    - enable
214                    - disable
215            global_tunnel_limit:
216                description:
217                    - Global tunnel limit. Source gtp.tunnel-limit.name.
218                type: str
219            gtp_in_gtp:
220                description:
221                    - gtp in gtp
222                type: str
223                choices:
224                    - allow
225                    - deny
226            gtpu_denied_log:
227                description:
228                    - Enable/disable logging of denied GTP-U packets.
229                type: str
230                choices:
231                    - enable
232                    - disable
233            gtpu_forwarded_log:
234                description:
235                    - Enable/disable logging of forwarded GTP-U packets.
236                type: str
237                choices:
238                    - enable
239                    - disable
240            gtpu_log_freq:
241                description:
242                    - Logging of frequency of GTP-U packets.
243                type: int
244            half_close_timeout:
245                description:
246                    - Half-close tunnel timeout (in seconds).
247                type: int
248            half_open_timeout:
249                description:
250                    - Half-open tunnel timeout (in seconds).
251                type: int
252            handover_group:
253                description:
254                    - Handover SGSN group Source firewall.address.name firewall.addrgrp.name.
255                type: str
256            handover_group6:
257                description:
258                    - Handover SGSN/SGW IPv6 group. Source firewall.address6.name firewall.addrgrp6.name.
259                type: str
260            ie_allow_list_v0v1:
261                description:
262                    - IE allow list. Source gtp.ie-allow-list.name.
263                type: str
264            ie_allow_list_v2:
265                description:
266                    - IE allow list. Source gtp.ie-allow-list.name.
267                type: str
268            ie_remove_policy:
269                description:
270                    - IE remove policy.
271                type: list
272                suboptions:
273                    id:
274                        description:
275                            - ID.
276                        required: true
277                        type: int
278                    remove_ies:
279                        description:
280                            - GTP IEs to be removed.
281                        type: str
282                        choices:
283                            - apn-restriction
284                            - rat-type
285                            - rai
286                            - uli
287                            - imei
288                    sgsn_addr:
289                        description:
290                            - SGSN address name. Source firewall.address.name firewall.addrgrp.name.
291                        type: str
292                    sgsn_addr6:
293                        description:
294                            - SGSN IPv6 address name. Source firewall.address6.name firewall.addrgrp6.name.
295                        type: str
296            ie_remover:
297                description:
298                    - IE removal policy.
299                type: str
300                choices:
301                    - enable
302                    - disable
303            ie_validation:
304                description:
305                    - IE validation.
306                type: dict
307                suboptions:
308                    apn_restriction:
309                        description:
310                            - Validate APN restriction.
311                        type: str
312                        choices:
313                            - enable
314                            - disable
315                    charging_gateway_addr:
316                        description:
317                            - Validate charging gateway address.
318                        type: str
319                        choices:
320                            - enable
321                            - disable
322                    charging_ID:
323                        description:
324                            - Validate charging ID.
325                        type: str
326                        choices:
327                            - enable
328                            - disable
329                    end_user_addr:
330                        description:
331                            - Validate end user address.
332                        type: str
333                        choices:
334                            - enable
335                            - disable
336                    gsn_addr:
337                        description:
338                            - Validate GSN address.
339                        type: str
340                        choices:
341                            - enable
342                            - disable
343                    imei:
344                        description:
345                            - Validate IMEI(SV).
346                        type: str
347                        choices:
348                            - enable
349                            - disable
350                    imsi:
351                        description:
352                            - Validate IMSI.
353                        type: str
354                        choices:
355                            - enable
356                            - disable
357                    mm_context:
358                        description:
359                            - Validate MM context.
360                        type: str
361                        choices:
362                            - enable
363                            - disable
364                    ms_tzone:
365                        description:
366                            - Validate MS time zone.
367                        type: str
368                        choices:
369                            - enable
370                            - disable
371                    ms_validated:
372                        description:
373                            - Validate MS validated.
374                        type: str
375                        choices:
376                            - enable
377                            - disable
378                    msisdn:
379                        description:
380                            - Validate MSISDN.
381                        type: str
382                        choices:
383                            - enable
384                            - disable
385                    nsapi:
386                        description:
387                            - Validate NSAPI.
388                        type: str
389                        choices:
390                            - enable
391                            - disable
392                    pdp_context:
393                        description:
394                            - Validate PDP context.
395                        type: str
396                        choices:
397                            - enable
398                            - disable
399                    qos_profile:
400                        description:
401                            - Validate Quality of Service(QoS) profile.
402                        type: str
403                        choices:
404                            - enable
405                            - disable
406                    rai:
407                        description:
408                            - Validate RAI.
409                        type: str
410                        choices:
411                            - enable
412                            - disable
413                    rat_type:
414                        description:
415                            - Validate RAT type.
416                        type: str
417                        choices:
418                            - enable
419                            - disable
420                    reordering_required:
421                        description:
422                            - Validate re-ordering required.
423                        type: str
424                        choices:
425                            - enable
426                            - disable
427                    selection_mode:
428                        description:
429                            - Validate selection mode.
430                        type: str
431                        choices:
432                            - enable
433                            - disable
434                    uli:
435                        description:
436                            - Validate user location information.
437                        type: str
438                        choices:
439                            - enable
440                            - disable
441            ie_white_list_v0v1:
442                description:
443                    - IE white list. Source gtp.ie-white-list.name.
444                type: str
445            ie_white_list_v2:
446                description:
447                    - IE white list. Source gtp.ie-white-list.name.
448                type: str
449            imsi:
450                description:
451                    - IMSI.
452                type: list
453                suboptions:
454                    action:
455                        description:
456                            - Action.
457                        type: str
458                        choices:
459                            - allow
460                            - deny
461                    apnmember:
462                        description:
463                            - APN member.
464                        type: list
465                        suboptions:
466                            name:
467                                description:
468                                    - APN name. Source gtp.apn.name gtp.apngrp.name.
469                                required: true
470                                type: str
471                    id:
472                        description:
473                            - ID.
474                        required: true
475                        type: int
476                    mcc_mnc:
477                        description:
478                            - MCC MNC.
479                        type: str
480                    msisdn_prefix:
481                        description:
482                            - MSISDN prefix.
483                        type: str
484                    selection_mode:
485                        description:
486                            - APN selection mode.
487                        type: list
488                        choices:
489                            - ms
490                            - net
491                            - vrf
492            imsi_filter:
493                description:
494                    - imsi filter
495                type: str
496                choices:
497                    - enable
498                    - disable
499            interface_notify:
500                description:
501                    - overbilling interface Source system.interface.name.
502                type: str
503            invalid_reserved_field:
504                description:
505                    - Invalid reserved field in GTP header
506                type: str
507                choices:
508                    - allow
509                    - deny
510            invalid_sgsns_to_log:
511                description:
512                    - Invalid SGSN group to be logged Source firewall.address.name firewall.addrgrp.name.
513                type: str
514            invalid_sgsns6_to_log:
515                description:
516                    - Invalid SGSN IPv6 group to be logged. Source firewall.address6.name firewall.addrgrp6.name.
517                type: str
518            ip_filter:
519                description:
520                    - IP filter for encapsulted traffic
521                type: str
522                choices:
523                    - enable
524                    - disable
525            ip_policy:
526                description:
527                    - IP policy.
528                type: list
529                suboptions:
530                    action:
531                        description:
532                            - Action.
533                        type: str
534                        choices:
535                            - allow
536                            - deny
537                    dstaddr:
538                        description:
539                            - Destination address name. Source firewall.address.name firewall.addrgrp.name.
540                        type: str
541                    dstaddr6:
542                        description:
543                            - Destination IPv6 address name. Source firewall.address6.name firewall.addrgrp6.name.
544                        type: str
545                    id:
546                        description:
547                            - ID.
548                        required: true
549                        type: int
550                    srcaddr:
551                        description:
552                            - Source address name. Source firewall.address.name firewall.addrgrp.name.
553                        type: str
554                    srcaddr6:
555                        description:
556                            - Source IPv6 address name. Source firewall.address6.name firewall.addrgrp6.name.
557                        type: str
558            log_freq:
559                description:
560                    - Logging of frequency of GTP-C packets.
561                type: int
562            log_gtpu_limit:
563                description:
564                    - the user data log limit (0-512 bytes)
565                type: int
566            log_imsi_prefix:
567                description:
568                    - IMSI prefix for selective logging.
569                type: str
570            log_msisdn_prefix:
571                description:
572                    - the msisdn prefix for selective logging
573                type: str
574            max_message_length:
575                description:
576                    - max message length
577                type: int
578            message_filter_v0v1:
579                description:
580                    - Message filter. Source gtp.message-filter-v0v1.name.
581                type: str
582            message_filter_v2:
583                description:
584                    - Message filter. Source gtp.message-filter-v2.name.
585                type: str
586            message_rate_limit:
587                description:
588                    - Message rate limiting.
589                type: dict
590                suboptions:
591                    create_aa_pdp_request:
592                        description:
593                            - Rate limit for create AA PDP context request (packets per second).
594                        type: int
595                    create_aa_pdp_response:
596                        description:
597                            - Rate limit for create AA PDP context response (packets per second).
598                        type: int
599                    create_mbms_request:
600                        description:
601                            - Rate limit for create MBMS context request (packets per second).
602                        type: int
603                    create_mbms_response:
604                        description:
605                            - Rate limit for create MBMS context response (packets per second).
606                        type: int
607                    create_pdp_request:
608                        description:
609                            - Rate limit for create PDP context request (packets per second).
610                        type: int
611                    create_pdp_response:
612                        description:
613                            - Rate limit for create PDP context response (packets per second).
614                        type: int
615                    delete_aa_pdp_request:
616                        description:
617                            - Rate limit for delete AA PDP context request (packets per second).
618                        type: int
619                    delete_aa_pdp_response:
620                        description:
621                            - Rate limit for delete AA PDP context response (packets per second).
622                        type: int
623                    delete_mbms_request:
624                        description:
625                            - Rate limit for delete MBMS context request (packets per second).
626                        type: int
627                    delete_mbms_response:
628                        description:
629                            - Rate limit for delete MBMS context response (packets per second).
630                        type: int
631                    delete_pdp_request:
632                        description:
633                            - Rate limit for delete PDP context request (packets per second).
634                        type: int
635                    delete_pdp_response:
636                        description:
637                            - Rate limit for delete PDP context response (packets per second).
638                        type: int
639                    echo_reponse:
640                        description:
641                            - Rate limit for echo response (packets per second).
642                        type: int
643                    echo_request:
644                        description:
645                            - Rate limit for echo requests (packets per second).
646                        type: int
647                    error_indication:
648                        description:
649                            - Rate limit for error indication (packets per second).
650                        type: int
651                    failure_report_request:
652                        description:
653                            - Rate limit for failure report request (packets per second).
654                        type: int
655                    failure_report_response:
656                        description:
657                            - Rate limit for failure report response (packets per second).
658                        type: int
659                    fwd_reloc_complete_ack:
660                        description:
661                            - Rate limit for forward relocation complete acknowledge (packets per second).
662                        type: int
663                    fwd_relocation_complete:
664                        description:
665                            - Rate limit for forward relocation complete (packets per second).
666                        type: int
667                    fwd_relocation_request:
668                        description:
669                            - Rate limit for forward relocation request (packets per second).
670                        type: int
671                    fwd_relocation_response:
672                        description:
673                            - Rate limit for forward relocation response (packets per second).
674                        type: int
675                    fwd_srns_context:
676                        description:
677                            - Rate limit for forward SRNS context (packets per second).
678                        type: int
679                    fwd_srns_context_ack:
680                        description:
681                            - Rate limit for forward SRNS context acknowledge (packets per second).
682                        type: int
683                    g_pdu:
684                        description:
685                            - Rate limit for G-PDU (packets per second).
686                        type: int
687                    identification_request:
688                        description:
689                            - Rate limit for identification request (packets per second).
690                        type: int
691                    identification_response:
692                        description:
693                            - Rate limit for identification response (packets per second).
694                        type: int
695                    mbms_de_reg_request:
696                        description:
697                            - Rate limit for MBMS de-registration request (packets per second).
698                        type: int
699                    mbms_de_reg_response:
700                        description:
701                            - Rate limit for MBMS de-registration response (packets per second).
702                        type: int
703                    mbms_notify_rej_request:
704                        description:
705                            - Rate limit for MBMS notification reject request (packets per second).
706                        type: int
707                    mbms_notify_rej_response:
708                        description:
709                            - Rate limit for MBMS notification reject response (packets per second).
710                        type: int
711                    mbms_notify_request:
712                        description:
713                            - Rate limit for MBMS notification request (packets per second).
714                        type: int
715                    mbms_notify_response:
716                        description:
717                            - Rate limit for MBMS notification response (packets per second).
718                        type: int
719                    mbms_reg_request:
720                        description:
721                            - Rate limit for MBMS registration request (packets per second).
722                        type: int
723                    mbms_reg_response:
724                        description:
725                            - Rate limit for MBMS registration response (packets per second).
726                        type: int
727                    mbms_ses_start_request:
728                        description:
729                            - Rate limit for MBMS session start request (packets per second).
730                        type: int
731                    mbms_ses_start_response:
732                        description:
733                            - Rate limit for MBMS session start response (packets per second).
734                        type: int
735                    mbms_ses_stop_request:
736                        description:
737                            - Rate limit for MBMS session stop request (packets per second).
738                        type: int
739                    mbms_ses_stop_response:
740                        description:
741                            - Rate limit for MBMS session stop response (packets per second).
742                        type: int
743                    note_ms_request:
744                        description:
745                            - Rate limit for note MS GPRS present request (packets per second).
746                        type: int
747                    note_ms_response:
748                        description:
749                            - Rate limit for note MS GPRS present response (packets per second).
750                        type: int
751                    pdu_notify_rej_request:
752                        description:
753                            - Rate limit for PDU notify reject request (packets per second).
754                        type: int
755                    pdu_notify_rej_response:
756                        description:
757                            - Rate limit for PDU notify reject response (packets per second).
758                        type: int
759                    pdu_notify_request:
760                        description:
761                            - Rate limit for PDU notify request (packets per second).
762                        type: int
763                    pdu_notify_response:
764                        description:
765                            - Rate limit for PDU notify response (packets per second).
766                        type: int
767                    ran_info:
768                        description:
769                            - Rate limit for RAN information relay (packets per second).
770                        type: int
771                    relocation_cancel_request:
772                        description:
773                            - Rate limit for relocation cancel request (packets per second).
774                        type: int
775                    relocation_cancel_response:
776                        description:
777                            - Rate limit for relocation cancel response (packets per second).
778                        type: int
779                    send_route_request:
780                        description:
781                            - Rate limit for send routing information for GPRS request (packets per second).
782                        type: int
783                    send_route_response:
784                        description:
785                            - Rate limit for send routing information for GPRS response (packets per second).
786                        type: int
787                    sgsn_context_ack:
788                        description:
789                            - Rate limit for SGSN context acknowledgement (packets per second).
790                        type: int
791                    sgsn_context_request:
792                        description:
793                            - Rate limit for SGSN context request (packets per second).
794                        type: int
795                    sgsn_context_response:
796                        description:
797                            - Rate limit for SGSN context response (packets per second).
798                        type: int
799                    support_ext_hdr_notify:
800                        description:
801                            - Rate limit for support extension headers notification (packets per second).
802                        type: int
803                    update_mbms_request:
804                        description:
805                            - Rate limit for update MBMS context request (packets per second).
806                        type: int
807                    update_mbms_response:
808                        description:
809                            - Rate limit for update MBMS context response (packets per second).
810                        type: int
811                    update_pdp_request:
812                        description:
813                            - Rate limit for update PDP context request (packets per second).
814                        type: int
815                    update_pdp_response:
816                        description:
817                            - Rate limit for update PDP context response (packets per second).
818                        type: int
819                    version_not_support:
820                        description:
821                            - Rate limit for version not supported (packets per second).
822                        type: int
823            message_rate_limit_v0:
824                description:
825                    - Message rate limiting for GTP version 0.
826                type: dict
827                suboptions:
828                    create_pdp_request:
829                        description:
830                            - Rate limit (packets/s) for create PDP context request.
831                        type: int
832                    delete_pdp_request:
833                        description:
834                            - Rate limit (packets/s) for delete PDP context request.
835                        type: int
836                    echo_request:
837                        description:
838                            - Rate limit (packets/s) for echo request.
839                        type: int
840            message_rate_limit_v1:
841                description:
842                    - Message rate limiting for GTP version 1.
843                type: dict
844                suboptions:
845                    create_pdp_request:
846                        description:
847                            - Rate limit (packets/s) for create PDP context request.
848                        type: int
849                    delete_pdp_request:
850                        description:
851                            - Rate limit (packets/s) for delete PDP context request.
852                        type: int
853                    echo_request:
854                        description:
855                            - Rate limit (packets/s) for echo request.
856                        type: int
857            message_rate_limit_v2:
858                description:
859                    - Message rate limiting for GTP version 2.
860                type: dict
861                suboptions:
862                    create_session_request:
863                        description:
864                            - Rate limit (packets/s) for create session request.
865                        type: int
866                    delete_session_request:
867                        description:
868                            - Rate limit (packets/s) for delete session request.
869                        type: int
870                    echo_request:
871                        description:
872                            - Rate limit (packets/s) for echo request.
873                        type: int
874            min_message_length:
875                description:
876                    - min message length
877                type: int
878            miss_must_ie:
879                description:
880                    - Missing mandatory information element
881                type: str
882                choices:
883                    - allow
884                    - deny
885            monitor_mode:
886                description:
887                    - GTP monitor mode
888                type: str
889                choices:
890                    - enable
891                    - disable
892                    - vdom
893            name:
894                description:
895                    - Profile name.
896                required: true
897                type: str
898            noip_filter:
899                description:
900                    - non-IP filter for encapsulted traffic
901                type: str
902                choices:
903                    - enable
904                    - disable
905            noip_policy:
906                description:
907                    - No IP policy.
908                type: list
909                suboptions:
910                    action:
911                        description:
912                            - Action.
913                        type: str
914                        choices:
915                            - allow
916                            - deny
917                    end:
918                        description:
919                            - End of protocol range (0 - 255).
920                        type: int
921                    id:
922                        description:
923                            - ID.
924                        required: true
925                        type: int
926                    start:
927                        description:
928                            - Start of protocol range (0 - 255).
929                        type: int
930                    type:
931                        description:
932                            - Protocol field type.
933                        type: str
934                        choices:
935                            - etsi
936                            - ietf
937            out_of_state_ie:
938                description:
939                    - Out of state information element.
940                type: str
941                choices:
942                    - allow
943                    - deny
944            out_of_state_message:
945                description:
946                    - Out of state GTP message
947                type: str
948                choices:
949                    - allow
950                    - deny
951            per_apn_shaper:
952                description:
953                    - Per APN shaper.
954                type: list
955                suboptions:
956                    apn:
957                        description:
958                            - APN name. Source gtp.apn.name.
959                        type: str
960                    id:
961                        description:
962                            - ID.
963                        required: true
964                        type: int
965                    rate_limit:
966                        description:
967                            - Rate limit (packets/s) for create PDP context request.
968                        type: int
969                    version:
970                        description:
971                            - 'GTP version number: 0 or 1.'
972                        type: int
973            policy:
974                description:
975                    - Policy.
976                type: list
977                suboptions:
978                    action:
979                        description:
980                            - Action.
981                        type: str
982                        choices:
983                            - allow
984                            - deny
985                    apn_sel_mode:
986                        description:
987                            - APN selection mode.
988                        type: list
989                        choices:
990                            - ms
991                            - net
992                            - vrf
993                    apnmember:
994                        description:
995                            - APN member.
996                        type: list
997                        suboptions:
998                            name:
999                                description:
1000                                    - APN name. Source gtp.apn.name gtp.apngrp.name.
1001                                required: true
1002                                type: str
1003                    id:
1004                        description:
1005                            - ID.
1006                        required: true
1007                        type: int
1008                    imei:
1009                        description:
1010                            - IMEI(SV) pattern.
1011                        type: str
1012                    imsi:
1013                        description:
1014                            - IMSI prefix.
1015                        type: str
1016                    imsi_prefix:
1017                        description:
1018                            - IMSI prefix.
1019                        type: str
1020                    max_apn_restriction:
1021                        description:
1022                            - Maximum APN restriction value.
1023                        type: str
1024                        choices:
1025                            - all
1026                            - public-1
1027                            - public-2
1028                            - private-1
1029                            - private-2
1030                    messages:
1031                        description:
1032                            - GTP messages.
1033                        type: list
1034                        choices:
1035                            - create-req
1036                            - create-res
1037                            - update-req
1038                            - update-res
1039                    msisdn:
1040                        description:
1041                            - MSISDN prefix.
1042                        type: str
1043                    msisdn_prefix:
1044                        description:
1045                            - MSISDN prefix.
1046                        type: str
1047                    rai:
1048                        description:
1049                            - RAI pattern.
1050                        type: str
1051                    rat_type:
1052                        description:
1053                            - RAT Type.
1054                        type: list
1055                        choices:
1056                            - any
1057                            - utran
1058                            - geran
1059                            - wlan
1060                            - gan
1061                            - hspa
1062                            - eutran
1063                            - virtual
1064                            - nbiot
1065                    uli:
1066                        description:
1067                            - ULI pattern.
1068                        type: str
1069            policy_filter:
1070                description:
1071                    - Advanced policy filter
1072                type: str
1073                choices:
1074                    - enable
1075                    - disable
1076            policy_v2:
1077                description:
1078                    - Apply allow or deny action to each GTPv2-c packet.
1079                type: list
1080                suboptions:
1081                    action:
1082                        description:
1083                            - Action.
1084                        type: str
1085                        choices:
1086                            - allow
1087                            - deny
1088                    apn_sel_mode:
1089                        description:
1090                            - APN selection mode.
1091                        type: str
1092                        choices:
1093                            - ms
1094                            - net
1095                            - vrf
1096                    apnmember:
1097                        description:
1098                            - APN member.
1099                        type: list
1100                        suboptions:
1101                            name:
1102                                description:
1103                                    - APN name. Source gtp.apn.name gtp.apngrp.name.
1104                                required: true
1105                                type: str
1106                    id:
1107                        description:
1108                            - ID.
1109                        required: true
1110                        type: int
1111                    imsi_prefix:
1112                        description:
1113                            - IMSI prefix.
1114                        type: str
1115                    max_apn_restriction:
1116                        description:
1117                            - Maximum APN restriction value.
1118                        type: str
1119                        choices:
1120                            - all
1121                            - public-1
1122                            - public-2
1123                            - private-1
1124                            - private-2
1125                    mei:
1126                        description:
1127                            - MEI pattern.
1128                        type: str
1129                    messages:
1130                        description:
1131                            - GTP messages.
1132                        type: str
1133                        choices:
1134                            - create-ses-req
1135                            - create-ses-res
1136                            - modify-bearer-req
1137                            - modify-bearer-res
1138                    msisdn_prefix:
1139                        description:
1140                            - MSISDN prefix.
1141                        type: str
1142                    rat_type:
1143                        description:
1144                            - RAT Type.
1145                        type: str
1146                        choices:
1147                            - any
1148                            - utran
1149                            - geran
1150                            - wlan
1151                            - gan
1152                            - hspa
1153                            - eutran
1154                            - virtual
1155                            - nbiot
1156                            - ltem
1157                            - nr
1158                    uli:
1159                        description:
1160                            - GTPv2 ULI patterns (in order of CGI SAI RAI TAI ECGI LAI).
1161                        type: str
1162            port_notify:
1163                description:
1164                    - overbilling notify port
1165                type: int
1166            rate_limit_mode:
1167                description:
1168                    - GTP rate limit mode.
1169                type: str
1170                choices:
1171                    - per-profile
1172                    - per-stream
1173                    - per-apn
1174            rate_limited_log:
1175                description:
1176                    - log rate limited
1177                type: str
1178                choices:
1179                    - enable
1180                    - disable
1181            rate_sampling_interval:
1182                description:
1183                    - rate sampling interval (1-3600 seconds)
1184                type: int
1185            remove_if_echo_expires:
1186                description:
1187                    - remove if echo response expires
1188                type: str
1189                choices:
1190                    - enable
1191                    - disable
1192            remove_if_recovery_differ:
1193                description:
1194                    - remove upon different Recovery IE
1195                type: str
1196                choices:
1197                    - enable
1198                    - disable
1199            reserved_ie:
1200                description:
1201                    - reserved information element
1202                type: str
1203                choices:
1204                    - allow
1205                    - deny
1206            send_delete_when_timeout:
1207                description:
1208                    - send DELETE request to path endpoints when GTPv0/v1 tunnel timeout.
1209                type: str
1210                choices:
1211                    - enable
1212                    - disable
1213            send_delete_when_timeout_v2:
1214                description:
1215                    - send DELETE request to path endpoints when GTPv2 tunnel timeout.
1216                type: str
1217                choices:
1218                    - enable
1219                    - disable
1220            spoof_src_addr:
1221                description:
1222                    - Spoofed source address for Mobile Station.
1223                type: str
1224                choices:
1225                    - allow
1226                    - deny
1227            state_invalid_log:
1228                description:
1229                    - log state invalid
1230                type: str
1231                choices:
1232                    - enable
1233                    - disable
1234            sub_second_interval:
1235                description:
1236                    - Sub-second interval (0.1, 0.25, or 0.5 sec).
1237                type: str
1238                choices:
1239                    - 0.5
1240                    - 0.25
1241                    - 0.1
1242            sub_second_sampling:
1243                description:
1244                    - Enable/disable sub-second sampling.
1245                type: str
1246                choices:
1247                    - enable
1248                    - disable
1249            traffic_count_log:
1250                description:
1251                    - log tunnel traffic counter
1252                type: str
1253                choices:
1254                    - enable
1255                    - disable
1256            tunnel_limit:
1257                description:
1258                    - tunnel limit
1259                type: int
1260            tunnel_limit_log:
1261                description:
1262                    - tunnel limit
1263                type: str
1264                choices:
1265                    - enable
1266                    - disable
1267            tunnel_timeout:
1268                description:
1269                    - Established tunnel timeout (in seconds).
1270                type: int
1271            unknown_version_action:
1272                description:
1273                    - action for unknown gtp version
1274                type: str
1275                choices:
1276                    - allow
1277                    - deny
1278            user_plane_message_rate_limit:
1279                description:
1280                    - user plane message rate limit
1281                type: int
1282            warning_threshold:
1283                description:
1284                    - Warning threshold for rate limiting (0 - 99 percent).
1285                type: int
1286'''
1287
1288EXAMPLES = '''
1289- hosts: fortigates
1290  collections:
1291    - fortinet.fortios
1292  connection: httpapi
1293  vars:
1294   vdom: "root"
1295   ansible_httpapi_use_ssl: yes
1296   ansible_httpapi_validate_certs: no
1297   ansible_httpapi_port: 443
1298  tasks:
1299  - name: Configure GTP.
1300    fortios_firewall_gtp:
1301      vdom:  "{{ vdom }}"
1302      state: "present"
1303      access_token: "<your_own_value>"
1304      firewall_gtp:
1305        addr_notify: "<your_own_value>"
1306        apn:
1307         -
1308            action: "allow"
1309            apnmember:
1310             -
1311                name: "default_name_7 (source gtp.apn.name gtp.apngrp.name)"
1312            id:  "8"
1313            selection_mode: "ms"
1314        apn_filter: "enable"
1315        authorized_ggsns: "<your_own_value> (source firewall.address.name firewall.addrgrp.name)"
1316        authorized_ggsns6: "<your_own_value> (source firewall.address6.name firewall.addrgrp6.name)"
1317        authorized_sgsns: "<your_own_value> (source firewall.address.name firewall.addrgrp.name)"
1318        authorized_sgsns6: "<your_own_value> (source firewall.address6.name firewall.addrgrp6.name)"
1319        comment: "Comment."
1320        context_id: "16"
1321        control_plane_message_rate_limit: "17"
1322        default_apn_action: "allow"
1323        default_imsi_action: "allow"
1324        default_ip_action: "allow"
1325        default_noip_action: "allow"
1326        default_policy_action: "allow"
1327        denied_log: "enable"
1328        echo_request_interval: "24"
1329        extension_log: "enable"
1330        forwarded_log: "enable"
1331        global_tunnel_limit: "<your_own_value> (source gtp.tunnel-limit.name)"
1332        gtp_in_gtp: "allow"
1333        gtpu_denied_log: "enable"
1334        gtpu_forwarded_log: "enable"
1335        gtpu_log_freq: "31"
1336        half_close_timeout: "32"
1337        half_open_timeout: "33"
1338        handover_group: "<your_own_value> (source firewall.address.name firewall.addrgrp.name)"
1339        handover_group6: "<your_own_value> (source firewall.address6.name firewall.addrgrp6.name)"
1340        ie_allow_list_v0v1: "<your_own_value> (source gtp.ie-allow-list.name)"
1341        ie_allow_list_v2: "<your_own_value> (source gtp.ie-allow-list.name)"
1342        ie_remove_policy:
1343         -
1344            id:  "39"
1345            remove_ies: "apn-restriction"
1346            sgsn_addr: "<your_own_value> (source firewall.address.name firewall.addrgrp.name)"
1347            sgsn_addr6: "<your_own_value> (source firewall.address6.name firewall.addrgrp6.name)"
1348        ie_remover: "enable"
1349        ie_validation:
1350            apn_restriction: "enable"
1351            charging_gateway_addr: "enable"
1352            charging_ID: "enable"
1353            end_user_addr: "enable"
1354            gsn_addr: "enable"
1355            imei: "enable"
1356            imsi: "enable"
1357            mm_context: "enable"
1358            ms_tzone: "enable"
1359            ms_validated: "enable"
1360            msisdn: "enable"
1361            nsapi: "enable"
1362            pdp_context: "enable"
1363            qos_profile: "enable"
1364            rai: "enable"
1365            rat_type: "enable"
1366            reordering_required: "enable"
1367            selection_mode: "enable"
1368            uli: "enable"
1369        ie_white_list_v0v1: "<your_own_value> (source gtp.ie-white-list.name)"
1370        ie_white_list_v2: "<your_own_value> (source gtp.ie-white-list.name)"
1371        imsi:
1372         -
1373            action: "allow"
1374            apnmember:
1375             -
1376                name: "default_name_69 (source gtp.apn.name gtp.apngrp.name)"
1377            id:  "70"
1378            mcc_mnc: "<your_own_value>"
1379            msisdn_prefix: "<your_own_value>"
1380            selection_mode: "ms"
1381        imsi_filter: "enable"
1382        interface_notify: "<your_own_value> (source system.interface.name)"
1383        invalid_reserved_field: "allow"
1384        invalid_sgsns_to_log: "<your_own_value> (source firewall.address.name firewall.addrgrp.name)"
1385        invalid_sgsns6_to_log: "<your_own_value> (source firewall.address6.name firewall.addrgrp6.name)"
1386        ip_filter: "enable"
1387        ip_policy:
1388         -
1389            action: "allow"
1390            dstaddr: "<your_own_value> (source firewall.address.name firewall.addrgrp.name)"
1391            dstaddr6: "<your_own_value> (source firewall.address6.name firewall.addrgrp6.name)"
1392            id:  "84"
1393            srcaddr: "<your_own_value> (source firewall.address.name firewall.addrgrp.name)"
1394            srcaddr6: "<your_own_value> (source firewall.address6.name firewall.addrgrp6.name)"
1395        log_freq: "87"
1396        log_gtpu_limit: "88"
1397        log_imsi_prefix: "<your_own_value>"
1398        log_msisdn_prefix: "<your_own_value>"
1399        max_message_length: "91"
1400        message_filter_v0v1: "<your_own_value> (source gtp.message-filter-v0v1.name)"
1401        message_filter_v2: "<your_own_value> (source gtp.message-filter-v2.name)"
1402        message_rate_limit:
1403            create_aa_pdp_request: "95"
1404            create_aa_pdp_response: "96"
1405            create_mbms_request: "97"
1406            create_mbms_response: "98"
1407            create_pdp_request: "99"
1408            create_pdp_response: "100"
1409            delete_aa_pdp_request: "101"
1410            delete_aa_pdp_response: "102"
1411            delete_mbms_request: "103"
1412            delete_mbms_response: "104"
1413            delete_pdp_request: "105"
1414            delete_pdp_response: "106"
1415            echo_reponse: "107"
1416            echo_request: "108"
1417            error_indication: "109"
1418            failure_report_request: "110"
1419            failure_report_response: "111"
1420            fwd_reloc_complete_ack: "112"
1421            fwd_relocation_complete: "113"
1422            fwd_relocation_request: "114"
1423            fwd_relocation_response: "115"
1424            fwd_srns_context: "116"
1425            fwd_srns_context_ack: "117"
1426            g_pdu: "118"
1427            identification_request: "119"
1428            identification_response: "120"
1429            mbms_de_reg_request: "121"
1430            mbms_de_reg_response: "122"
1431            mbms_notify_rej_request: "123"
1432            mbms_notify_rej_response: "124"
1433            mbms_notify_request: "125"
1434            mbms_notify_response: "126"
1435            mbms_reg_request: "127"
1436            mbms_reg_response: "128"
1437            mbms_ses_start_request: "129"
1438            mbms_ses_start_response: "130"
1439            mbms_ses_stop_request: "131"
1440            mbms_ses_stop_response: "132"
1441            note_ms_request: "133"
1442            note_ms_response: "134"
1443            pdu_notify_rej_request: "135"
1444            pdu_notify_rej_response: "136"
1445            pdu_notify_request: "137"
1446            pdu_notify_response: "138"
1447            ran_info: "139"
1448            relocation_cancel_request: "140"
1449            relocation_cancel_response: "141"
1450            send_route_request: "142"
1451            send_route_response: "143"
1452            sgsn_context_ack: "144"
1453            sgsn_context_request: "145"
1454            sgsn_context_response: "146"
1455            support_ext_hdr_notify: "147"
1456            update_mbms_request: "148"
1457            update_mbms_response: "149"
1458            update_pdp_request: "150"
1459            update_pdp_response: "151"
1460            version_not_support: "152"
1461        message_rate_limit_v0:
1462            create_pdp_request: "154"
1463            delete_pdp_request: "155"
1464            echo_request: "156"
1465        message_rate_limit_v1:
1466            create_pdp_request: "158"
1467            delete_pdp_request: "159"
1468            echo_request: "160"
1469        message_rate_limit_v2:
1470            create_session_request: "162"
1471            delete_session_request: "163"
1472            echo_request: "164"
1473        min_message_length: "165"
1474        miss_must_ie: "allow"
1475        monitor_mode: "enable"
1476        name: "default_name_168"
1477        noip_filter: "enable"
1478        noip_policy:
1479         -
1480            action: "allow"
1481            end: "172"
1482            id:  "173"
1483            start: "174"
1484            type: "etsi"
1485        out_of_state_ie: "allow"
1486        out_of_state_message: "allow"
1487        per_apn_shaper:
1488         -
1489            apn: "<your_own_value> (source gtp.apn.name)"
1490            id:  "180"
1491            rate_limit: "181"
1492            version: "182"
1493        policy:
1494         -
1495            action: "allow"
1496            apn_sel_mode: "ms"
1497            apnmember:
1498             -
1499                name: "default_name_187 (source gtp.apn.name gtp.apngrp.name)"
1500            id:  "188"
1501            imei: "<your_own_value>"
1502            imsi: "<your_own_value>"
1503            imsi_prefix: "<your_own_value>"
1504            max_apn_restriction: "all"
1505            messages: "create-req"
1506            msisdn: "<your_own_value>"
1507            msisdn_prefix: "<your_own_value>"
1508            rai: "<your_own_value>"
1509            rat_type: "any"
1510            uli: "<your_own_value>"
1511        policy_filter: "enable"
1512        policy_v2:
1513         -
1514            action: "allow"
1515            apn_sel_mode: "ms"
1516            apnmember:
1517             -
1518                name: "default_name_204 (source gtp.apn.name gtp.apngrp.name)"
1519            id:  "205"
1520            imsi_prefix: "<your_own_value>"
1521            max_apn_restriction: "all"
1522            mei: "<your_own_value>"
1523            messages: "create-ses-req"
1524            msisdn_prefix: "<your_own_value>"
1525            rat_type: "any"
1526            uli: "<your_own_value>"
1527        port_notify: "213"
1528        rate_limit_mode: "per-profile"
1529        rate_limited_log: "enable"
1530        rate_sampling_interval: "216"
1531        remove_if_echo_expires: "enable"
1532        remove_if_recovery_differ: "enable"
1533        reserved_ie: "allow"
1534        send_delete_when_timeout: "enable"
1535        send_delete_when_timeout_v2: "enable"
1536        spoof_src_addr: "allow"
1537        state_invalid_log: "enable"
1538        sub_second_interval: "0.5"
1539        sub_second_sampling: "enable"
1540        traffic_count_log: "enable"
1541        tunnel_limit: "227"
1542        tunnel_limit_log: "enable"
1543        tunnel_timeout: "229"
1544        unknown_version_action: "allow"
1545        user_plane_message_rate_limit: "231"
1546        warning_threshold: "232"
1547
1548'''
1549
1550RETURN = '''
1551build:
1552  description: Build number of the fortigate image
1553  returned: always
1554  type: str
1555  sample: '1547'
1556http_method:
1557  description: Last method used to provision the content into FortiGate
1558  returned: always
1559  type: str
1560  sample: 'PUT'
1561http_status:
1562  description: Last result given by FortiGate on last operation applied
1563  returned: always
1564  type: str
1565  sample: "200"
1566mkey:
1567  description: Master key (id) used in the last call to FortiGate
1568  returned: success
1569  type: str
1570  sample: "id"
1571name:
1572  description: Name of the table used to fulfill the request
1573  returned: always
1574  type: str
1575  sample: "urlfilter"
1576path:
1577  description: Path of the table used to fulfill the request
1578  returned: always
1579  type: str
1580  sample: "webfilter"
1581revision:
1582  description: Internal revision number
1583  returned: always
1584  type: str
1585  sample: "17.0.2.10658"
1586serial:
1587  description: Serial number of the unit
1588  returned: always
1589  type: str
1590  sample: "FGVMEVYYQT3AB5352"
1591status:
1592  description: Indication of the operation's result
1593  returned: always
1594  type: str
1595  sample: "success"
1596vdom:
1597  description: Virtual domain used
1598  returned: always
1599  type: str
1600  sample: "root"
1601version:
1602  description: Version of the FortiGate
1603  returned: always
1604  type: str
1605  sample: "v5.6.3"
1606
1607'''
1608from ansible.module_utils.basic import AnsibleModule
1609from ansible.module_utils.connection import Connection
1610from ansible_collections.fortinet.fortios.plugins.module_utils.fortios.fortios import FortiOSHandler
1611from ansible_collections.fortinet.fortios.plugins.module_utils.fortios.fortios import check_legacy_fortiosapi
1612from ansible_collections.fortinet.fortios.plugins.module_utils.fortios.fortios import schema_to_module_spec
1613from ansible_collections.fortinet.fortios.plugins.module_utils.fortios.fortios import check_schema_versioning
1614from ansible_collections.fortinet.fortios.plugins.module_utils.fortimanager.common import FAIL_SOCKET_MSG
1615from ansible_collections.fortinet.fortios.plugins.module_utils.fortios.comparison import is_same_comparison
1616from ansible_collections.fortinet.fortios.plugins.module_utils.fortios.comparison import serialize
1617
1618
1619def filter_firewall_gtp_data(json):
1620    option_list = ['addr_notify', 'apn', 'apn_filter',
1621                   'authorized_ggsns', 'authorized_ggsns6', 'authorized_sgsns',
1622                   'authorized_sgsns6', 'comment', 'context_id',
1623                   'control_plane_message_rate_limit', 'default_apn_action', 'default_imsi_action',
1624                   'default_ip_action', 'default_noip_action', 'default_policy_action',
1625                   'denied_log', 'echo_request_interval', 'extension_log',
1626                   'forwarded_log', 'global_tunnel_limit', 'gtp_in_gtp',
1627                   'gtpu_denied_log', 'gtpu_forwarded_log', 'gtpu_log_freq',
1628                   'half_close_timeout', 'half_open_timeout', 'handover_group',
1629                   'handover_group6', 'ie_allow_list_v0v1', 'ie_allow_list_v2',
1630                   'ie_remove_policy', 'ie_remover', 'ie_validation',
1631                   'ie_white_list_v0v1', 'ie_white_list_v2', 'imsi',
1632                   'imsi_filter', 'interface_notify', 'invalid_reserved_field',
1633                   'invalid_sgsns_to_log', 'invalid_sgsns6_to_log', 'ip_filter',
1634                   'ip_policy', 'log_freq', 'log_gtpu_limit',
1635                   'log_imsi_prefix', 'log_msisdn_prefix', 'max_message_length',
1636                   'message_filter_v0v1', 'message_filter_v2', 'message_rate_limit',
1637                   'message_rate_limit_v0', 'message_rate_limit_v1', 'message_rate_limit_v2',
1638                   'min_message_length', 'miss_must_ie', 'monitor_mode',
1639                   'name', 'noip_filter', 'noip_policy',
1640                   'out_of_state_ie', 'out_of_state_message', 'per_apn_shaper',
1641                   'policy', 'policy_filter', 'policy_v2',
1642                   'port_notify', 'rate_limit_mode', 'rate_limited_log',
1643                   'rate_sampling_interval', 'remove_if_echo_expires', 'remove_if_recovery_differ',
1644                   'reserved_ie', 'send_delete_when_timeout', 'send_delete_when_timeout_v2',
1645                   'spoof_src_addr', 'state_invalid_log', 'sub_second_interval',
1646                   'sub_second_sampling', 'traffic_count_log', 'tunnel_limit',
1647                   'tunnel_limit_log', 'tunnel_timeout', 'unknown_version_action',
1648                   'user_plane_message_rate_limit', 'warning_threshold']
1649    dictionary = {}
1650
1651    for attribute in option_list:
1652        if attribute in json and json[attribute] is not None:
1653            dictionary[attribute] = json[attribute]
1654
1655    return dictionary
1656
1657
1658def flatten_single_path(data, path, index):
1659    if not data or index == len(path) or path[index] not in data or not data[path[index]]:
1660        return
1661
1662    if index == len(path) - 1:
1663        data[path[index]] = ' '.join(str(elem) for elem in data[path[index]])
1664    elif isinstance(data[path[index]], list):
1665        for value in data[path[index]]:
1666            flatten_single_path(value, path, index + 1)
1667    else:
1668        flatten_single_path(data[path[index]], path, index + 1)
1669
1670
1671def flatten_multilists_attributes(data):
1672    multilist_attrs = [[u'policy', u'rat_type'], [u'policy', u'messages'], [u'policy', u'apn_sel_mode'], [u'ie_remove_policy', u'remove_ies'], [u'policy_v2',
1673                                                                                                                                                u'rat_type'], [u'policy_v2', u'messages'], [u'policy_v2', u'apn_sel_mode'], [u'imsi', u'selection_mode'], [u'apn', u'selection_mode']]
1674
1675    for attr in multilist_attrs:
1676        flatten_single_path(data, attr, 0)
1677
1678    return data
1679
1680
1681def underscore_to_hyphen(data):
1682    if isinstance(data, list):
1683        for i, elem in enumerate(data):
1684            data[i] = underscore_to_hyphen(elem)
1685    elif isinstance(data, dict):
1686        new_data = {}
1687        for k, v in data.items():
1688            new_data[k.replace('_', '-')] = underscore_to_hyphen(v)
1689        data = new_data
1690
1691    return data
1692
1693
1694def firewall_gtp(data, fos):
1695    vdom = data['vdom']
1696
1697    state = data['state']
1698
1699    firewall_gtp_data = data['firewall_gtp']
1700    firewall_gtp_data = flatten_multilists_attributes(firewall_gtp_data)
1701    filtered_data = underscore_to_hyphen(filter_firewall_gtp_data(firewall_gtp_data))
1702
1703    if state == "present" or state is True:
1704        return fos.set('firewall',
1705                       'gtp',
1706                       data=filtered_data,
1707                       vdom=vdom)
1708
1709    elif state == "absent":
1710        return fos.delete('firewall',
1711                          'gtp',
1712                          mkey=filtered_data['name'],
1713                          vdom=vdom)
1714    else:
1715        fos._module.fail_json(msg='state must be present or absent!')
1716
1717
1718def is_successful_status(status):
1719    return status['status'] == "success" or \
1720        status['http_method'] == "DELETE" and status['http_status'] == 404
1721
1722
1723def fortios_firewall(data, fos):
1724
1725    if data['firewall_gtp']:
1726        resp = firewall_gtp(data, fos)
1727    else:
1728        fos._module.fail_json(msg='missing task body: %s' % ('firewall_gtp'))
1729
1730    return not is_successful_status(resp), \
1731        resp['status'] == "success" and \
1732        (resp['revision_changed'] if 'revision_changed' in resp else True), \
1733        resp
1734
1735
1736versioned_schema = {
1737    "type": "list",
1738    "children": {
1739        "ie_allow_list_v2": {
1740            "type": "string",
1741            "revisions": {
1742                "v7.0.0": True
1743            }
1744        },
1745        "user_plane_message_rate_limit": {
1746            "type": "integer",
1747            "revisions": {
1748                "v6.0.0": True,
1749                "v7.0.0": True,
1750                "v6.0.5": True,
1751                "v6.4.4": True,
1752                "v6.4.0": True,
1753                "v6.4.1": True,
1754                "v6.2.0": True,
1755                "v6.2.3": True,
1756                "v6.2.5": True,
1757                "v6.2.7": True,
1758                "v6.0.11": True
1759            }
1760        },
1761        "log_imsi_prefix": {
1762            "type": "string",
1763            "revisions": {
1764                "v6.0.0": True,
1765                "v7.0.0": True,
1766                "v6.0.5": True,
1767                "v6.4.4": True,
1768                "v6.4.0": True,
1769                "v6.4.1": True,
1770                "v6.2.0": True,
1771                "v6.2.3": True,
1772                "v6.2.5": True,
1773                "v6.2.7": True,
1774                "v6.0.11": True
1775            }
1776        },
1777        "miss_must_ie": {
1778            "type": "string",
1779            "options": [
1780                {
1781                    "value": "allow",
1782                    "revisions": {
1783                        "v6.0.0": True,
1784                        "v7.0.0": True,
1785                        "v6.0.5": True,
1786                        "v6.4.4": True,
1787                        "v6.4.0": True,
1788                        "v6.4.1": True,
1789                        "v6.2.0": True,
1790                        "v6.2.3": True,
1791                        "v6.2.5": True,
1792                        "v6.2.7": True,
1793                        "v6.0.11": True
1794                    }
1795                },
1796                {
1797                    "value": "deny",
1798                    "revisions": {
1799                        "v6.0.0": True,
1800                        "v7.0.0": True,
1801                        "v6.0.5": True,
1802                        "v6.4.4": True,
1803                        "v6.4.0": True,
1804                        "v6.4.1": True,
1805                        "v6.2.0": True,
1806                        "v6.2.3": True,
1807                        "v6.2.5": True,
1808                        "v6.2.7": True,
1809                        "v6.0.11": True
1810                    }
1811                }
1812            ],
1813            "revisions": {
1814                "v6.0.0": True,
1815                "v7.0.0": True,
1816                "v6.0.5": True,
1817                "v6.4.4": True,
1818                "v6.4.0": True,
1819                "v6.4.1": True,
1820                "v6.2.0": True,
1821                "v6.2.3": True,
1822                "v6.2.5": True,
1823                "v6.2.7": True,
1824                "v6.0.11": True
1825            }
1826        },
1827        "interface_notify": {
1828            "type": "string",
1829            "revisions": {
1830                "v6.0.0": True,
1831                "v7.0.0": True,
1832                "v6.0.5": True,
1833                "v6.4.4": True,
1834                "v6.4.0": True,
1835                "v6.4.1": True,
1836                "v6.2.0": True,
1837                "v6.2.3": True,
1838                "v6.2.5": True,
1839                "v6.2.7": True,
1840                "v6.0.11": True
1841            }
1842        },
1843        "handover_group": {
1844            "type": "string",
1845            "revisions": {
1846                "v6.0.0": True,
1847                "v7.0.0": True,
1848                "v6.0.5": True,
1849                "v6.4.4": True,
1850                "v6.4.0": True,
1851                "v6.4.1": True,
1852                "v6.2.0": True,
1853                "v6.2.3": True,
1854                "v6.2.5": True,
1855                "v6.2.7": True,
1856                "v6.0.11": True
1857            }
1858        },
1859        "control_plane_message_rate_limit": {
1860            "type": "integer",
1861            "revisions": {
1862                "v6.0.0": True,
1863                "v7.0.0": True,
1864                "v6.0.5": True,
1865                "v6.4.4": True,
1866                "v6.4.0": True,
1867                "v6.4.1": True,
1868                "v6.2.0": True,
1869                "v6.2.3": True,
1870                "v6.2.5": True,
1871                "v6.2.7": True,
1872                "v6.0.11": True
1873            }
1874        },
1875        "message_filter_v2": {
1876            "type": "string",
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        "rate_limit_mode": {
1892            "type": "string",
1893            "options": [
1894                {
1895                    "value": "per-profile",
1896                    "revisions": {
1897                        "v6.0.0": True,
1898                        "v7.0.0": True,
1899                        "v6.0.5": True,
1900                        "v6.4.4": True,
1901                        "v6.4.0": True,
1902                        "v6.4.1": True,
1903                        "v6.2.0": True,
1904                        "v6.2.3": True,
1905                        "v6.2.5": True,
1906                        "v6.2.7": True,
1907                        "v6.0.11": True
1908                    }
1909                },
1910                {
1911                    "value": "per-stream",
1912                    "revisions": {
1913                        "v6.0.0": True,
1914                        "v7.0.0": True,
1915                        "v6.0.5": True,
1916                        "v6.4.4": True,
1917                        "v6.4.0": True,
1918                        "v6.4.1": True,
1919                        "v6.2.0": True,
1920                        "v6.2.3": True,
1921                        "v6.2.5": True,
1922                        "v6.2.7": True,
1923                        "v6.0.11": True
1924                    }
1925                },
1926                {
1927                    "value": "per-apn",
1928                    "revisions": {
1929                        "v6.0.0": True,
1930                        "v7.0.0": True,
1931                        "v6.0.5": True,
1932                        "v6.4.4": True,
1933                        "v6.4.0": True,
1934                        "v6.4.1": True,
1935                        "v6.2.0": True,
1936                        "v6.2.3": True,
1937                        "v6.2.5": True,
1938                        "v6.2.7": True,
1939                        "v6.0.11": True
1940                    }
1941                }
1942            ],
1943            "revisions": {
1944                "v6.0.0": True,
1945                "v7.0.0": True,
1946                "v6.0.5": True,
1947                "v6.4.4": True,
1948                "v6.4.0": True,
1949                "v6.4.1": True,
1950                "v6.2.0": True,
1951                "v6.2.3": True,
1952                "v6.2.5": True,
1953                "v6.2.7": True,
1954                "v6.0.11": True
1955            }
1956        },
1957        "policy": {
1958            "type": "list",
1959            "children": {
1960                "imsi_prefix": {
1961                    "type": "string",
1962                    "revisions": {
1963                        "v7.0.0": True,
1964                        "v6.4.4": True,
1965                        "v6.4.0": True,
1966                        "v6.4.1": True,
1967                        "v6.2.0": True,
1968                        "v6.2.3": True,
1969                        "v6.2.5": True,
1970                        "v6.2.7": True
1971                    }
1972                },
1973                "msisdn": {
1974                    "type": "string",
1975                    "revisions": {
1976                        "v6.0.0": True,
1977                        "v7.0.0": False,
1978                        "v6.0.5": True,
1979                        "v6.4.4": False,
1980                        "v6.4.0": False,
1981                        "v6.4.1": False,
1982                        "v6.2.0": False,
1983                        "v6.2.3": False,
1984                        "v6.2.5": False,
1985                        "v6.2.7": False,
1986                        "v6.0.11": True
1987                    }
1988                },
1989                "rat_type": {
1990                    "multiple_values": True,
1991                    "type": "list",
1992                    "options": [
1993                        {
1994                            "value": "any",
1995                            "revisions": {
1996                                "v6.0.0": True,
1997                                "v7.0.0": True,
1998                                "v6.0.5": True,
1999                                "v6.4.4": True,
2000                                "v6.4.0": True,
2001                                "v6.4.1": True,
2002                                "v6.2.0": True,
2003                                "v6.2.3": True,
2004                                "v6.2.5": True,
2005                                "v6.2.7": True,
2006                                "v6.0.11": True
2007                            }
2008                        },
2009                        {
2010                            "value": "utran",
2011                            "revisions": {
2012                                "v6.0.0": True,
2013                                "v7.0.0": True,
2014                                "v6.0.5": True,
2015                                "v6.4.4": True,
2016                                "v6.4.0": True,
2017                                "v6.4.1": True,
2018                                "v6.2.0": True,
2019                                "v6.2.3": True,
2020                                "v6.2.5": True,
2021                                "v6.2.7": True,
2022                                "v6.0.11": True
2023                            }
2024                        },
2025                        {
2026                            "value": "geran",
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                        {
2042                            "value": "wlan",
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                        {
2058                            "value": "gan",
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                        {
2074                            "value": "hspa",
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                            "value": "eutran",
2091                            "revisions": {
2092                                "v7.0.0": True,
2093                                "v6.4.4": True,
2094                                "v6.4.0": True,
2095                                "v6.4.1": True,
2096                                "v6.2.0": True,
2097                                "v6.2.3": True,
2098                                "v6.2.5": True,
2099                                "v6.2.7": True
2100                            }
2101                        },
2102                        {
2103                            "value": "virtual",
2104                            "revisions": {
2105                                "v7.0.0": True,
2106                                "v6.4.4": True,
2107                                "v6.4.0": True,
2108                                "v6.4.1": True,
2109                                "v6.2.0": True,
2110                                "v6.2.3": True,
2111                                "v6.2.5": True,
2112                                "v6.2.7": True
2113                            }
2114                        },
2115                        {
2116                            "value": "nbiot",
2117                            "revisions": {
2118                                "v7.0.0": True,
2119                                "v6.4.4": True,
2120                                "v6.4.0": True,
2121                                "v6.4.1": True,
2122                                "v6.2.0": True,
2123                                "v6.2.3": True,
2124                                "v6.2.5": True,
2125                                "v6.2.7": True
2126                            }
2127                        }
2128                    ],
2129                    "revisions": {
2130                        "v6.0.0": True,
2131                        "v7.0.0": True,
2132                        "v6.0.5": True,
2133                        "v6.4.4": True,
2134                        "v6.4.0": True,
2135                        "v6.4.1": True,
2136                        "v6.2.0": True,
2137                        "v6.2.3": True,
2138                        "v6.2.5": True,
2139                        "v6.2.7": True,
2140                        "v6.0.11": True
2141                    }
2142                },
2143                "id": {
2144                    "type": "integer",
2145                    "revisions": {
2146                        "v6.0.0": True,
2147                        "v7.0.0": True,
2148                        "v6.0.5": True,
2149                        "v6.4.4": True,
2150                        "v6.4.0": True,
2151                        "v6.4.1": True,
2152                        "v6.2.0": True,
2153                        "v6.2.3": True,
2154                        "v6.2.5": True,
2155                        "v6.2.7": True,
2156                        "v6.0.11": True
2157                    }
2158                },
2159                "messages": {
2160                    "multiple_values": True,
2161                    "type": "list",
2162                    "options": [
2163                        {
2164                            "value": "create-req",
2165                            "revisions": {
2166                                "v6.0.0": True,
2167                                "v7.0.0": True,
2168                                "v6.0.5": True,
2169                                "v6.4.4": True,
2170                                "v6.4.0": True,
2171                                "v6.4.1": 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": "create-res",
2181                            "revisions": {
2182                                "v6.0.0": True,
2183                                "v7.0.0": True,
2184                                "v6.0.5": True,
2185                                "v6.4.4": True,
2186                                "v6.4.0": True,
2187                                "v6.4.1": True,
2188                                "v6.2.0": True,
2189                                "v6.2.3": True,
2190                                "v6.2.5": True,
2191                                "v6.2.7": True,
2192                                "v6.0.11": True
2193                            }
2194                        },
2195                        {
2196                            "value": "update-req",
2197                            "revisions": {
2198                                "v6.0.0": True,
2199                                "v7.0.0": True,
2200                                "v6.0.5": True,
2201                                "v6.4.4": True,
2202                                "v6.4.0": True,
2203                                "v6.4.1": True,
2204                                "v6.2.0": True,
2205                                "v6.2.3": True,
2206                                "v6.2.5": True,
2207                                "v6.2.7": True,
2208                                "v6.0.11": True
2209                            }
2210                        },
2211                        {
2212                            "value": "update-res",
2213                            "revisions": {
2214                                "v6.0.0": True,
2215                                "v7.0.0": True,
2216                                "v6.0.5": True,
2217                                "v6.4.4": True,
2218                                "v6.4.0": True,
2219                                "v6.4.1": True,
2220                                "v6.2.0": True,
2221                                "v6.2.3": True,
2222                                "v6.2.5": True,
2223                                "v6.2.7": True,
2224                                "v6.0.11": True
2225                            }
2226                        }
2227                    ],
2228                    "revisions": {
2229                        "v6.0.0": True,
2230                        "v7.0.0": True,
2231                        "v6.0.5": True,
2232                        "v6.4.4": True,
2233                        "v6.4.0": True,
2234                        "v6.4.1": True,
2235                        "v6.2.0": True,
2236                        "v6.2.3": True,
2237                        "v6.2.5": True,
2238                        "v6.2.7": True,
2239                        "v6.0.11": True
2240                    }
2241                },
2242                "imei": {
2243                    "type": "string",
2244                    "revisions": {
2245                        "v6.0.0": True,
2246                        "v7.0.0": True,
2247                        "v6.0.5": True,
2248                        "v6.4.4": True,
2249                        "v6.4.0": True,
2250                        "v6.4.1": True,
2251                        "v6.2.0": True,
2252                        "v6.2.3": True,
2253                        "v6.2.5": True,
2254                        "v6.2.7": True,
2255                        "v6.0.11": True
2256                    }
2257                },
2258                "rai": {
2259                    "type": "string",
2260                    "revisions": {
2261                        "v6.0.0": True,
2262                        "v7.0.0": True,
2263                        "v6.0.5": True,
2264                        "v6.4.4": True,
2265                        "v6.4.0": True,
2266                        "v6.4.1": True,
2267                        "v6.2.0": True,
2268                        "v6.2.3": True,
2269                        "v6.2.5": True,
2270                        "v6.2.7": True,
2271                        "v6.0.11": True
2272                    }
2273                },
2274                "max_apn_restriction": {
2275                    "type": "string",
2276                    "options": [
2277                        {
2278                            "value": "all",
2279                            "revisions": {
2280                                "v6.0.0": True,
2281                                "v7.0.0": True,
2282                                "v6.0.5": True,
2283                                "v6.4.4": True,
2284                                "v6.4.0": True,
2285                                "v6.4.1": True,
2286                                "v6.2.0": True,
2287                                "v6.2.3": True,
2288                                "v6.2.5": True,
2289                                "v6.2.7": True,
2290                                "v6.0.11": True
2291                            }
2292                        },
2293                        {
2294                            "value": "public-1",
2295                            "revisions": {
2296                                "v6.0.0": True,
2297                                "v7.0.0": True,
2298                                "v6.0.5": True,
2299                                "v6.4.4": True,
2300                                "v6.4.0": True,
2301                                "v6.4.1": True,
2302                                "v6.2.0": True,
2303                                "v6.2.3": True,
2304                                "v6.2.5": True,
2305                                "v6.2.7": True,
2306                                "v6.0.11": True
2307                            }
2308                        },
2309                        {
2310                            "value": "public-2",
2311                            "revisions": {
2312                                "v6.0.0": True,
2313                                "v7.0.0": True,
2314                                "v6.0.5": True,
2315                                "v6.4.4": True,
2316                                "v6.4.0": True,
2317                                "v6.4.1": True,
2318                                "v6.2.0": True,
2319                                "v6.2.3": True,
2320                                "v6.2.5": True,
2321                                "v6.2.7": True,
2322                                "v6.0.11": True
2323                            }
2324                        },
2325                        {
2326                            "value": "private-1",
2327                            "revisions": {
2328                                "v6.0.0": True,
2329                                "v7.0.0": True,
2330                                "v6.0.5": True,
2331                                "v6.4.4": True,
2332                                "v6.4.0": True,
2333                                "v6.4.1": True,
2334                                "v6.2.0": True,
2335                                "v6.2.3": True,
2336                                "v6.2.5": True,
2337                                "v6.2.7": True,
2338                                "v6.0.11": True
2339                            }
2340                        },
2341                        {
2342                            "value": "private-2",
2343                            "revisions": {
2344                                "v6.0.0": True,
2345                                "v7.0.0": True,
2346                                "v6.0.5": True,
2347                                "v6.4.4": True,
2348                                "v6.4.0": True,
2349                                "v6.4.1": True,
2350                                "v6.2.0": True,
2351                                "v6.2.3": True,
2352                                "v6.2.5": True,
2353                                "v6.2.7": True,
2354                                "v6.0.11": True
2355                            }
2356                        }
2357                    ],
2358                    "revisions": {
2359                        "v6.0.0": True,
2360                        "v7.0.0": True,
2361                        "v6.0.5": True,
2362                        "v6.4.4": True,
2363                        "v6.4.0": True,
2364                        "v6.4.1": True,
2365                        "v6.2.0": True,
2366                        "v6.2.3": True,
2367                        "v6.2.5": True,
2368                        "v6.2.7": True,
2369                        "v6.0.11": True
2370                    }
2371                },
2372                "apn_sel_mode": {
2373                    "multiple_values": True,
2374                    "type": "list",
2375                    "options": [
2376                        {
2377                            "value": "ms",
2378                            "revisions": {
2379                                "v6.0.0": True,
2380                                "v7.0.0": True,
2381                                "v6.0.5": True,
2382                                "v6.4.4": True,
2383                                "v6.4.0": True,
2384                                "v6.4.1": True,
2385                                "v6.2.0": True,
2386                                "v6.2.3": True,
2387                                "v6.2.5": True,
2388                                "v6.2.7": True,
2389                                "v6.0.11": True
2390                            }
2391                        },
2392                        {
2393                            "value": "net",
2394                            "revisions": {
2395                                "v6.0.0": True,
2396                                "v7.0.0": True,
2397                                "v6.0.5": True,
2398                                "v6.4.4": True,
2399                                "v6.4.0": True,
2400                                "v6.4.1": True,
2401                                "v6.2.0": True,
2402                                "v6.2.3": True,
2403                                "v6.2.5": True,
2404                                "v6.2.7": True,
2405                                "v6.0.11": True
2406                            }
2407                        },
2408                        {
2409                            "value": "vrf",
2410                            "revisions": {
2411                                "v6.0.0": True,
2412                                "v7.0.0": True,
2413                                "v6.0.5": True,
2414                                "v6.4.4": True,
2415                                "v6.4.0": True,
2416                                "v6.4.1": True,
2417                                "v6.2.0": True,
2418                                "v6.2.3": True,
2419                                "v6.2.5": True,
2420                                "v6.2.7": True,
2421                                "v6.0.11": True
2422                            }
2423                        }
2424                    ],
2425                    "revisions": {
2426                        "v6.0.0": True,
2427                        "v7.0.0": True,
2428                        "v6.0.5": True,
2429                        "v6.4.4": True,
2430                        "v6.4.0": True,
2431                        "v6.4.1": True,
2432                        "v6.2.0": True,
2433                        "v6.2.3": True,
2434                        "v6.2.5": True,
2435                        "v6.2.7": True,
2436                        "v6.0.11": True
2437                    }
2438                },
2439                "uli": {
2440                    "type": "string",
2441                    "revisions": {
2442                        "v6.0.0": True,
2443                        "v7.0.0": True,
2444                        "v6.0.5": True,
2445                        "v6.4.4": True,
2446                        "v6.4.0": True,
2447                        "v6.4.1": True,
2448                        "v6.2.0": True,
2449                        "v6.2.3": True,
2450                        "v6.2.5": True,
2451                        "v6.2.7": True,
2452                        "v6.0.11": True
2453                    }
2454                },
2455                "apnmember": {
2456                    "type": "list",
2457                    "children": {
2458                        "name": {
2459                            "type": "string",
2460                            "revisions": {
2461                                "v6.0.0": True,
2462                                "v7.0.0": True,
2463                                "v6.0.5": True,
2464                                "v6.4.4": True,
2465                                "v6.4.0": True,
2466                                "v6.4.1": True,
2467                                "v6.2.0": True,
2468                                "v6.2.3": True,
2469                                "v6.2.5": True,
2470                                "v6.2.7": True,
2471                                "v6.0.11": True
2472                            }
2473                        }
2474                    },
2475                    "revisions": {
2476                        "v6.0.0": True,
2477                        "v7.0.0": True,
2478                        "v6.0.5": True,
2479                        "v6.4.4": True,
2480                        "v6.4.0": True,
2481                        "v6.4.1": True,
2482                        "v6.2.0": True,
2483                        "v6.2.3": True,
2484                        "v6.2.5": True,
2485                        "v6.2.7": True,
2486                        "v6.0.11": True
2487                    }
2488                },
2489                "msisdn_prefix": {
2490                    "type": "string",
2491                    "revisions": {
2492                        "v7.0.0": True,
2493                        "v6.4.4": True,
2494                        "v6.4.0": True,
2495                        "v6.4.1": True,
2496                        "v6.2.0": True,
2497                        "v6.2.3": True,
2498                        "v6.2.5": True,
2499                        "v6.2.7": True
2500                    }
2501                },
2502                "action": {
2503                    "type": "string",
2504                    "options": [
2505                        {
2506                            "value": "allow",
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                        {
2522                            "value": "deny",
2523                            "revisions": {
2524                                "v6.0.0": True,
2525                                "v7.0.0": True,
2526                                "v6.0.5": True,
2527                                "v6.4.4": True,
2528                                "v6.4.0": True,
2529                                "v6.4.1": True,
2530                                "v6.2.0": True,
2531                                "v6.2.3": True,
2532                                "v6.2.5": True,
2533                                "v6.2.7": True,
2534                                "v6.0.11": True
2535                            }
2536                        }
2537                    ],
2538                    "revisions": {
2539                        "v6.0.0": True,
2540                        "v7.0.0": True,
2541                        "v6.0.5": True,
2542                        "v6.4.4": True,
2543                        "v6.4.0": True,
2544                        "v6.4.1": True,
2545                        "v6.2.0": True,
2546                        "v6.2.3": True,
2547                        "v6.2.5": True,
2548                        "v6.2.7": True,
2549                        "v6.0.11": True
2550                    }
2551                },
2552                "imsi": {
2553                    "type": "string",
2554                    "revisions": {
2555                        "v6.0.0": True,
2556                        "v7.0.0": False,
2557                        "v6.0.5": True,
2558                        "v6.4.4": False,
2559                        "v6.4.0": False,
2560                        "v6.4.1": False,
2561                        "v6.2.0": False,
2562                        "v6.2.3": False,
2563                        "v6.2.5": False,
2564                        "v6.2.7": False,
2565                        "v6.0.11": True
2566                    }
2567                }
2568            },
2569            "revisions": {
2570                "v6.0.0": True,
2571                "v7.0.0": True,
2572                "v6.0.5": True,
2573                "v6.4.4": True,
2574                "v6.4.0": True,
2575                "v6.4.1": True,
2576                "v6.2.0": True,
2577                "v6.2.3": True,
2578                "v6.2.5": True,
2579                "v6.2.7": True,
2580                "v6.0.11": True
2581            }
2582        },
2583        "tunnel_timeout": {
2584            "type": "integer",
2585            "revisions": {
2586                "v6.0.0": True,
2587                "v7.0.0": True,
2588                "v6.0.5": True,
2589                "v6.4.4": True,
2590                "v6.4.0": True,
2591                "v6.4.1": True,
2592                "v6.2.0": True,
2593                "v6.2.3": True,
2594                "v6.2.5": True,
2595                "v6.2.7": True,
2596                "v6.0.11": True
2597            }
2598        },
2599        "gtpu_denied_log": {
2600            "type": "string",
2601            "options": [
2602                {
2603                    "value": "enable",
2604                    "revisions": {
2605                        "v6.0.0": True,
2606                        "v7.0.0": True,
2607                        "v6.0.5": True,
2608                        "v6.4.4": True,
2609                        "v6.4.0": True,
2610                        "v6.4.1": True,
2611                        "v6.2.0": True,
2612                        "v6.2.3": True,
2613                        "v6.2.5": True,
2614                        "v6.2.7": True,
2615                        "v6.0.11": True
2616                    }
2617                },
2618                {
2619                    "value": "disable",
2620                    "revisions": {
2621                        "v6.0.0": True,
2622                        "v7.0.0": True,
2623                        "v6.0.5": True,
2624                        "v6.4.4": True,
2625                        "v6.4.0": True,
2626                        "v6.4.1": True,
2627                        "v6.2.0": True,
2628                        "v6.2.3": True,
2629                        "v6.2.5": True,
2630                        "v6.2.7": True,
2631                        "v6.0.11": True
2632                    }
2633                }
2634            ],
2635            "revisions": {
2636                "v6.0.0": True,
2637                "v7.0.0": True,
2638                "v6.0.5": True,
2639                "v6.4.4": True,
2640                "v6.4.0": True,
2641                "v6.4.1": True,
2642                "v6.2.0": True,
2643                "v6.2.3": True,
2644                "v6.2.5": True,
2645                "v6.2.7": True,
2646                "v6.0.11": True
2647            }
2648        },
2649        "ie_remove_policy": {
2650            "type": "list",
2651            "children": {
2652                "sgsn_addr": {
2653                    "type": "string",
2654                    "revisions": {
2655                        "v6.0.0": True,
2656                        "v7.0.0": True,
2657                        "v6.0.5": True,
2658                        "v6.4.4": True,
2659                        "v6.4.0": True,
2660                        "v6.4.1": True,
2661                        "v6.2.0": True,
2662                        "v6.2.3": True,
2663                        "v6.2.5": True,
2664                        "v6.2.7": True,
2665                        "v6.0.11": True
2666                    }
2667                },
2668                "remove_ies": {
2669                    "multiple_values": True,
2670                    "type": "list",
2671                    "options": [
2672                        {
2673                            "value": "apn-restriction",
2674                            "revisions": {
2675                                "v6.0.0": True,
2676                                "v7.0.0": True,
2677                                "v6.0.5": True,
2678                                "v6.4.4": True,
2679                                "v6.4.0": True,
2680                                "v6.4.1": True,
2681                                "v6.2.0": True,
2682                                "v6.2.3": True,
2683                                "v6.2.5": True,
2684                                "v6.2.7": True,
2685                                "v6.0.11": True
2686                            }
2687                        },
2688                        {
2689                            "value": "rat-type",
2690                            "revisions": {
2691                                "v6.0.0": True,
2692                                "v7.0.0": True,
2693                                "v6.0.5": True,
2694                                "v6.4.4": True,
2695                                "v6.4.0": True,
2696                                "v6.4.1": True,
2697                                "v6.2.0": True,
2698                                "v6.2.3": True,
2699                                "v6.2.5": True,
2700                                "v6.2.7": True,
2701                                "v6.0.11": True
2702                            }
2703                        },
2704                        {
2705                            "value": "rai",
2706                            "revisions": {
2707                                "v6.0.0": True,
2708                                "v7.0.0": True,
2709                                "v6.0.5": True,
2710                                "v6.4.4": True,
2711                                "v6.4.0": True,
2712                                "v6.4.1": True,
2713                                "v6.2.0": True,
2714                                "v6.2.3": True,
2715                                "v6.2.5": True,
2716                                "v6.2.7": True,
2717                                "v6.0.11": True
2718                            }
2719                        },
2720                        {
2721                            "value": "uli",
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                        {
2737                            "value": "imei",
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                    ],
2753                    "revisions": {
2754                        "v6.0.0": True,
2755                        "v7.0.0": True,
2756                        "v6.0.5": True,
2757                        "v6.4.4": True,
2758                        "v6.4.0": True,
2759                        "v6.4.1": True,
2760                        "v6.2.0": True,
2761                        "v6.2.3": True,
2762                        "v6.2.5": True,
2763                        "v6.2.7": True,
2764                        "v6.0.11": True
2765                    }
2766                },
2767                "id": {
2768                    "type": "integer",
2769                    "revisions": {
2770                        "v6.0.0": True,
2771                        "v7.0.0": True,
2772                        "v6.0.5": True,
2773                        "v6.4.4": True,
2774                        "v6.4.0": True,
2775                        "v6.4.1": True,
2776                        "v6.2.0": True,
2777                        "v6.2.3": True,
2778                        "v6.2.5": True,
2779                        "v6.2.7": True,
2780                        "v6.0.11": True
2781                    }
2782                },
2783                "sgsn_addr6": {
2784                    "type": "string",
2785                    "revisions": {
2786                        "v6.4.4": True,
2787                        "v7.0.0": True,
2788                        "v6.4.0": True,
2789                        "v6.4.1": False
2790                    }
2791                }
2792            },
2793            "revisions": {
2794                "v6.0.0": True,
2795                "v7.0.0": True,
2796                "v6.0.5": True,
2797                "v6.4.4": True,
2798                "v6.4.0": True,
2799                "v6.4.1": True,
2800                "v6.2.0": True,
2801                "v6.2.3": True,
2802                "v6.2.5": True,
2803                "v6.2.7": True,
2804                "v6.0.11": True
2805            }
2806        },
2807        "apn_filter": {
2808            "type": "string",
2809            "options": [
2810                {
2811                    "value": "enable",
2812                    "revisions": {
2813                        "v6.0.0": True,
2814                        "v7.0.0": True,
2815                        "v6.0.5": True,
2816                        "v6.4.4": True,
2817                        "v6.4.0": True,
2818                        "v6.4.1": True,
2819                        "v6.2.0": True,
2820                        "v6.2.3": True,
2821                        "v6.2.5": True,
2822                        "v6.2.7": True,
2823                        "v6.0.11": True
2824                    }
2825                },
2826                {
2827                    "value": "disable",
2828                    "revisions": {
2829                        "v6.0.0": True,
2830                        "v7.0.0": True,
2831                        "v6.0.5": True,
2832                        "v6.4.4": True,
2833                        "v6.4.0": True,
2834                        "v6.4.1": True,
2835                        "v6.2.0": True,
2836                        "v6.2.3": True,
2837                        "v6.2.5": True,
2838                        "v6.2.7": True,
2839                        "v6.0.11": True
2840                    }
2841                }
2842            ],
2843            "revisions": {
2844                "v6.0.0": True,
2845                "v7.0.0": True,
2846                "v6.0.5": True,
2847                "v6.4.4": True,
2848                "v6.4.0": True,
2849                "v6.4.1": True,
2850                "v6.2.0": True,
2851                "v6.2.3": True,
2852                "v6.2.5": True,
2853                "v6.2.7": True,
2854                "v6.0.11": True
2855            }
2856        },
2857        "name": {
2858            "type": "string",
2859            "revisions": {
2860                "v6.0.0": True,
2861                "v7.0.0": True,
2862                "v6.0.5": True,
2863                "v6.4.4": True,
2864                "v6.4.0": True,
2865                "v6.4.1": True,
2866                "v6.2.0": True,
2867                "v6.2.3": True,
2868                "v6.2.5": True,
2869                "v6.2.7": True,
2870                "v6.0.11": True
2871            }
2872        },
2873        "noip_filter": {
2874            "type": "string",
2875            "options": [
2876                {
2877                    "value": "enable",
2878                    "revisions": {
2879                        "v6.0.0": True,
2880                        "v7.0.0": True,
2881                        "v6.0.5": True,
2882                        "v6.4.4": True,
2883                        "v6.4.0": True,
2884                        "v6.4.1": True,
2885                        "v6.2.0": True,
2886                        "v6.2.3": True,
2887                        "v6.2.5": True,
2888                        "v6.2.7": True,
2889                        "v6.0.11": True
2890                    }
2891                },
2892                {
2893                    "value": "disable",
2894                    "revisions": {
2895                        "v6.0.0": True,
2896                        "v7.0.0": True,
2897                        "v6.0.5": True,
2898                        "v6.4.4": True,
2899                        "v6.4.0": True,
2900                        "v6.4.1": True,
2901                        "v6.2.0": True,
2902                        "v6.2.3": True,
2903                        "v6.2.5": True,
2904                        "v6.2.7": True,
2905                        "v6.0.11": True
2906                    }
2907                }
2908            ],
2909            "revisions": {
2910                "v6.0.0": True,
2911                "v7.0.0": True,
2912                "v6.0.5": True,
2913                "v6.4.4": True,
2914                "v6.4.0": True,
2915                "v6.4.1": True,
2916                "v6.2.0": True,
2917                "v6.2.3": True,
2918                "v6.2.5": True,
2919                "v6.2.7": True,
2920                "v6.0.11": True
2921            }
2922        },
2923        "ie_allow_list_v0v1": {
2924            "type": "string",
2925            "revisions": {
2926                "v7.0.0": True
2927            }
2928        },
2929        "sub_second_sampling": {
2930            "type": "string",
2931            "options": [
2932                {
2933                    "value": "enable",
2934                    "revisions": {
2935                        "v7.0.0": True,
2936                        "v6.4.4": True,
2937                        "v6.4.0": True,
2938                        "v6.4.1": True,
2939                        "v6.2.0": True,
2940                        "v6.2.3": True,
2941                        "v6.2.5": True,
2942                        "v6.2.7": True
2943                    }
2944                },
2945                {
2946                    "value": "disable",
2947                    "revisions": {
2948                        "v7.0.0": True,
2949                        "v6.4.4": True,
2950                        "v6.4.0": True,
2951                        "v6.4.1": True,
2952                        "v6.2.0": True,
2953                        "v6.2.3": True,
2954                        "v6.2.5": True,
2955                        "v6.2.7": True
2956                    }
2957                }
2958            ],
2959            "revisions": {
2960                "v7.0.0": True,
2961                "v6.4.4": True,
2962                "v6.4.0": True,
2963                "v6.4.1": True,
2964                "v6.2.0": True,
2965                "v6.2.3": True,
2966                "v6.2.5": True,
2967                "v6.2.7": True
2968            }
2969        },
2970        "denied_log": {
2971            "type": "string",
2972            "options": [
2973                {
2974                    "value": "enable",
2975                    "revisions": {
2976                        "v6.0.0": True,
2977                        "v7.0.0": True,
2978                        "v6.0.5": True,
2979                        "v6.4.4": True,
2980                        "v6.4.0": True,
2981                        "v6.4.1": True,
2982                        "v6.2.0": True,
2983                        "v6.2.3": True,
2984                        "v6.2.5": True,
2985                        "v6.2.7": True,
2986                        "v6.0.11": True
2987                    }
2988                },
2989                {
2990                    "value": "disable",
2991                    "revisions": {
2992                        "v6.0.0": True,
2993                        "v7.0.0": True,
2994                        "v6.0.5": True,
2995                        "v6.4.4": True,
2996                        "v6.4.0": True,
2997                        "v6.4.1": True,
2998                        "v6.2.0": True,
2999                        "v6.2.3": True,
3000                        "v6.2.5": True,
3001                        "v6.2.7": True,
3002                        "v6.0.11": True
3003                    }
3004                }
3005            ],
3006            "revisions": {
3007                "v6.0.0": True,
3008                "v7.0.0": True,
3009                "v6.0.5": True,
3010                "v6.4.4": True,
3011                "v6.4.0": True,
3012                "v6.4.1": True,
3013                "v6.2.0": True,
3014                "v6.2.3": True,
3015                "v6.2.5": True,
3016                "v6.2.7": True,
3017                "v6.0.11": True
3018            }
3019        },
3020        "context_id": {
3021            "type": "integer",
3022            "revisions": {
3023                "v6.0.0": True,
3024                "v7.0.0": True,
3025                "v6.0.5": True,
3026                "v6.4.4": True,
3027                "v6.4.0": True,
3028                "v6.4.1": True,
3029                "v6.2.0": True,
3030                "v6.2.3": True,
3031                "v6.2.5": True,
3032                "v6.2.7": True,
3033                "v6.0.11": True
3034            }
3035        },
3036        "out_of_state_ie": {
3037            "type": "string",
3038            "options": [
3039                {
3040                    "value": "allow",
3041                    "revisions": {
3042                        "v6.0.0": True,
3043                        "v7.0.0": True,
3044                        "v6.0.5": True,
3045                        "v6.4.4": True,
3046                        "v6.4.0": True,
3047                        "v6.4.1": True,
3048                        "v6.2.0": True,
3049                        "v6.2.3": True,
3050                        "v6.2.5": True,
3051                        "v6.2.7": True,
3052                        "v6.0.11": True
3053                    }
3054                },
3055                {
3056                    "value": "deny",
3057                    "revisions": {
3058                        "v6.0.0": True,
3059                        "v7.0.0": True,
3060                        "v6.0.5": True,
3061                        "v6.4.4": True,
3062                        "v6.4.0": True,
3063                        "v6.4.1": True,
3064                        "v6.2.0": True,
3065                        "v6.2.3": True,
3066                        "v6.2.5": True,
3067                        "v6.2.7": True,
3068                        "v6.0.11": True
3069                    }
3070                }
3071            ],
3072            "revisions": {
3073                "v6.0.0": True,
3074                "v7.0.0": True,
3075                "v6.0.5": True,
3076                "v6.4.4": True,
3077                "v6.4.0": True,
3078                "v6.4.1": True,
3079                "v6.2.0": True,
3080                "v6.2.3": True,
3081                "v6.2.5": True,
3082                "v6.2.7": True,
3083                "v6.0.11": True
3084            }
3085        },
3086        "half_open_timeout": {
3087            "type": "integer",
3088            "revisions": {
3089                "v6.0.0": True,
3090                "v7.0.0": True,
3091                "v6.0.5": True,
3092                "v6.4.4": True,
3093                "v6.4.0": True,
3094                "v6.4.1": True,
3095                "v6.2.0": True,
3096                "v6.2.3": True,
3097                "v6.2.5": True,
3098                "v6.2.7": True,
3099                "v6.0.11": True
3100            }
3101        },
3102        "warning_threshold": {
3103            "type": "integer",
3104            "revisions": {
3105                "v6.0.0": True,
3106                "v7.0.0": True,
3107                "v6.0.5": True,
3108                "v6.4.4": True,
3109                "v6.4.0": True,
3110                "v6.4.1": True,
3111                "v6.2.0": True,
3112                "v6.2.3": True,
3113                "v6.2.5": True,
3114                "v6.2.7": True,
3115                "v6.0.11": True
3116            }
3117        },
3118        "policy_v2": {
3119            "type": "list",
3120            "children": {
3121                "imsi_prefix": {
3122                    "type": "string",
3123                    "revisions": {
3124                        "v7.0.0": True,
3125                        "v6.4.4": True,
3126                        "v6.4.0": True,
3127                        "v6.4.1": True,
3128                        "v6.2.0": True,
3129                        "v6.2.3": True,
3130                        "v6.2.5": True,
3131                        "v6.2.7": True
3132                    }
3133                },
3134                "rat_type": {
3135                    "multiple_values": True,
3136                    "type": "list",
3137                    "options": [
3138                        {
3139                            "value": "any",
3140                            "revisions": {
3141                                "v7.0.0": True,
3142                                "v6.4.4": True,
3143                                "v6.4.0": True,
3144                                "v6.4.1": True,
3145                                "v6.2.0": True,
3146                                "v6.2.3": True,
3147                                "v6.2.5": True,
3148                                "v6.2.7": True
3149                            }
3150                        },
3151                        {
3152                            "value": "utran",
3153                            "revisions": {
3154                                "v7.0.0": True,
3155                                "v6.4.4": True,
3156                                "v6.4.0": True,
3157                                "v6.4.1": True,
3158                                "v6.2.0": True,
3159                                "v6.2.3": True,
3160                                "v6.2.5": True,
3161                                "v6.2.7": True
3162                            }
3163                        },
3164                        {
3165                            "value": "geran",
3166                            "revisions": {
3167                                "v7.0.0": True,
3168                                "v6.4.4": True,
3169                                "v6.4.0": True,
3170                                "v6.4.1": True,
3171                                "v6.2.0": True,
3172                                "v6.2.3": True,
3173                                "v6.2.5": True,
3174                                "v6.2.7": True
3175                            }
3176                        },
3177                        {
3178                            "value": "wlan",
3179                            "revisions": {
3180                                "v7.0.0": True,
3181                                "v6.4.4": True,
3182                                "v6.4.0": True,
3183                                "v6.4.1": True,
3184                                "v6.2.0": True,
3185                                "v6.2.3": True,
3186                                "v6.2.5": True,
3187                                "v6.2.7": True
3188                            }
3189                        },
3190                        {
3191                            "value": "gan",
3192                            "revisions": {
3193                                "v7.0.0": True,
3194                                "v6.4.4": True,
3195                                "v6.4.0": True,
3196                                "v6.4.1": True,
3197                                "v6.2.0": True,
3198                                "v6.2.3": True,
3199                                "v6.2.5": True,
3200                                "v6.2.7": True
3201                            }
3202                        },
3203                        {
3204                            "value": "hspa",
3205                            "revisions": {
3206                                "v7.0.0": True,
3207                                "v6.4.4": True,
3208                                "v6.4.0": True,
3209                                "v6.4.1": True,
3210                                "v6.2.0": True,
3211                                "v6.2.3": True,
3212                                "v6.2.5": True,
3213                                "v6.2.7": True
3214                            }
3215                        },
3216                        {
3217                            "value": "eutran",
3218                            "revisions": {
3219                                "v7.0.0": 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                            }
3228                        },
3229                        {
3230                            "value": "virtual",
3231                            "revisions": {
3232                                "v7.0.0": True,
3233                                "v6.4.4": True,
3234                                "v6.4.0": True,
3235                                "v6.4.1": True,
3236                                "v6.2.0": True,
3237                                "v6.2.3": True,
3238                                "v6.2.5": True,
3239                                "v6.2.7": True
3240                            }
3241                        },
3242                        {
3243                            "value": "nbiot",
3244                            "revisions": {
3245                                "v7.0.0": True,
3246                                "v6.4.4": True,
3247                                "v6.4.0": True,
3248                                "v6.4.1": True,
3249                                "v6.2.0": True,
3250                                "v6.2.3": True,
3251                                "v6.2.5": True,
3252                                "v6.2.7": True
3253                            }
3254                        },
3255                        {
3256                            "value": "ltem",
3257                            "revisions": {
3258                                "v6.4.4": True,
3259                                "v7.0.0": True,
3260                                "v6.4.0": True,
3261                                "v6.4.1": False
3262                            }
3263                        },
3264                        {
3265                            "value": "nr",
3266                            "revisions": {
3267                                "v6.4.4": True,
3268                                "v7.0.0": True,
3269                                "v6.4.0": True,
3270                                "v6.4.1": False
3271                            }
3272                        }
3273                    ],
3274                    "revisions": {
3275                        "v7.0.0": True,
3276                        "v6.4.4": True,
3277                        "v6.4.0": True,
3278                        "v6.4.1": True,
3279                        "v6.2.0": True,
3280                        "v6.2.3": True,
3281                        "v6.2.5": True,
3282                        "v6.2.7": True
3283                    }
3284                },
3285                "messages": {
3286                    "multiple_values": True,
3287                    "type": "list",
3288                    "options": [
3289                        {
3290                            "value": "create-ses-req",
3291                            "revisions": {
3292                                "v7.0.0": True,
3293                                "v6.4.4": True,
3294                                "v6.4.0": True,
3295                                "v6.4.1": True,
3296                                "v6.2.0": True,
3297                                "v6.2.3": True,
3298                                "v6.2.5": True,
3299                                "v6.2.7": True
3300                            }
3301                        },
3302                        {
3303                            "value": "create-ses-res",
3304                            "revisions": {
3305                                "v7.0.0": True,
3306                                "v6.4.4": True,
3307                                "v6.4.0": True,
3308                                "v6.4.1": True,
3309                                "v6.2.0": True,
3310                                "v6.2.3": True,
3311                                "v6.2.5": True,
3312                                "v6.2.7": True
3313                            }
3314                        },
3315                        {
3316                            "value": "modify-bearer-req",
3317                            "revisions": {
3318                                "v7.0.0": True,
3319                                "v6.4.4": True,
3320                                "v6.4.0": True,
3321                                "v6.4.1": True,
3322                                "v6.2.0": True,
3323                                "v6.2.3": True,
3324                                "v6.2.5": True,
3325                                "v6.2.7": True
3326                            }
3327                        },
3328                        {
3329                            "value": "modify-bearer-res",
3330                            "revisions": {
3331                                "v7.0.0": True,
3332                                "v6.4.4": True,
3333                                "v6.4.0": True,
3334                                "v6.4.1": True,
3335                                "v6.2.0": True,
3336                                "v6.2.3": True,
3337                                "v6.2.5": True,
3338                                "v6.2.7": True
3339                            }
3340                        }
3341                    ],
3342                    "revisions": {
3343                        "v7.0.0": True,
3344                        "v6.4.4": True,
3345                        "v6.4.0": True,
3346                        "v6.4.1": True,
3347                        "v6.2.0": True,
3348                        "v6.2.3": True,
3349                        "v6.2.5": True,
3350                        "v6.2.7": True
3351                    }
3352                },
3353                "mei": {
3354                    "type": "string",
3355                    "revisions": {
3356                        "v7.0.0": True,
3357                        "v6.4.4": True,
3358                        "v6.4.0": True,
3359                        "v6.4.1": True,
3360                        "v6.2.0": True,
3361                        "v6.2.3": True,
3362                        "v6.2.5": True,
3363                        "v6.2.7": True
3364                    }
3365                },
3366                "max_apn_restriction": {
3367                    "type": "string",
3368                    "options": [
3369                        {
3370                            "value": "all",
3371                            "revisions": {
3372                                "v7.0.0": True,
3373                                "v6.4.4": True,
3374                                "v6.4.0": True,
3375                                "v6.4.1": True,
3376                                "v6.2.0": True,
3377                                "v6.2.3": True,
3378                                "v6.2.5": True,
3379                                "v6.2.7": True
3380                            }
3381                        },
3382                        {
3383                            "value": "public-1",
3384                            "revisions": {
3385                                "v7.0.0": True,
3386                                "v6.4.4": True,
3387                                "v6.4.0": True,
3388                                "v6.4.1": True,
3389                                "v6.2.0": True,
3390                                "v6.2.3": True,
3391                                "v6.2.5": True,
3392                                "v6.2.7": True
3393                            }
3394                        },
3395                        {
3396                            "value": "public-2",
3397                            "revisions": {
3398                                "v7.0.0": True,
3399                                "v6.4.4": True,
3400                                "v6.4.0": True,
3401                                "v6.4.1": True,
3402                                "v6.2.0": True,
3403                                "v6.2.3": True,
3404                                "v6.2.5": True,
3405                                "v6.2.7": True
3406                            }
3407                        },
3408                        {
3409                            "value": "private-1",
3410                            "revisions": {
3411                                "v7.0.0": True,
3412                                "v6.4.4": True,
3413                                "v6.4.0": True,
3414                                "v6.4.1": True,
3415                                "v6.2.0": True,
3416                                "v6.2.3": True,
3417                                "v6.2.5": True,
3418                                "v6.2.7": True
3419                            }
3420                        },
3421                        {
3422                            "value": "private-2",
3423                            "revisions": {
3424                                "v7.0.0": True,
3425                                "v6.4.4": True,
3426                                "v6.4.0": True,
3427                                "v6.4.1": True,
3428                                "v6.2.0": True,
3429                                "v6.2.3": True,
3430                                "v6.2.5": True,
3431                                "v6.2.7": True
3432                            }
3433                        }
3434                    ],
3435                    "revisions": {
3436                        "v7.0.0": True,
3437                        "v6.4.4": True,
3438                        "v6.4.0": True,
3439                        "v6.4.1": True,
3440                        "v6.2.0": True,
3441                        "v6.2.3": True,
3442                        "v6.2.5": True,
3443                        "v6.2.7": True
3444                    }
3445                },
3446                "apnmember": {
3447                    "type": "list",
3448                    "children": {
3449                        "name": {
3450                            "type": "string",
3451                            "revisions": {
3452                                "v7.0.0": True,
3453                                "v6.4.4": True,
3454                                "v6.4.0": True,
3455                                "v6.4.1": True,
3456                                "v6.2.0": True,
3457                                "v6.2.3": True,
3458                                "v6.2.5": True,
3459                                "v6.2.7": True
3460                            }
3461                        }
3462                    },
3463                    "revisions": {
3464                        "v7.0.0": True,
3465                        "v6.4.4": True,
3466                        "v6.4.0": True,
3467                        "v6.4.1": True,
3468                        "v6.2.0": True,
3469                        "v6.2.3": True,
3470                        "v6.2.5": True,
3471                        "v6.2.7": True
3472                    }
3473                },
3474                "uli": {
3475                    "type": "string",
3476                    "revisions": {
3477                        "v7.0.0": True,
3478                        "v6.4.4": True,
3479                        "v6.4.0": True,
3480                        "v6.4.1": True,
3481                        "v6.2.0": True,
3482                        "v6.2.3": True,
3483                        "v6.2.5": True,
3484                        "v6.2.7": True
3485                    }
3486                },
3487                "action": {
3488                    "type": "string",
3489                    "options": [
3490                        {
3491                            "value": "allow",
3492                            "revisions": {
3493                                "v7.0.0": True,
3494                                "v6.4.4": True,
3495                                "v6.4.0": True,
3496                                "v6.4.1": True,
3497                                "v6.2.0": True,
3498                                "v6.2.3": True,
3499                                "v6.2.5": True,
3500                                "v6.2.7": True
3501                            }
3502                        },
3503                        {
3504                            "value": "deny",
3505                            "revisions": {
3506                                "v7.0.0": True,
3507                                "v6.4.4": True,
3508                                "v6.4.0": True,
3509                                "v6.4.1": True,
3510                                "v6.2.0": True,
3511                                "v6.2.3": True,
3512                                "v6.2.5": True,
3513                                "v6.2.7": True
3514                            }
3515                        }
3516                    ],
3517                    "revisions": {
3518                        "v7.0.0": True,
3519                        "v6.4.4": True,
3520                        "v6.4.0": True,
3521                        "v6.4.1": True,
3522                        "v6.2.0": True,
3523                        "v6.2.3": True,
3524                        "v6.2.5": True,
3525                        "v6.2.7": True
3526                    }
3527                },
3528                "apn_sel_mode": {
3529                    "multiple_values": True,
3530                    "type": "list",
3531                    "options": [
3532                        {
3533                            "value": "ms",
3534                            "revisions": {
3535                                "v7.0.0": True,
3536                                "v6.4.4": True,
3537                                "v6.4.0": True,
3538                                "v6.4.1": True,
3539                                "v6.2.0": True,
3540                                "v6.2.3": True,
3541                                "v6.2.5": True,
3542                                "v6.2.7": True
3543                            }
3544                        },
3545                        {
3546                            "value": "net",
3547                            "revisions": {
3548                                "v7.0.0": True,
3549                                "v6.4.4": True,
3550                                "v6.4.0": True,
3551                                "v6.4.1": True,
3552                                "v6.2.0": True,
3553                                "v6.2.3": True,
3554                                "v6.2.5": True,
3555                                "v6.2.7": True
3556                            }
3557                        },
3558                        {
3559                            "value": "vrf",
3560                            "revisions": {
3561                                "v7.0.0": True,
3562                                "v6.4.4": True,
3563                                "v6.4.0": True,
3564                                "v6.4.1": True,
3565                                "v6.2.0": True,
3566                                "v6.2.3": True,
3567                                "v6.2.5": True,
3568                                "v6.2.7": True
3569                            }
3570                        }
3571                    ],
3572                    "revisions": {
3573                        "v7.0.0": True,
3574                        "v6.4.4": True,
3575                        "v6.4.0": True,
3576                        "v6.4.1": True,
3577                        "v6.2.0": True,
3578                        "v6.2.3": True,
3579                        "v6.2.5": True,
3580                        "v6.2.7": True
3581                    }
3582                },
3583                "msisdn_prefix": {
3584                    "type": "string",
3585                    "revisions": {
3586                        "v7.0.0": True,
3587                        "v6.4.4": True,
3588                        "v6.4.0": True,
3589                        "v6.4.1": True,
3590                        "v6.2.0": True,
3591                        "v6.2.3": True,
3592                        "v6.2.5": True,
3593                        "v6.2.7": True
3594                    }
3595                },
3596                "id": {
3597                    "type": "integer",
3598                    "revisions": {
3599                        "v7.0.0": True,
3600                        "v6.4.4": True,
3601                        "v6.4.0": True,
3602                        "v6.4.1": True,
3603                        "v6.2.0": True,
3604                        "v6.2.3": True,
3605                        "v6.2.5": True,
3606                        "v6.2.7": True
3607                    }
3608                }
3609            },
3610            "revisions": {
3611                "v7.0.0": True,
3612                "v6.4.4": True,
3613                "v6.4.0": True,
3614                "v6.4.1": True,
3615                "v6.2.0": True,
3616                "v6.2.3": True,
3617                "v6.2.5": True,
3618                "v6.2.7": True
3619            }
3620        },
3621        "send_delete_when_timeout": {
3622            "type": "string",
3623            "options": [
3624                {
3625                    "value": "enable",
3626                    "revisions": {
3627                        "v6.0.0": True,
3628                        "v7.0.0": True,
3629                        "v6.0.5": True,
3630                        "v6.4.4": True,
3631                        "v6.4.0": True,
3632                        "v6.4.1": True,
3633                        "v6.2.0": True,
3634                        "v6.2.3": True,
3635                        "v6.2.5": True,
3636                        "v6.2.7": True,
3637                        "v6.0.11": True
3638                    }
3639                },
3640                {
3641                    "value": "disable",
3642                    "revisions": {
3643                        "v6.0.0": True,
3644                        "v7.0.0": True,
3645                        "v6.0.5": True,
3646                        "v6.4.4": True,
3647                        "v6.4.0": True,
3648                        "v6.4.1": True,
3649                        "v6.2.0": True,
3650                        "v6.2.3": True,
3651                        "v6.2.5": True,
3652                        "v6.2.7": True,
3653                        "v6.0.11": True
3654                    }
3655                }
3656            ],
3657            "revisions": {
3658                "v6.0.0": True,
3659                "v7.0.0": True,
3660                "v6.0.5": True,
3661                "v6.4.4": True,
3662                "v6.4.0": True,
3663                "v6.4.1": True,
3664                "v6.2.0": True,
3665                "v6.2.3": True,
3666                "v6.2.5": True,
3667                "v6.2.7": True,
3668                "v6.0.11": True
3669            }
3670        },
3671        "default_noip_action": {
3672            "type": "string",
3673            "options": [
3674                {
3675                    "value": "allow",
3676                    "revisions": {
3677                        "v6.0.0": True,
3678                        "v7.0.0": True,
3679                        "v6.0.5": True,
3680                        "v6.4.4": True,
3681                        "v6.4.0": True,
3682                        "v6.4.1": True,
3683                        "v6.2.0": True,
3684                        "v6.2.3": True,
3685                        "v6.2.5": True,
3686                        "v6.2.7": True,
3687                        "v6.0.11": True
3688                    }
3689                },
3690                {
3691                    "value": "deny",
3692                    "revisions": {
3693                        "v6.0.0": True,
3694                        "v7.0.0": True,
3695                        "v6.0.5": True,
3696                        "v6.4.4": True,
3697                        "v6.4.0": True,
3698                        "v6.4.1": True,
3699                        "v6.2.0": True,
3700                        "v6.2.3": True,
3701                        "v6.2.5": True,
3702                        "v6.2.7": True,
3703                        "v6.0.11": True
3704                    }
3705                }
3706            ],
3707            "revisions": {
3708                "v6.0.0": True,
3709                "v7.0.0": True,
3710                "v6.0.5": True,
3711                "v6.4.4": True,
3712                "v6.4.0": True,
3713                "v6.4.1": True,
3714                "v6.2.0": True,
3715                "v6.2.3": True,
3716                "v6.2.5": True,
3717                "v6.2.7": True,
3718                "v6.0.11": True
3719            }
3720        },
3721        "spoof_src_addr": {
3722            "type": "string",
3723            "options": [
3724                {
3725                    "value": "allow",
3726                    "revisions": {
3727                        "v6.0.0": True,
3728                        "v7.0.0": True,
3729                        "v6.0.5": True,
3730                        "v6.4.4": True,
3731                        "v6.4.0": True,
3732                        "v6.4.1": True,
3733                        "v6.2.0": True,
3734                        "v6.2.3": True,
3735                        "v6.2.5": True,
3736                        "v6.2.7": True,
3737                        "v6.0.11": True
3738                    }
3739                },
3740                {
3741                    "value": "deny",
3742                    "revisions": {
3743                        "v6.0.0": True,
3744                        "v7.0.0": True,
3745                        "v6.0.5": True,
3746                        "v6.4.4": True,
3747                        "v6.4.0": True,
3748                        "v6.4.1": True,
3749                        "v6.2.0": True,
3750                        "v6.2.3": True,
3751                        "v6.2.5": True,
3752                        "v6.2.7": True,
3753                        "v6.0.11": True
3754                    }
3755                }
3756            ],
3757            "revisions": {
3758                "v6.0.0": True,
3759                "v7.0.0": True,
3760                "v6.0.5": True,
3761                "v6.4.4": True,
3762                "v6.4.0": True,
3763                "v6.4.1": True,
3764                "v6.2.0": True,
3765                "v6.2.3": True,
3766                "v6.2.5": True,
3767                "v6.2.7": True,
3768                "v6.0.11": True
3769            }
3770        },
3771        "imsi": {
3772            "type": "list",
3773            "children": {
3774                "selection_mode": {
3775                    "multiple_values": True,
3776                    "type": "list",
3777                    "options": [
3778                        {
3779                            "value": "ms",
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                        {
3795                            "value": "net",
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                        {
3811                            "value": "vrf",
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                    ],
3827                    "revisions": {
3828                        "v6.0.0": True,
3829                        "v7.0.0": True,
3830                        "v6.0.5": True,
3831                        "v6.4.4": True,
3832                        "v6.4.0": True,
3833                        "v6.4.1": True,
3834                        "v6.2.0": True,
3835                        "v6.2.3": True,
3836                        "v6.2.5": True,
3837                        "v6.2.7": True,
3838                        "v6.0.11": True
3839                    }
3840                },
3841                "action": {
3842                    "type": "string",
3843                    "options": [
3844                        {
3845                            "value": "allow",
3846                            "revisions": {
3847                                "v6.0.0": True,
3848                                "v7.0.0": True,
3849                                "v6.0.5": True,
3850                                "v6.4.4": True,
3851                                "v6.4.0": True,
3852                                "v6.4.1": True,
3853                                "v6.2.0": True,
3854                                "v6.2.3": True,
3855                                "v6.2.5": True,
3856                                "v6.2.7": True,
3857                                "v6.0.11": True
3858                            }
3859                        },
3860                        {
3861                            "value": "deny",
3862                            "revisions": {
3863                                "v6.0.0": True,
3864                                "v7.0.0": True,
3865                                "v6.0.5": True,
3866                                "v6.4.4": True,
3867                                "v6.4.0": True,
3868                                "v6.4.1": True,
3869                                "v6.2.0": True,
3870                                "v6.2.3": True,
3871                                "v6.2.5": True,
3872                                "v6.2.7": True,
3873                                "v6.0.11": True
3874                            }
3875                        }
3876                    ],
3877                    "revisions": {
3878                        "v6.0.0": True,
3879                        "v7.0.0": True,
3880                        "v6.0.5": True,
3881                        "v6.4.4": True,
3882                        "v6.4.0": True,
3883                        "v6.4.1": True,
3884                        "v6.2.0": True,
3885                        "v6.2.3": True,
3886                        "v6.2.5": True,
3887                        "v6.2.7": True,
3888                        "v6.0.11": True
3889                    }
3890                },
3891                "apnmember": {
3892                    "type": "list",
3893                    "children": {
3894                        "name": {
3895                            "type": "string",
3896                            "revisions": {
3897                                "v6.0.0": True,
3898                                "v7.0.0": True,
3899                                "v6.0.5": True,
3900                                "v6.4.4": True,
3901                                "v6.4.0": True,
3902                                "v6.4.1": True,
3903                                "v6.2.0": True,
3904                                "v6.2.3": True,
3905                                "v6.2.5": True,
3906                                "v6.2.7": True,
3907                                "v6.0.11": True
3908                            }
3909                        }
3910                    },
3911                    "revisions": {
3912                        "v6.0.0": True,
3913                        "v7.0.0": True,
3914                        "v6.0.5": True,
3915                        "v6.4.4": True,
3916                        "v6.4.0": True,
3917                        "v6.4.1": True,
3918                        "v6.2.0": True,
3919                        "v6.2.3": True,
3920                        "v6.2.5": True,
3921                        "v6.2.7": True,
3922                        "v6.0.11": True
3923                    }
3924                },
3925                "mcc_mnc": {
3926                    "type": "string",
3927                    "revisions": {
3928                        "v6.0.0": True,
3929                        "v7.0.0": True,
3930                        "v6.0.5": True,
3931                        "v6.4.4": True,
3932                        "v6.4.0": True,
3933                        "v6.4.1": True,
3934                        "v6.2.0": True,
3935                        "v6.2.3": True,
3936                        "v6.2.5": True,
3937                        "v6.2.7": True,
3938                        "v6.0.11": True
3939                    }
3940                },
3941                "msisdn_prefix": {
3942                    "type": "string",
3943                    "revisions": {
3944                        "v6.0.0": True,
3945                        "v7.0.0": True,
3946                        "v6.0.5": True,
3947                        "v6.4.4": True,
3948                        "v6.4.0": True,
3949                        "v6.4.1": True,
3950                        "v6.2.0": True,
3951                        "v6.2.3": True,
3952                        "v6.2.5": True,
3953                        "v6.2.7": True,
3954                        "v6.0.11": True
3955                    }
3956                },
3957                "id": {
3958                    "type": "integer",
3959                    "revisions": {
3960                        "v6.0.0": True,
3961                        "v7.0.0": True,
3962                        "v6.0.5": True,
3963                        "v6.4.4": True,
3964                        "v6.4.0": True,
3965                        "v6.4.1": True,
3966                        "v6.2.0": True,
3967                        "v6.2.3": True,
3968                        "v6.2.5": True,
3969                        "v6.2.7": True,
3970                        "v6.0.11": True
3971                    }
3972                }
3973            },
3974            "revisions": {
3975                "v6.0.0": True,
3976                "v7.0.0": True,
3977                "v6.0.5": True,
3978                "v6.4.4": True,
3979                "v6.4.0": True,
3980                "v6.4.1": True,
3981                "v6.2.0": True,
3982                "v6.2.3": True,
3983                "v6.2.5": True,
3984                "v6.2.7": True,
3985                "v6.0.11": True
3986            }
3987        },
3988        "rate_limited_log": {
3989            "type": "string",
3990            "options": [
3991                {
3992                    "value": "enable",
3993                    "revisions": {
3994                        "v6.0.0": True,
3995                        "v7.0.0": True,
3996                        "v6.0.5": True,
3997                        "v6.4.4": True,
3998                        "v6.4.0": True,
3999                        "v6.4.1": True,
4000                        "v6.2.0": True,
4001                        "v6.2.3": True,
4002                        "v6.2.5": True,
4003                        "v6.2.7": True,
4004                        "v6.0.11": True
4005                    }
4006                },
4007                {
4008                    "value": "disable",
4009                    "revisions": {
4010                        "v6.0.0": True,
4011                        "v7.0.0": True,
4012                        "v6.0.5": True,
4013                        "v6.4.4": True,
4014                        "v6.4.0": True,
4015                        "v6.4.1": True,
4016                        "v6.2.0": True,
4017                        "v6.2.3": True,
4018                        "v6.2.5": True,
4019                        "v6.2.7": True,
4020                        "v6.0.11": True
4021                    }
4022                }
4023            ],
4024            "revisions": {
4025                "v6.0.0": True,
4026                "v7.0.0": True,
4027                "v6.0.5": True,
4028                "v6.4.4": True,
4029                "v6.4.0": True,
4030                "v6.4.1": True,
4031                "v6.2.0": True,
4032                "v6.2.3": True,
4033                "v6.2.5": True,
4034                "v6.2.7": True,
4035                "v6.0.11": True
4036            }
4037        },
4038        "max_message_length": {
4039            "type": "integer",
4040            "revisions": {
4041                "v6.0.0": True,
4042                "v7.0.0": True,
4043                "v6.0.5": True,
4044                "v6.4.4": True,
4045                "v6.4.0": True,
4046                "v6.4.1": True,
4047                "v6.2.0": True,
4048                "v6.2.3": True,
4049                "v6.2.5": True,
4050                "v6.2.7": True,
4051                "v6.0.11": True
4052            }
4053        },
4054        "extension_log": {
4055            "type": "string",
4056            "options": [
4057                {
4058                    "value": "enable",
4059                    "revisions": {
4060                        "v6.0.0": True,
4061                        "v7.0.0": True,
4062                        "v6.0.5": True,
4063                        "v6.4.4": True,
4064                        "v6.4.0": True,
4065                        "v6.4.1": True,
4066                        "v6.2.0": True,
4067                        "v6.2.3": True,
4068                        "v6.2.5": True,
4069                        "v6.2.7": True,
4070                        "v6.0.11": True
4071                    }
4072                },
4073                {
4074                    "value": "disable",
4075                    "revisions": {
4076                        "v6.0.0": True,
4077                        "v7.0.0": True,
4078                        "v6.0.5": True,
4079                        "v6.4.4": True,
4080                        "v6.4.0": True,
4081                        "v6.4.1": True,
4082                        "v6.2.0": True,
4083                        "v6.2.3": True,
4084                        "v6.2.5": True,
4085                        "v6.2.7": True,
4086                        "v6.0.11": True
4087                    }
4088                }
4089            ],
4090            "revisions": {
4091                "v6.0.0": True,
4092                "v7.0.0": True,
4093                "v6.0.5": True,
4094                "v6.4.4": True,
4095                "v6.4.0": True,
4096                "v6.4.1": True,
4097                "v6.2.0": True,
4098                "v6.2.3": True,
4099                "v6.2.5": True,
4100                "v6.2.7": True,
4101                "v6.0.11": True
4102            }
4103        },
4104        "echo_request_interval": {
4105            "type": "integer",
4106            "revisions": {
4107                "v6.0.0": True,
4108                "v7.0.0": True,
4109                "v6.0.5": True,
4110                "v6.4.4": True,
4111                "v6.4.0": True,
4112                "v6.4.1": True,
4113                "v6.2.0": True,
4114                "v6.2.3": True,
4115                "v6.2.5": True,
4116                "v6.2.7": True,
4117                "v6.0.11": True
4118            }
4119        },
4120        "monitor_mode": {
4121            "type": "string",
4122            "options": [
4123                {
4124                    "value": "enable",
4125                    "revisions": {
4126                        "v6.0.0": True,
4127                        "v7.0.0": True,
4128                        "v6.0.5": True,
4129                        "v6.4.4": True,
4130                        "v6.4.0": True,
4131                        "v6.4.1": True,
4132                        "v6.2.0": True,
4133                        "v6.2.3": True,
4134                        "v6.2.5": True,
4135                        "v6.2.7": True,
4136                        "v6.0.11": True
4137                    }
4138                },
4139                {
4140                    "value": "disable",
4141                    "revisions": {
4142                        "v6.0.0": True,
4143                        "v7.0.0": True,
4144                        "v6.0.5": True,
4145                        "v6.4.4": True,
4146                        "v6.4.0": True,
4147                        "v6.4.1": True,
4148                        "v6.2.0": True,
4149                        "v6.2.3": True,
4150                        "v6.2.5": True,
4151                        "v6.2.7": True,
4152                        "v6.0.11": True
4153                    }
4154                },
4155                {
4156                    "value": "vdom",
4157                    "revisions": {
4158                        "v7.0.0": True,
4159                        "v6.4.4": True,
4160                        "v6.4.0": True,
4161                        "v6.4.1": True,
4162                        "v6.2.0": True,
4163                        "v6.2.3": True,
4164                        "v6.2.5": True,
4165                        "v6.2.7": True
4166                    }
4167                }
4168            ],
4169            "revisions": {
4170                "v6.0.0": True,
4171                "v7.0.0": True,
4172                "v6.0.5": True,
4173                "v6.4.4": True,
4174                "v6.4.0": True,
4175                "v6.4.1": True,
4176                "v6.2.0": True,
4177                "v6.2.3": True,
4178                "v6.2.5": True,
4179                "v6.2.7": True,
4180                "v6.0.11": True
4181            }
4182        },
4183        "addr_notify": {
4184            "type": "string",
4185            "revisions": {
4186                "v6.0.0": True,
4187                "v7.0.0": True,
4188                "v6.0.5": True,
4189                "v6.4.4": True,
4190                "v6.4.0": True,
4191                "v6.4.1": True,
4192                "v6.2.0": True,
4193                "v6.2.3": True,
4194                "v6.2.5": True,
4195                "v6.2.7": True,
4196                "v6.0.11": True
4197            }
4198        },
4199        "log_gtpu_limit": {
4200            "type": "integer",
4201            "revisions": {
4202                "v6.0.0": True,
4203                "v7.0.0": True,
4204                "v6.0.5": True,
4205                "v6.4.4": True,
4206                "v6.4.0": True,
4207                "v6.4.1": True,
4208                "v6.2.0": True,
4209                "v6.2.3": True,
4210                "v6.2.5": True,
4211                "v6.2.7": True,
4212                "v6.0.11": True
4213            }
4214        },
4215        "reserved_ie": {
4216            "type": "string",
4217            "options": [
4218                {
4219                    "value": "allow",
4220                    "revisions": {
4221                        "v6.0.0": True,
4222                        "v7.0.0": True,
4223                        "v6.0.5": True,
4224                        "v6.4.4": True,
4225                        "v6.4.0": True,
4226                        "v6.4.1": True,
4227                        "v6.2.0": True,
4228                        "v6.2.3": True,
4229                        "v6.2.5": True,
4230                        "v6.2.7": True,
4231                        "v6.0.11": True
4232                    }
4233                },
4234                {
4235                    "value": "deny",
4236                    "revisions": {
4237                        "v6.0.0": True,
4238                        "v7.0.0": True,
4239                        "v6.0.5": True,
4240                        "v6.4.4": True,
4241                        "v6.4.0": True,
4242                        "v6.4.1": True,
4243                        "v6.2.0": True,
4244                        "v6.2.3": True,
4245                        "v6.2.5": True,
4246                        "v6.2.7": True,
4247                        "v6.0.11": True
4248                    }
4249                }
4250            ],
4251            "revisions": {
4252                "v6.0.0": True,
4253                "v7.0.0": True,
4254                "v6.0.5": True,
4255                "v6.4.4": True,
4256                "v6.4.0": True,
4257                "v6.4.1": True,
4258                "v6.2.0": True,
4259                "v6.2.3": True,
4260                "v6.2.5": True,
4261                "v6.2.7": True,
4262                "v6.0.11": True
4263            }
4264        },
4265        "state_invalid_log": {
4266            "type": "string",
4267            "options": [
4268                {
4269                    "value": "enable",
4270                    "revisions": {
4271                        "v6.0.0": True,
4272                        "v7.0.0": True,
4273                        "v6.0.5": True,
4274                        "v6.4.4": True,
4275                        "v6.4.0": True,
4276                        "v6.4.1": True,
4277                        "v6.2.0": True,
4278                        "v6.2.3": True,
4279                        "v6.2.5": True,
4280                        "v6.2.7": True,
4281                        "v6.0.11": True
4282                    }
4283                },
4284                {
4285                    "value": "disable",
4286                    "revisions": {
4287                        "v6.0.0": True,
4288                        "v7.0.0": True,
4289                        "v6.0.5": True,
4290                        "v6.4.4": True,
4291                        "v6.4.0": True,
4292                        "v6.4.1": True,
4293                        "v6.2.0": True,
4294                        "v6.2.3": True,
4295                        "v6.2.5": True,
4296                        "v6.2.7": True,
4297                        "v6.0.11": True
4298                    }
4299                }
4300            ],
4301            "revisions": {
4302                "v6.0.0": True,
4303                "v7.0.0": True,
4304                "v6.0.5": True,
4305                "v6.4.4": True,
4306                "v6.4.0": True,
4307                "v6.4.1": True,
4308                "v6.2.0": True,
4309                "v6.2.3": True,
4310                "v6.2.5": True,
4311                "v6.2.7": True,
4312                "v6.0.11": True
4313            }
4314        },
4315        "message_filter_v0v1": {
4316            "type": "string",
4317            "revisions": {
4318                "v6.0.0": True,
4319                "v7.0.0": True,
4320                "v6.0.5": True,
4321                "v6.4.4": True,
4322                "v6.4.0": True,
4323                "v6.4.1": True,
4324                "v6.2.0": True,
4325                "v6.2.3": True,
4326                "v6.2.5": True,
4327                "v6.2.7": True,
4328                "v6.0.11": True
4329            }
4330        },
4331        "authorized_ggsns": {
4332            "type": "string",
4333            "revisions": {
4334                "v6.0.0": True,
4335                "v7.0.0": True,
4336                "v6.0.5": True,
4337                "v6.4.4": True,
4338                "v6.4.0": True,
4339                "v6.4.1": True,
4340                "v6.2.0": True,
4341                "v6.2.3": True,
4342                "v6.2.5": True,
4343                "v6.2.7": True,
4344                "v6.0.11": True
4345            }
4346        },
4347        "port_notify": {
4348            "type": "integer",
4349            "revisions": {
4350                "v6.0.0": True,
4351                "v7.0.0": True,
4352                "v6.0.5": True,
4353                "v6.4.4": True,
4354                "v6.4.0": True,
4355                "v6.4.1": True,
4356                "v6.2.0": True,
4357                "v6.2.3": True,
4358                "v6.2.5": True,
4359                "v6.2.7": True,
4360                "v6.0.11": True
4361            }
4362        },
4363        "gtp_in_gtp": {
4364            "type": "string",
4365            "options": [
4366                {
4367                    "value": "allow",
4368                    "revisions": {
4369                        "v6.0.0": True,
4370                        "v7.0.0": True,
4371                        "v6.0.5": True,
4372                        "v6.4.4": True,
4373                        "v6.4.0": True,
4374                        "v6.4.1": True,
4375                        "v6.2.0": True,
4376                        "v6.2.3": True,
4377                        "v6.2.5": True,
4378                        "v6.2.7": True,
4379                        "v6.0.11": True
4380                    }
4381                },
4382                {
4383                    "value": "deny",
4384                    "revisions": {
4385                        "v6.0.0": True,
4386                        "v7.0.0": True,
4387                        "v6.0.5": True,
4388                        "v6.4.4": True,
4389                        "v6.4.0": True,
4390                        "v6.4.1": True,
4391                        "v6.2.0": True,
4392                        "v6.2.3": True,
4393                        "v6.2.5": True,
4394                        "v6.2.7": True,
4395                        "v6.0.11": True
4396                    }
4397                }
4398            ],
4399            "revisions": {
4400                "v6.0.0": True,
4401                "v7.0.0": True,
4402                "v6.0.5": True,
4403                "v6.4.4": True,
4404                "v6.4.0": True,
4405                "v6.4.1": True,
4406                "v6.2.0": True,
4407                "v6.2.3": True,
4408                "v6.2.5": True,
4409                "v6.2.7": True,
4410                "v6.0.11": True
4411            }
4412        },
4413        "comment": {
4414            "type": "string",
4415            "revisions": {
4416                "v6.0.0": True,
4417                "v7.0.0": True,
4418                "v6.0.5": True,
4419                "v6.4.4": True,
4420                "v6.4.0": True,
4421                "v6.4.1": True,
4422                "v6.2.0": True,
4423                "v6.2.3": True,
4424                "v6.2.5": True,
4425                "v6.2.7": True,
4426                "v6.0.11": True
4427            }
4428        },
4429        "invalid_sgsns_to_log": {
4430            "type": "string",
4431            "revisions": {
4432                "v6.0.0": True,
4433                "v7.0.0": True,
4434                "v6.0.5": True,
4435                "v6.4.4": True,
4436                "v6.4.0": True,
4437                "v6.4.1": True,
4438                "v6.2.0": True,
4439                "v6.2.3": True,
4440                "v6.2.5": True,
4441                "v6.2.7": True,
4442                "v6.0.11": True
4443            }
4444        },
4445        "apn": {
4446            "type": "list",
4447            "children": {
4448                "apnmember": {
4449                    "type": "list",
4450                    "children": {
4451                        "name": {
4452                            "type": "string",
4453                            "revisions": {
4454                                "v6.0.0": True,
4455                                "v7.0.0": True,
4456                                "v6.0.5": True,
4457                                "v6.4.4": True,
4458                                "v6.4.0": True,
4459                                "v6.4.1": True,
4460                                "v6.2.0": True,
4461                                "v6.2.3": True,
4462                                "v6.2.5": True,
4463                                "v6.2.7": True,
4464                                "v6.0.11": True
4465                            }
4466                        }
4467                    },
4468                    "revisions": {
4469                        "v6.0.0": True,
4470                        "v7.0.0": True,
4471                        "v6.0.5": True,
4472                        "v6.4.4": True,
4473                        "v6.4.0": True,
4474                        "v6.4.1": True,
4475                        "v6.2.0": True,
4476                        "v6.2.3": True,
4477                        "v6.2.5": True,
4478                        "v6.2.7": True,
4479                        "v6.0.11": True
4480                    }
4481                },
4482                "action": {
4483                    "type": "string",
4484                    "options": [
4485                        {
4486                            "value": "allow",
4487                            "revisions": {
4488                                "v6.0.0": True,
4489                                "v7.0.0": True,
4490                                "v6.0.5": True,
4491                                "v6.4.4": True,
4492                                "v6.4.0": True,
4493                                "v6.4.1": True,
4494                                "v6.2.0": True,
4495                                "v6.2.3": True,
4496                                "v6.2.5": True,
4497                                "v6.2.7": True,
4498                                "v6.0.11": True
4499                            }
4500                        },
4501                        {
4502                            "value": "deny",
4503                            "revisions": {
4504                                "v6.0.0": True,
4505                                "v7.0.0": True,
4506                                "v6.0.5": True,
4507                                "v6.4.4": True,
4508                                "v6.4.0": True,
4509                                "v6.4.1": True,
4510                                "v6.2.0": True,
4511                                "v6.2.3": True,
4512                                "v6.2.5": True,
4513                                "v6.2.7": True,
4514                                "v6.0.11": True
4515                            }
4516                        }
4517                    ],
4518                    "revisions": {
4519                        "v6.0.0": True,
4520                        "v7.0.0": True,
4521                        "v6.0.5": True,
4522                        "v6.4.4": True,
4523                        "v6.4.0": True,
4524                        "v6.4.1": True,
4525                        "v6.2.0": True,
4526                        "v6.2.3": True,
4527                        "v6.2.5": True,
4528                        "v6.2.7": True,
4529                        "v6.0.11": True
4530                    }
4531                },
4532                "selection_mode": {
4533                    "multiple_values": True,
4534                    "type": "list",
4535                    "options": [
4536                        {
4537                            "value": "ms",
4538                            "revisions": {
4539                                "v6.0.0": True,
4540                                "v7.0.0": True,
4541                                "v6.0.5": True,
4542                                "v6.4.4": True,
4543                                "v6.4.0": True,
4544                                "v6.4.1": True,
4545                                "v6.2.0": True,
4546                                "v6.2.3": True,
4547                                "v6.2.5": True,
4548                                "v6.2.7": True,
4549                                "v6.0.11": True
4550                            }
4551                        },
4552                        {
4553                            "value": "net",
4554                            "revisions": {
4555                                "v6.0.0": True,
4556                                "v7.0.0": True,
4557                                "v6.0.5": True,
4558                                "v6.4.4": True,
4559                                "v6.4.0": True,
4560                                "v6.4.1": True,
4561                                "v6.2.0": True,
4562                                "v6.2.3": True,
4563                                "v6.2.5": True,
4564                                "v6.2.7": True,
4565                                "v6.0.11": True
4566                            }
4567                        },
4568                        {
4569                            "value": "vrf",
4570                            "revisions": {
4571                                "v6.0.0": True,
4572                                "v7.0.0": True,
4573                                "v6.0.5": True,
4574                                "v6.4.4": True,
4575                                "v6.4.0": True,
4576                                "v6.4.1": True,
4577                                "v6.2.0": True,
4578                                "v6.2.3": True,
4579                                "v6.2.5": True,
4580                                "v6.2.7": True,
4581                                "v6.0.11": True
4582                            }
4583                        }
4584                    ],
4585                    "revisions": {
4586                        "v6.0.0": True,
4587                        "v7.0.0": True,
4588                        "v6.0.5": True,
4589                        "v6.4.4": True,
4590                        "v6.4.0": True,
4591                        "v6.4.1": True,
4592                        "v6.2.0": True,
4593                        "v6.2.3": True,
4594                        "v6.2.5": True,
4595                        "v6.2.7": True,
4596                        "v6.0.11": True
4597                    }
4598                },
4599                "id": {
4600                    "type": "integer",
4601                    "revisions": {
4602                        "v6.0.0": True,
4603                        "v7.0.0": True,
4604                        "v6.0.5": True,
4605                        "v6.4.4": True,
4606                        "v6.4.0": True,
4607                        "v6.4.1": True,
4608                        "v6.2.0": True,
4609                        "v6.2.3": True,
4610                        "v6.2.5": True,
4611                        "v6.2.7": True,
4612                        "v6.0.11": True
4613                    }
4614                }
4615            },
4616            "revisions": {
4617                "v6.0.0": True,
4618                "v7.0.0": True,
4619                "v6.0.5": True,
4620                "v6.4.4": True,
4621                "v6.4.0": True,
4622                "v6.4.1": True,
4623                "v6.2.0": True,
4624                "v6.2.3": True,
4625                "v6.2.5": True,
4626                "v6.2.7": True,
4627                "v6.0.11": True
4628            }
4629        },
4630        "rate_sampling_interval": {
4631            "type": "integer",
4632            "revisions": {
4633                "v6.0.0": True,
4634                "v7.0.0": True,
4635                "v6.0.5": True,
4636                "v6.4.4": True,
4637                "v6.4.0": True,
4638                "v6.4.1": True,
4639                "v6.2.0": True,
4640                "v6.2.3": True,
4641                "v6.2.5": True,
4642                "v6.2.7": True,
4643                "v6.0.11": True
4644            }
4645        },
4646        "authorized_ggsns6": {
4647            "type": "string",
4648            "revisions": {
4649                "v6.4.4": True,
4650                "v7.0.0": True,
4651                "v6.4.0": True,
4652                "v6.4.1": False
4653            }
4654        },
4655        "traffic_count_log": {
4656            "type": "string",
4657            "options": [
4658                {
4659                    "value": "enable",
4660                    "revisions": {
4661                        "v6.0.0": True,
4662                        "v7.0.0": True,
4663                        "v6.0.5": True,
4664                        "v6.4.4": True,
4665                        "v6.4.0": True,
4666                        "v6.4.1": True,
4667                        "v6.2.0": True,
4668                        "v6.2.3": True,
4669                        "v6.2.5": True,
4670                        "v6.2.7": True,
4671                        "v6.0.11": True
4672                    }
4673                },
4674                {
4675                    "value": "disable",
4676                    "revisions": {
4677                        "v6.0.0": True,
4678                        "v7.0.0": True,
4679                        "v6.0.5": True,
4680                        "v6.4.4": True,
4681                        "v6.4.0": True,
4682                        "v6.4.1": True,
4683                        "v6.2.0": True,
4684                        "v6.2.3": True,
4685                        "v6.2.5": True,
4686                        "v6.2.7": True,
4687                        "v6.0.11": True
4688                    }
4689                }
4690            ],
4691            "revisions": {
4692                "v6.0.0": True,
4693                "v7.0.0": True,
4694                "v6.0.5": True,
4695                "v6.4.4": True,
4696                "v6.4.0": True,
4697                "v6.4.1": True,
4698                "v6.2.0": True,
4699                "v6.2.3": True,
4700                "v6.2.5": True,
4701                "v6.2.7": True,
4702                "v6.0.11": True
4703            }
4704        },
4705        "ip_policy": {
4706            "type": "list",
4707            "children": {
4708                "srcaddr6": {
4709                    "type": "string",
4710                    "revisions": {
4711                        "v6.4.4": True,
4712                        "v7.0.0": True,
4713                        "v6.4.0": True,
4714                        "v6.4.1": False
4715                    }
4716                },
4717                "dstaddr6": {
4718                    "type": "string",
4719                    "revisions": {
4720                        "v6.4.4": True,
4721                        "v7.0.0": True,
4722                        "v6.4.0": True,
4723                        "v6.4.1": False
4724                    }
4725                },
4726                "srcaddr": {
4727                    "type": "string",
4728                    "revisions": {
4729                        "v6.0.0": True,
4730                        "v7.0.0": True,
4731                        "v6.0.5": True,
4732                        "v6.4.4": True,
4733                        "v6.4.0": True,
4734                        "v6.4.1": True,
4735                        "v6.2.0": True,
4736                        "v6.2.3": True,
4737                        "v6.2.5": True,
4738                        "v6.2.7": True,
4739                        "v6.0.11": True
4740                    }
4741                },
4742                "action": {
4743                    "type": "string",
4744                    "options": [
4745                        {
4746                            "value": "allow",
4747                            "revisions": {
4748                                "v6.0.0": True,
4749                                "v7.0.0": True,
4750                                "v6.0.5": True,
4751                                "v6.4.4": True,
4752                                "v6.4.0": True,
4753                                "v6.4.1": True,
4754                                "v6.2.0": True,
4755                                "v6.2.3": True,
4756                                "v6.2.5": True,
4757                                "v6.2.7": True,
4758                                "v6.0.11": True
4759                            }
4760                        },
4761                        {
4762                            "value": "deny",
4763                            "revisions": {
4764                                "v6.0.0": True,
4765                                "v7.0.0": True,
4766                                "v6.0.5": True,
4767                                "v6.4.4": True,
4768                                "v6.4.0": True,
4769                                "v6.4.1": True,
4770                                "v6.2.0": True,
4771                                "v6.2.3": True,
4772                                "v6.2.5": True,
4773                                "v6.2.7": True,
4774                                "v6.0.11": True
4775                            }
4776                        }
4777                    ],
4778                    "revisions": {
4779                        "v6.0.0": True,
4780                        "v7.0.0": True,
4781                        "v6.0.5": True,
4782                        "v6.4.4": True,
4783                        "v6.4.0": True,
4784                        "v6.4.1": True,
4785                        "v6.2.0": True,
4786                        "v6.2.3": True,
4787                        "v6.2.5": True,
4788                        "v6.2.7": True,
4789                        "v6.0.11": True
4790                    }
4791                },
4792                "dstaddr": {
4793                    "type": "string",
4794                    "revisions": {
4795                        "v6.0.0": True,
4796                        "v7.0.0": True,
4797                        "v6.0.5": True,
4798                        "v6.4.4": True,
4799                        "v6.4.0": True,
4800                        "v6.4.1": True,
4801                        "v6.2.0": True,
4802                        "v6.2.3": True,
4803                        "v6.2.5": True,
4804                        "v6.2.7": True,
4805                        "v6.0.11": True
4806                    }
4807                },
4808                "id": {
4809                    "type": "integer",
4810                    "revisions": {
4811                        "v6.0.0": True,
4812                        "v7.0.0": True,
4813                        "v6.0.5": True,
4814                        "v6.4.4": True,
4815                        "v6.4.0": True,
4816                        "v6.4.1": True,
4817                        "v6.2.0": True,
4818                        "v6.2.3": True,
4819                        "v6.2.5": True,
4820                        "v6.2.7": True,
4821                        "v6.0.11": True
4822                    }
4823                }
4824            },
4825            "revisions": {
4826                "v6.0.0": True,
4827                "v7.0.0": True,
4828                "v6.0.5": True,
4829                "v6.4.4": True,
4830                "v6.4.0": True,
4831                "v6.4.1": True,
4832                "v6.2.0": True,
4833                "v6.2.3": True,
4834                "v6.2.5": True,
4835                "v6.2.7": True,
4836                "v6.0.11": True
4837            }
4838        },
4839        "gtpu_forwarded_log": {
4840            "type": "string",
4841            "options": [
4842                {
4843                    "value": "enable",
4844                    "revisions": {
4845                        "v6.0.0": True,
4846                        "v7.0.0": True,
4847                        "v6.0.5": True,
4848                        "v6.4.4": True,
4849                        "v6.4.0": True,
4850                        "v6.4.1": True,
4851                        "v6.2.0": True,
4852                        "v6.2.3": True,
4853                        "v6.2.5": True,
4854                        "v6.2.7": True,
4855                        "v6.0.11": True
4856                    }
4857                },
4858                {
4859                    "value": "disable",
4860                    "revisions": {
4861                        "v6.0.0": True,
4862                        "v7.0.0": True,
4863                        "v6.0.5": True,
4864                        "v6.4.4": True,
4865                        "v6.4.0": True,
4866                        "v6.4.1": True,
4867                        "v6.2.0": True,
4868                        "v6.2.3": True,
4869                        "v6.2.5": True,
4870                        "v6.2.7": True,
4871                        "v6.0.11": True
4872                    }
4873                }
4874            ],
4875            "revisions": {
4876                "v6.0.0": True,
4877                "v7.0.0": True,
4878                "v6.0.5": True,
4879                "v6.4.4": True,
4880                "v6.4.0": True,
4881                "v6.4.1": True,
4882                "v6.2.0": True,
4883                "v6.2.3": True,
4884                "v6.2.5": True,
4885                "v6.2.7": True,
4886                "v6.0.11": True
4887            }
4888        },
4889        "ie_remover": {
4890            "type": "string",
4891            "options": [
4892                {
4893                    "value": "enable",
4894                    "revisions": {
4895                        "v6.0.0": True,
4896                        "v7.0.0": True,
4897                        "v6.0.5": True,
4898                        "v6.4.4": True,
4899                        "v6.4.0": True,
4900                        "v6.4.1": True,
4901                        "v6.2.0": True,
4902                        "v6.2.3": True,
4903                        "v6.2.5": True,
4904                        "v6.2.7": True,
4905                        "v6.0.11": True
4906                    }
4907                },
4908                {
4909                    "value": "disable",
4910                    "revisions": {
4911                        "v6.0.0": True,
4912                        "v7.0.0": True,
4913                        "v6.0.5": True,
4914                        "v6.4.4": True,
4915                        "v6.4.0": True,
4916                        "v6.4.1": True,
4917                        "v6.2.0": True,
4918                        "v6.2.3": True,
4919                        "v6.2.5": True,
4920                        "v6.2.7": True,
4921                        "v6.0.11": True
4922                    }
4923                }
4924            ],
4925            "revisions": {
4926                "v6.0.0": True,
4927                "v7.0.0": True,
4928                "v6.0.5": True,
4929                "v6.4.4": True,
4930                "v6.4.0": True,
4931                "v6.4.1": True,
4932                "v6.2.0": True,
4933                "v6.2.3": True,
4934                "v6.2.5": True,
4935                "v6.2.7": True,
4936                "v6.0.11": True
4937            }
4938        },
4939        "policy_filter": {
4940            "type": "string",
4941            "options": [
4942                {
4943                    "value": "enable",
4944                    "revisions": {
4945                        "v6.0.0": True,
4946                        "v7.0.0": True,
4947                        "v6.0.5": True,
4948                        "v6.4.4": True,
4949                        "v6.4.0": True,
4950                        "v6.4.1": True,
4951                        "v6.2.0": True,
4952                        "v6.2.3": True,
4953                        "v6.2.5": True,
4954                        "v6.2.7": True,
4955                        "v6.0.11": True
4956                    }
4957                },
4958                {
4959                    "value": "disable",
4960                    "revisions": {
4961                        "v6.0.0": True,
4962                        "v7.0.0": True,
4963                        "v6.0.5": True,
4964                        "v6.4.4": True,
4965                        "v6.4.0": True,
4966                        "v6.4.1": True,
4967                        "v6.2.0": True,
4968                        "v6.2.3": True,
4969                        "v6.2.5": True,
4970                        "v6.2.7": True,
4971                        "v6.0.11": True
4972                    }
4973                }
4974            ],
4975            "revisions": {
4976                "v6.0.0": True,
4977                "v7.0.0": True,
4978                "v6.0.5": True,
4979                "v6.4.4": True,
4980                "v6.4.0": True,
4981                "v6.4.1": True,
4982                "v6.2.0": True,
4983                "v6.2.3": True,
4984                "v6.2.5": True,
4985                "v6.2.7": True,
4986                "v6.0.11": True
4987            }
4988        },
4989        "sub_second_interval": {
4990            "type": "string",
4991            "options": [
4992                {
4993                    "value": "0.5",
4994                    "revisions": {
4995                        "v7.0.0": True,
4996                        "v6.4.4": True,
4997                        "v6.4.0": True,
4998                        "v6.4.1": True,
4999                        "v6.2.0": True,
5000                        "v6.2.3": True,
5001                        "v6.2.5": True,
5002                        "v6.2.7": True
5003                    }
5004                },
5005                {
5006                    "value": "0.25",
5007                    "revisions": {
5008                        "v7.0.0": True,
5009                        "v6.4.4": True,
5010                        "v6.4.0": True,
5011                        "v6.4.1": True,
5012                        "v6.2.0": True,
5013                        "v6.2.3": True,
5014                        "v6.2.5": True,
5015                        "v6.2.7": True
5016                    }
5017                },
5018                {
5019                    "value": "0.1",
5020                    "revisions": {
5021                        "v7.0.0": True,
5022                        "v6.4.4": True,
5023                        "v6.4.0": True,
5024                        "v6.4.1": True,
5025                        "v6.2.0": True,
5026                        "v6.2.3": True,
5027                        "v6.2.5": True,
5028                        "v6.2.7": True
5029                    }
5030                }
5031            ],
5032            "revisions": {
5033                "v7.0.0": True,
5034                "v6.4.4": True,
5035                "v6.4.0": True,
5036                "v6.4.1": True,
5037                "v6.2.0": True,
5038                "v6.2.3": True,
5039                "v6.2.5": True,
5040                "v6.2.7": True
5041            }
5042        },
5043        "tunnel_limit": {
5044            "type": "integer",
5045            "revisions": {
5046                "v6.0.0": True,
5047                "v7.0.0": True,
5048                "v6.0.5": True,
5049                "v6.4.4": True,
5050                "v6.4.0": True,
5051                "v6.4.1": True,
5052                "v6.2.0": True,
5053                "v6.2.3": True,
5054                "v6.2.5": True,
5055                "v6.2.7": True,
5056                "v6.0.11": True
5057            }
5058        },
5059        "imsi_filter": {
5060            "type": "string",
5061            "options": [
5062                {
5063                    "value": "enable",
5064                    "revisions": {
5065                        "v6.0.0": True,
5066                        "v7.0.0": True,
5067                        "v6.0.5": True,
5068                        "v6.4.4": True,
5069                        "v6.4.0": True,
5070                        "v6.4.1": True,
5071                        "v6.2.0": True,
5072                        "v6.2.3": True,
5073                        "v6.2.5": True,
5074                        "v6.2.7": True,
5075                        "v6.0.11": True
5076                    }
5077                },
5078                {
5079                    "value": "disable",
5080                    "revisions": {
5081                        "v6.0.0": True,
5082                        "v7.0.0": True,
5083                        "v6.0.5": True,
5084                        "v6.4.4": True,
5085                        "v6.4.0": True,
5086                        "v6.4.1": True,
5087                        "v6.2.0": True,
5088                        "v6.2.3": True,
5089                        "v6.2.5": True,
5090                        "v6.2.7": True,
5091                        "v6.0.11": True
5092                    }
5093                }
5094            ],
5095            "revisions": {
5096                "v6.0.0": True,
5097                "v7.0.0": True,
5098                "v6.0.5": True,
5099                "v6.4.4": True,
5100                "v6.4.0": True,
5101                "v6.4.1": True,
5102                "v6.2.0": True,
5103                "v6.2.3": True,
5104                "v6.2.5": True,
5105                "v6.2.7": True,
5106                "v6.0.11": True
5107            }
5108        },
5109        "message_rate_limit": {
5110            "type": "dict",
5111            "children": {
5112                "identification_request": {
5113                    "type": "integer",
5114                    "revisions": {
5115                        "v6.0.0": True,
5116                        "v7.0.0": True,
5117                        "v6.0.5": True,
5118                        "v6.4.4": True,
5119                        "v6.4.0": True,
5120                        "v6.4.1": True,
5121                        "v6.2.0": True,
5122                        "v6.2.3": True,
5123                        "v6.2.5": True,
5124                        "v6.2.7": True,
5125                        "v6.0.11": True
5126                    }
5127                },
5128                "pdu_notify_request": {
5129                    "type": "integer",
5130                    "revisions": {
5131                        "v6.0.0": True,
5132                        "v7.0.0": True,
5133                        "v6.0.5": True,
5134                        "v6.4.4": True,
5135                        "v6.4.0": True,
5136                        "v6.4.1": True,
5137                        "v6.2.0": True,
5138                        "v6.2.3": True,
5139                        "v6.2.5": True,
5140                        "v6.2.7": True,
5141                        "v6.0.11": True
5142                    }
5143                },
5144                "update_pdp_response": {
5145                    "type": "integer",
5146                    "revisions": {
5147                        "v6.0.0": True,
5148                        "v7.0.0": True,
5149                        "v6.0.5": True,
5150                        "v6.4.4": True,
5151                        "v6.4.0": True,
5152                        "v6.4.1": True,
5153                        "v6.2.0": True,
5154                        "v6.2.3": True,
5155                        "v6.2.5": True,
5156                        "v6.2.7": True,
5157                        "v6.0.11": True
5158                    }
5159                },
5160                "fwd_relocation_request": {
5161                    "type": "integer",
5162                    "revisions": {
5163                        "v6.0.0": True,
5164                        "v7.0.0": True,
5165                        "v6.0.5": True,
5166                        "v6.4.4": True,
5167                        "v6.4.0": True,
5168                        "v6.4.1": True,
5169                        "v6.2.0": True,
5170                        "v6.2.3": True,
5171                        "v6.2.5": True,
5172                        "v6.2.7": True,
5173                        "v6.0.11": True
5174                    }
5175                },
5176                "identification_response": {
5177                    "type": "integer",
5178                    "revisions": {
5179                        "v6.0.0": True,
5180                        "v7.0.0": True,
5181                        "v6.0.5": True,
5182                        "v6.4.4": True,
5183                        "v6.4.0": True,
5184                        "v6.4.1": True,
5185                        "v6.2.0": True,
5186                        "v6.2.3": True,
5187                        "v6.2.5": True,
5188                        "v6.2.7": True,
5189                        "v6.0.11": True
5190                    }
5191                },
5192                "support_ext_hdr_notify": {
5193                    "type": "integer",
5194                    "revisions": {
5195                        "v6.0.0": True,
5196                        "v7.0.0": True,
5197                        "v6.0.5": True,
5198                        "v6.4.4": True,
5199                        "v6.4.0": True,
5200                        "v6.4.1": True,
5201                        "v6.2.0": True,
5202                        "v6.2.3": True,
5203                        "v6.2.5": True,
5204                        "v6.2.7": True,
5205                        "v6.0.11": True
5206                    }
5207                },
5208                "delete_aa_pdp_request": {
5209                    "type": "integer",
5210                    "revisions": {
5211                        "v6.0.0": True,
5212                        "v7.0.0": True,
5213                        "v6.0.5": True,
5214                        "v6.4.4": True,
5215                        "v6.4.0": True,
5216                        "v6.4.1": True,
5217                        "v6.2.0": True,
5218                        "v6.2.3": True,
5219                        "v6.2.5": True,
5220                        "v6.2.7": True,
5221                        "v6.0.11": True
5222                    }
5223                },
5224                "update_pdp_request": {
5225                    "type": "integer",
5226                    "revisions": {
5227                        "v6.0.0": True,
5228                        "v7.0.0": True,
5229                        "v6.0.5": True,
5230                        "v6.4.4": True,
5231                        "v6.4.0": True,
5232                        "v6.4.1": True,
5233                        "v6.2.0": True,
5234                        "v6.2.3": True,
5235                        "v6.2.5": True,
5236                        "v6.2.7": True,
5237                        "v6.0.11": True
5238                    }
5239                },
5240                "delete_mbms_request": {
5241                    "type": "integer",
5242                    "revisions": {
5243                        "v6.0.0": True,
5244                        "v7.0.0": True,
5245                        "v6.0.5": True,
5246                        "v6.4.4": True,
5247                        "v6.4.0": True,
5248                        "v6.4.1": True,
5249                        "v6.2.0": True,
5250                        "v6.2.3": True,
5251                        "v6.2.5": True,
5252                        "v6.2.7": True,
5253                        "v6.0.11": True
5254                    }
5255                },
5256                "fwd_relocation_response": {
5257                    "type": "integer",
5258                    "revisions": {
5259                        "v6.0.0": True,
5260                        "v7.0.0": True,
5261                        "v6.0.5": True,
5262                        "v6.4.4": True,
5263                        "v6.4.0": True,
5264                        "v6.4.1": True,
5265                        "v6.2.0": True,
5266                        "v6.2.3": True,
5267                        "v6.2.5": True,
5268                        "v6.2.7": True,
5269                        "v6.0.11": True
5270                    }
5271                },
5272                "create_pdp_response": {
5273                    "type": "integer",
5274                    "revisions": {
5275                        "v6.0.0": True,
5276                        "v7.0.0": True,
5277                        "v6.0.5": True,
5278                        "v6.4.4": True,
5279                        "v6.4.0": True,
5280                        "v6.4.1": True,
5281                        "v6.2.0": True,
5282                        "v6.2.3": True,
5283                        "v6.2.5": True,
5284                        "v6.2.7": True,
5285                        "v6.0.11": True
5286                    }
5287                },
5288                "mbms_ses_start_response": {
5289                    "type": "integer",
5290                    "revisions": {
5291                        "v6.0.0": True,
5292                        "v7.0.0": True,
5293                        "v6.0.5": True,
5294                        "v6.4.4": True,
5295                        "v6.4.0": True,
5296                        "v6.4.1": True,
5297                        "v6.2.0": True,
5298                        "v6.2.3": True,
5299                        "v6.2.5": True,
5300                        "v6.2.7": True,
5301                        "v6.0.11": True
5302                    }
5303                },
5304                "g_pdu": {
5305                    "type": "integer",
5306                    "revisions": {
5307                        "v6.0.0": True,
5308                        "v7.0.0": True,
5309                        "v6.0.5": True,
5310                        "v6.4.4": True,
5311                        "v6.4.0": True,
5312                        "v6.4.1": True,
5313                        "v6.2.0": True,
5314                        "v6.2.3": True,
5315                        "v6.2.5": True,
5316                        "v6.2.7": True,
5317                        "v6.0.11": True
5318                    }
5319                },
5320                "create_aa_pdp_response": {
5321                    "type": "integer",
5322                    "revisions": {
5323                        "v6.0.0": True,
5324                        "v7.0.0": True,
5325                        "v6.0.5": True,
5326                        "v6.4.4": True,
5327                        "v6.4.0": True,
5328                        "v6.4.1": True,
5329                        "v6.2.0": True,
5330                        "v6.2.3": True,
5331                        "v6.2.5": True,
5332                        "v6.2.7": True,
5333                        "v6.0.11": True
5334                    }
5335                },
5336                "create_mbms_response": {
5337                    "type": "integer",
5338                    "revisions": {
5339                        "v6.0.0": True,
5340                        "v7.0.0": True,
5341                        "v6.0.5": True,
5342                        "v6.4.4": True,
5343                        "v6.4.0": True,
5344                        "v6.4.1": True,
5345                        "v6.2.0": True,
5346                        "v6.2.3": True,
5347                        "v6.2.5": True,
5348                        "v6.2.7": True,
5349                        "v6.0.11": True
5350                    }
5351                },
5352                "echo_reponse": {
5353                    "type": "integer",
5354                    "revisions": {
5355                        "v6.0.0": True,
5356                        "v7.0.0": True,
5357                        "v6.0.5": True,
5358                        "v6.4.4": True,
5359                        "v6.4.0": True,
5360                        "v6.4.1": True,
5361                        "v6.2.0": True,
5362                        "v6.2.3": True,
5363                        "v6.2.5": True,
5364                        "v6.2.7": True,
5365                        "v6.0.11": True
5366                    }
5367                },
5368                "create_aa_pdp_request": {
5369                    "type": "integer",
5370                    "revisions": {
5371                        "v6.0.0": True,
5372                        "v7.0.0": True,
5373                        "v6.0.5": True,
5374                        "v6.4.4": True,
5375                        "v6.4.0": True,
5376                        "v6.4.1": True,
5377                        "v6.2.0": True,
5378                        "v6.2.3": True,
5379                        "v6.2.5": True,
5380                        "v6.2.7": True,
5381                        "v6.0.11": True
5382                    }
5383                },
5384                "relocation_cancel_request": {
5385                    "type": "integer",
5386                    "revisions": {
5387                        "v6.0.0": True,
5388                        "v7.0.0": True,
5389                        "v6.0.5": True,
5390                        "v6.4.4": True,
5391                        "v6.4.0": True,
5392                        "v6.4.1": True,
5393                        "v6.2.0": True,
5394                        "v6.2.3": True,
5395                        "v6.2.5": True,
5396                        "v6.2.7": True,
5397                        "v6.0.11": True
5398                    }
5399                },
5400                "mbms_reg_response": {
5401                    "type": "integer",
5402                    "revisions": {
5403                        "v6.0.0": True,
5404                        "v7.0.0": True,
5405                        "v6.0.5": True,
5406                        "v6.4.4": True,
5407                        "v6.4.0": True,
5408                        "v6.4.1": True,
5409                        "v6.2.0": True,
5410                        "v6.2.3": True,
5411                        "v6.2.5": True,
5412                        "v6.2.7": True,
5413                        "v6.0.11": True
5414                    }
5415                },
5416                "echo_request": {
5417                    "type": "integer",
5418                    "revisions": {
5419                        "v6.0.0": True,
5420                        "v7.0.0": True,
5421                        "v6.0.5": True,
5422                        "v6.4.4": True,
5423                        "v6.4.0": True,
5424                        "v6.4.1": True,
5425                        "v6.2.0": True,
5426                        "v6.2.3": True,
5427                        "v6.2.5": True,
5428                        "v6.2.7": True,
5429                        "v6.0.11": True
5430                    }
5431                },
5432                "fwd_reloc_complete_ack": {
5433                    "type": "integer",
5434                    "revisions": {
5435                        "v6.0.0": True,
5436                        "v7.0.0": True,
5437                        "v6.0.5": True,
5438                        "v6.4.4": True,
5439                        "v6.4.0": True,
5440                        "v6.4.1": True,
5441                        "v6.2.0": True,
5442                        "v6.2.3": True,
5443                        "v6.2.5": True,
5444                        "v6.2.7": True,
5445                        "v6.0.11": True
5446                    }
5447                },
5448                "update_mbms_response": {
5449                    "type": "integer",
5450                    "revisions": {
5451                        "v6.0.0": True,
5452                        "v7.0.0": True,
5453                        "v6.0.5": True,
5454                        "v6.4.4": True,
5455                        "v6.4.0": True,
5456                        "v6.4.1": True,
5457                        "v6.2.0": True,
5458                        "v6.2.3": True,
5459                        "v6.2.5": True,
5460                        "v6.2.7": True,
5461                        "v6.0.11": True
5462                    }
5463                },
5464                "create_mbms_request": {
5465                    "type": "integer",
5466                    "revisions": {
5467                        "v6.0.0": True,
5468                        "v7.0.0": True,
5469                        "v6.0.5": True,
5470                        "v6.4.4": True,
5471                        "v6.4.0": True,
5472                        "v6.4.1": True,
5473                        "v6.2.0": True,
5474                        "v6.2.3": True,
5475                        "v6.2.5": True,
5476                        "v6.2.7": True,
5477                        "v6.0.11": True
5478                    }
5479                },
5480                "pdu_notify_rej_response": {
5481                    "type": "integer",
5482                    "revisions": {
5483                        "v6.0.0": True,
5484                        "v7.0.0": True,
5485                        "v6.0.5": True,
5486                        "v6.4.4": True,
5487                        "v6.4.0": True,
5488                        "v6.4.1": True,
5489                        "v6.2.0": True,
5490                        "v6.2.3": True,
5491                        "v6.2.5": True,
5492                        "v6.2.7": True,
5493                        "v6.0.11": True
5494                    }
5495                },
5496                "mbms_reg_request": {
5497                    "type": "integer",
5498                    "revisions": {
5499                        "v6.0.0": True,
5500                        "v7.0.0": True,
5501                        "v6.0.5": True,
5502                        "v6.4.4": True,
5503                        "v6.4.0": True,
5504                        "v6.4.1": True,
5505                        "v6.2.0": True,
5506                        "v6.2.3": True,
5507                        "v6.2.5": True,
5508                        "v6.2.7": True,
5509                        "v6.0.11": True
5510                    }
5511                },
5512                "note_ms_response": {
5513                    "type": "integer",
5514                    "revisions": {
5515                        "v6.0.0": True,
5516                        "v7.0.0": True,
5517                        "v6.0.5": True,
5518                        "v6.4.4": True,
5519                        "v6.4.0": True,
5520                        "v6.4.1": True,
5521                        "v6.2.0": True,
5522                        "v6.2.3": True,
5523                        "v6.2.5": True,
5524                        "v6.2.7": True,
5525                        "v6.0.11": True
5526                    }
5527                },
5528                "create_pdp_request": {
5529                    "type": "integer",
5530                    "revisions": {
5531                        "v6.0.0": True,
5532                        "v7.0.0": True,
5533                        "v6.0.5": True,
5534                        "v6.4.4": True,
5535                        "v6.4.0": True,
5536                        "v6.4.1": True,
5537                        "v6.2.0": True,
5538                        "v6.2.3": True,
5539                        "v6.2.5": True,
5540                        "v6.2.7": True,
5541                        "v6.0.11": True
5542                    }
5543                },
5544                "send_route_request": {
5545                    "type": "integer",
5546                    "revisions": {
5547                        "v6.0.0": True,
5548                        "v7.0.0": True,
5549                        "v6.0.5": True,
5550                        "v6.4.4": True,
5551                        "v6.4.0": True,
5552                        "v6.4.1": True,
5553                        "v6.2.0": True,
5554                        "v6.2.3": True,
5555                        "v6.2.5": True,
5556                        "v6.2.7": True,
5557                        "v6.0.11": True
5558                    }
5559                },
5560                "mbms_notify_rej_response": {
5561                    "type": "integer",
5562                    "revisions": {
5563                        "v6.0.0": True,
5564                        "v7.0.0": True,
5565                        "v6.0.5": True,
5566                        "v6.4.4": True,
5567                        "v6.4.0": True,
5568                        "v6.4.1": True,
5569                        "v6.2.0": True,
5570                        "v6.2.3": True,
5571                        "v6.2.5": True,
5572                        "v6.2.7": True,
5573                        "v6.0.11": True
5574                    }
5575                },
5576                "mbms_ses_stop_response": {
5577                    "type": "integer",
5578                    "revisions": {
5579                        "v6.0.0": True,
5580                        "v7.0.0": True,
5581                        "v6.0.5": True,
5582                        "v6.4.4": True,
5583                        "v6.4.0": True,
5584                        "v6.4.1": True,
5585                        "v6.2.0": True,
5586                        "v6.2.3": True,
5587                        "v6.2.5": True,
5588                        "v6.2.7": True,
5589                        "v6.0.11": True
5590                    }
5591                },
5592                "send_route_response": {
5593                    "type": "integer",
5594                    "revisions": {
5595                        "v6.0.0": True,
5596                        "v7.0.0": True,
5597                        "v6.0.5": True,
5598                        "v6.4.4": True,
5599                        "v6.4.0": True,
5600                        "v6.4.1": True,
5601                        "v6.2.0": True,
5602                        "v6.2.3": True,
5603                        "v6.2.5": True,
5604                        "v6.2.7": True,
5605                        "v6.0.11": True
5606                    }
5607                },
5608                "mbms_ses_start_request": {
5609                    "type": "integer",
5610                    "revisions": {
5611                        "v6.0.0": True,
5612                        "v7.0.0": True,
5613                        "v6.0.5": True,
5614                        "v6.4.4": True,
5615                        "v6.4.0": True,
5616                        "v6.4.1": True,
5617                        "v6.2.0": True,
5618                        "v6.2.3": True,
5619                        "v6.2.5": True,
5620                        "v6.2.7": True,
5621                        "v6.0.11": True
5622                    }
5623                },
5624                "error_indication": {
5625                    "type": "integer",
5626                    "revisions": {
5627                        "v6.0.0": True,
5628                        "v7.0.0": True,
5629                        "v6.0.5": True,
5630                        "v6.4.4": True,
5631                        "v6.4.0": True,
5632                        "v6.4.1": True,
5633                        "v6.2.0": True,
5634                        "v6.2.3": True,
5635                        "v6.2.5": True,
5636                        "v6.2.7": True,
5637                        "v6.0.11": True
5638                    }
5639                },
5640                "mbms_notify_request": {
5641                    "type": "integer",
5642                    "revisions": {
5643                        "v6.0.0": True,
5644                        "v7.0.0": True,
5645                        "v6.0.5": True,
5646                        "v6.4.4": True,
5647                        "v6.4.0": True,
5648                        "v6.4.1": True,
5649                        "v6.2.0": True,
5650                        "v6.2.3": True,
5651                        "v6.2.5": True,
5652                        "v6.2.7": True,
5653                        "v6.0.11": True
5654                    }
5655                },
5656                "mbms_de_reg_request": {
5657                    "type": "integer",
5658                    "revisions": {
5659                        "v6.0.0": True,
5660                        "v7.0.0": True,
5661                        "v6.0.5": True,
5662                        "v6.4.4": True,
5663                        "v6.4.0": True,
5664                        "v6.4.1": True,
5665                        "v6.2.0": True,
5666                        "v6.2.3": True,
5667                        "v6.2.5": True,
5668                        "v6.2.7": True,
5669                        "v6.0.11": True
5670                    }
5671                },
5672                "mbms_ses_stop_request": {
5673                    "type": "integer",
5674                    "revisions": {
5675                        "v6.0.0": True,
5676                        "v7.0.0": True,
5677                        "v6.0.5": True,
5678                        "v6.4.4": True,
5679                        "v6.4.0": True,
5680                        "v6.4.1": True,
5681                        "v6.2.0": True,
5682                        "v6.2.3": True,
5683                        "v6.2.5": True,
5684                        "v6.2.7": True,
5685                        "v6.0.11": True
5686                    }
5687                },
5688                "delete_pdp_request": {
5689                    "type": "integer",
5690                    "revisions": {
5691                        "v6.0.0": True,
5692                        "v7.0.0": True,
5693                        "v6.0.5": True,
5694                        "v6.4.4": True,
5695                        "v6.4.0": True,
5696                        "v6.4.1": True,
5697                        "v6.2.0": True,
5698                        "v6.2.3": True,
5699                        "v6.2.5": True,
5700                        "v6.2.7": True,
5701                        "v6.0.11": True
5702                    }
5703                },
5704                "ran_info": {
5705                    "type": "integer",
5706                    "revisions": {
5707                        "v6.0.0": True,
5708                        "v7.0.0": True,
5709                        "v6.0.5": True,
5710                        "v6.4.4": True,
5711                        "v6.4.0": True,
5712                        "v6.4.1": True,
5713                        "v6.2.0": True,
5714                        "v6.2.3": True,
5715                        "v6.2.5": True,
5716                        "v6.2.7": True,
5717                        "v6.0.11": True
5718                    }
5719                },
5720                "delete_pdp_response": {
5721                    "type": "integer",
5722                    "revisions": {
5723                        "v6.0.0": True,
5724                        "v7.0.0": True,
5725                        "v6.0.5": True,
5726                        "v6.4.4": True,
5727                        "v6.4.0": True,
5728                        "v6.4.1": True,
5729                        "v6.2.0": True,
5730                        "v6.2.3": True,
5731                        "v6.2.5": True,
5732                        "v6.2.7": True,
5733                        "v6.0.11": True
5734                    }
5735                },
5736                "relocation_cancel_response": {
5737                    "type": "integer",
5738                    "revisions": {
5739                        "v6.0.0": True,
5740                        "v7.0.0": True,
5741                        "v6.0.5": True,
5742                        "v6.4.4": True,
5743                        "v6.4.0": True,
5744                        "v6.4.1": True,
5745                        "v6.2.0": True,
5746                        "v6.2.3": True,
5747                        "v6.2.5": True,
5748                        "v6.2.7": True,
5749                        "v6.0.11": True
5750                    }
5751                },
5752                "note_ms_request": {
5753                    "type": "integer",
5754                    "revisions": {
5755                        "v6.0.0": True,
5756                        "v7.0.0": True,
5757                        "v6.0.5": True,
5758                        "v6.4.4": True,
5759                        "v6.4.0": True,
5760                        "v6.4.1": True,
5761                        "v6.2.0": True,
5762                        "v6.2.3": True,
5763                        "v6.2.5": True,
5764                        "v6.2.7": True,
5765                        "v6.0.11": True
5766                    }
5767                },
5768                "fwd_relocation_complete": {
5769                    "type": "integer",
5770                    "revisions": {
5771                        "v6.0.0": True,
5772                        "v7.0.0": True,
5773                        "v6.0.5": True,
5774                        "v6.4.4": True,
5775                        "v6.4.0": True,
5776                        "v6.4.1": True,
5777                        "v6.2.0": True,
5778                        "v6.2.3": True,
5779                        "v6.2.5": True,
5780                        "v6.2.7": True,
5781                        "v6.0.11": True
5782                    }
5783                },
5784                "failure_report_response": {
5785                    "type": "integer",
5786                    "revisions": {
5787                        "v6.0.0": True,
5788                        "v7.0.0": True,
5789                        "v6.0.5": True,
5790                        "v6.4.4": True,
5791                        "v6.4.0": True,
5792                        "v6.4.1": True,
5793                        "v6.2.0": True,
5794                        "v6.2.3": True,
5795                        "v6.2.5": True,
5796                        "v6.2.7": True,
5797                        "v6.0.11": True
5798                    }
5799                },
5800                "mbms_notify_response": {
5801                    "type": "integer",
5802                    "revisions": {
5803                        "v6.0.0": True,
5804                        "v7.0.0": True,
5805                        "v6.0.5": True,
5806                        "v6.4.4": True,
5807                        "v6.4.0": True,
5808                        "v6.4.1": True,
5809                        "v6.2.0": True,
5810                        "v6.2.3": True,
5811                        "v6.2.5": True,
5812                        "v6.2.7": True,
5813                        "v6.0.11": True
5814                    }
5815                },
5816                "pdu_notify_rej_request": {
5817                    "type": "integer",
5818                    "revisions": {
5819                        "v6.0.0": True,
5820                        "v7.0.0": True,
5821                        "v6.0.5": True,
5822                        "v6.4.4": True,
5823                        "v6.4.0": True,
5824                        "v6.4.1": True,
5825                        "v6.2.0": True,
5826                        "v6.2.3": True,
5827                        "v6.2.5": True,
5828                        "v6.2.7": True,
5829                        "v6.0.11": True
5830                    }
5831                },
5832                "fwd_srns_context": {
5833                    "type": "integer",
5834                    "revisions": {
5835                        "v6.0.0": True,
5836                        "v7.0.0": True,
5837                        "v6.0.5": True,
5838                        "v6.4.4": True,
5839                        "v6.4.0": True,
5840                        "v6.4.1": True,
5841                        "v6.2.0": True,
5842                        "v6.2.3": True,
5843                        "v6.2.5": True,
5844                        "v6.2.7": True,
5845                        "v6.0.11": True
5846                    }
5847                },
5848                "version_not_support": {
5849                    "type": "integer",
5850                    "revisions": {
5851                        "v6.0.0": True,
5852                        "v7.0.0": True,
5853                        "v6.0.5": True,
5854                        "v6.4.4": True,
5855                        "v6.4.0": True,
5856                        "v6.4.1": True,
5857                        "v6.2.0": True,
5858                        "v6.2.3": True,
5859                        "v6.2.5": True,
5860                        "v6.2.7": True,
5861                        "v6.0.11": True
5862                    }
5863                },
5864                "mbms_notify_rej_request": {
5865                    "type": "integer",
5866                    "revisions": {
5867                        "v6.0.0": True,
5868                        "v7.0.0": True,
5869                        "v6.0.5": True,
5870                        "v6.4.4": True,
5871                        "v6.4.0": True,
5872                        "v6.4.1": True,
5873                        "v6.2.0": True,
5874                        "v6.2.3": True,
5875                        "v6.2.5": True,
5876                        "v6.2.7": True,
5877                        "v6.0.11": True
5878                    }
5879                },
5880                "delete_mbms_response": {
5881                    "type": "integer",
5882                    "revisions": {
5883                        "v6.0.0": True,
5884                        "v7.0.0": True,
5885                        "v6.0.5": True,
5886                        "v6.4.4": True,
5887                        "v6.4.0": True,
5888                        "v6.4.1": True,
5889                        "v6.2.0": True,
5890                        "v6.2.3": True,
5891                        "v6.2.5": True,
5892                        "v6.2.7": True,
5893                        "v6.0.11": True
5894                    }
5895                },
5896                "delete_aa_pdp_response": {
5897                    "type": "integer",
5898                    "revisions": {
5899                        "v6.0.0": True,
5900                        "v7.0.0": True,
5901                        "v6.0.5": True,
5902                        "v6.4.4": True,
5903                        "v6.4.0": True,
5904                        "v6.4.1": True,
5905                        "v6.2.0": True,
5906                        "v6.2.3": True,
5907                        "v6.2.5": True,
5908                        "v6.2.7": True,
5909                        "v6.0.11": True
5910                    }
5911                },
5912                "fwd_srns_context_ack": {
5913                    "type": "integer",
5914                    "revisions": {
5915                        "v6.0.0": True,
5916                        "v7.0.0": True,
5917                        "v6.0.5": True,
5918                        "v6.4.4": True,
5919                        "v6.4.0": True,
5920                        "v6.4.1": True,
5921                        "v6.2.0": True,
5922                        "v6.2.3": True,
5923                        "v6.2.5": True,
5924                        "v6.2.7": True,
5925                        "v6.0.11": True
5926                    }
5927                },
5928                "sgsn_context_response": {
5929                    "type": "integer",
5930                    "revisions": {
5931                        "v6.0.0": True,
5932                        "v7.0.0": True,
5933                        "v6.0.5": True,
5934                        "v6.4.4": True,
5935                        "v6.4.0": True,
5936                        "v6.4.1": True,
5937                        "v6.2.0": True,
5938                        "v6.2.3": True,
5939                        "v6.2.5": True,
5940                        "v6.2.7": True,
5941                        "v6.0.11": True
5942                    }
5943                },
5944                "failure_report_request": {
5945                    "type": "integer",
5946                    "revisions": {
5947                        "v6.0.0": True,
5948                        "v7.0.0": True,
5949                        "v6.0.5": True,
5950                        "v6.4.4": True,
5951                        "v6.4.0": True,
5952                        "v6.4.1": True,
5953                        "v6.2.0": True,
5954                        "v6.2.3": True,
5955                        "v6.2.5": True,
5956                        "v6.2.7": True,
5957                        "v6.0.11": True
5958                    }
5959                },
5960                "sgsn_context_request": {
5961                    "type": "integer",
5962                    "revisions": {
5963                        "v6.0.0": True,
5964                        "v7.0.0": True,
5965                        "v6.0.5": True,
5966                        "v6.4.4": True,
5967                        "v6.4.0": True,
5968                        "v6.4.1": True,
5969                        "v6.2.0": True,
5970                        "v6.2.3": True,
5971                        "v6.2.5": True,
5972                        "v6.2.7": True,
5973                        "v6.0.11": True
5974                    }
5975                },
5976                "pdu_notify_response": {
5977                    "type": "integer",
5978                    "revisions": {
5979                        "v6.0.0": True,
5980                        "v7.0.0": True,
5981                        "v6.0.5": True,
5982                        "v6.4.4": True,
5983                        "v6.4.0": True,
5984                        "v6.4.1": True,
5985                        "v6.2.0": True,
5986                        "v6.2.3": True,
5987                        "v6.2.5": True,
5988                        "v6.2.7": True,
5989                        "v6.0.11": True
5990                    }
5991                },
5992                "mbms_de_reg_response": {
5993                    "type": "integer",
5994                    "revisions": {
5995                        "v6.0.0": True,
5996                        "v7.0.0": True,
5997                        "v6.0.5": True,
5998                        "v6.4.4": True,
5999                        "v6.4.0": True,
6000                        "v6.4.1": True,
6001                        "v6.2.0": True,
6002                        "v6.2.3": True,
6003                        "v6.2.5": True,
6004                        "v6.2.7": True,
6005                        "v6.0.11": True
6006                    }
6007                },
6008                "update_mbms_request": {
6009                    "type": "integer",
6010                    "revisions": {
6011                        "v6.0.0": True,
6012                        "v7.0.0": True,
6013                        "v6.0.5": True,
6014                        "v6.4.4": True,
6015                        "v6.4.0": True,
6016                        "v6.4.1": True,
6017                        "v6.2.0": True,
6018                        "v6.2.3": True,
6019                        "v6.2.5": True,
6020                        "v6.2.7": True,
6021                        "v6.0.11": True
6022                    }
6023                },
6024                "sgsn_context_ack": {
6025                    "type": "integer",
6026                    "revisions": {
6027                        "v6.0.0": True,
6028                        "v7.0.0": True,
6029                        "v6.0.5": True,
6030                        "v6.4.4": True,
6031                        "v6.4.0": True,
6032                        "v6.4.1": True,
6033                        "v6.2.0": True,
6034                        "v6.2.3": True,
6035                        "v6.2.5": True,
6036                        "v6.2.7": True,
6037                        "v6.0.11": True
6038                    }
6039                }
6040            },
6041            "revisions": {
6042                "v6.0.0": True,
6043                "v7.0.0": True,
6044                "v6.0.5": True,
6045                "v6.4.4": True,
6046                "v6.4.0": True,
6047                "v6.4.1": True,
6048                "v6.2.0": True,
6049                "v6.2.3": True,
6050                "v6.2.5": True,
6051                "v6.2.7": True,
6052                "v6.0.11": True
6053            }
6054        },
6055        "log_msisdn_prefix": {
6056            "type": "string",
6057            "revisions": {
6058                "v6.0.0": True,
6059                "v7.0.0": True,
6060                "v6.0.5": True,
6061                "v6.4.4": True,
6062                "v6.4.0": True,
6063                "v6.4.1": True,
6064                "v6.2.0": True,
6065                "v6.2.3": True,
6066                "v6.2.5": True,
6067                "v6.2.7": True,
6068                "v6.0.11": True
6069            }
6070        },
6071        "ie_white_list_v2": {
6072            "type": "string",
6073            "revisions": {
6074                "v6.0.0": True,
6075                "v7.0.0": False,
6076                "v6.0.5": True,
6077                "v6.4.4": True,
6078                "v6.4.0": True,
6079                "v6.4.1": True,
6080                "v6.2.0": True,
6081                "v6.2.3": True,
6082                "v6.2.5": True,
6083                "v6.2.7": True,
6084                "v6.0.11": True
6085            }
6086        },
6087        "invalid_reserved_field": {
6088            "type": "string",
6089            "options": [
6090                {
6091                    "value": "allow",
6092                    "revisions": {
6093                        "v6.0.0": True,
6094                        "v7.0.0": True,
6095                        "v6.0.5": True,
6096                        "v6.4.4": True,
6097                        "v6.4.0": True,
6098                        "v6.4.1": True,
6099                        "v6.2.0": True,
6100                        "v6.2.3": True,
6101                        "v6.2.5": True,
6102                        "v6.2.7": True,
6103                        "v6.0.11": True
6104                    }
6105                },
6106                {
6107                    "value": "deny",
6108                    "revisions": {
6109                        "v6.0.0": True,
6110                        "v7.0.0": True,
6111                        "v6.0.5": True,
6112                        "v6.4.4": True,
6113                        "v6.4.0": True,
6114                        "v6.4.1": True,
6115                        "v6.2.0": True,
6116                        "v6.2.3": True,
6117                        "v6.2.5": True,
6118                        "v6.2.7": True,
6119                        "v6.0.11": True
6120                    }
6121                }
6122            ],
6123            "revisions": {
6124                "v6.0.0": True,
6125                "v7.0.0": True,
6126                "v6.0.5": True,
6127                "v6.4.4": True,
6128                "v6.4.0": True,
6129                "v6.4.1": True,
6130                "v6.2.0": True,
6131                "v6.2.3": True,
6132                "v6.2.5": True,
6133                "v6.2.7": True,
6134                "v6.0.11": True
6135            }
6136        },
6137        "message_rate_limit_v2": {
6138            "type": "dict",
6139            "children": {
6140                "delete_session_request": {
6141                    "type": "integer",
6142                    "revisions": {
6143                        "v6.0.0": True,
6144                        "v7.0.0": True,
6145                        "v6.0.5": True,
6146                        "v6.4.4": True,
6147                        "v6.4.0": True,
6148                        "v6.4.1": True,
6149                        "v6.2.0": True,
6150                        "v6.2.3": True,
6151                        "v6.2.5": True,
6152                        "v6.2.7": True,
6153                        "v6.0.11": True
6154                    }
6155                },
6156                "echo_request": {
6157                    "type": "integer",
6158                    "revisions": {
6159                        "v6.0.0": True,
6160                        "v7.0.0": True,
6161                        "v6.0.5": True,
6162                        "v6.4.4": True,
6163                        "v6.4.0": True,
6164                        "v6.4.1": True,
6165                        "v6.2.0": True,
6166                        "v6.2.3": True,
6167                        "v6.2.5": True,
6168                        "v6.2.7": True,
6169                        "v6.0.11": True
6170                    }
6171                },
6172                "create_session_request": {
6173                    "type": "integer",
6174                    "revisions": {
6175                        "v6.0.0": True,
6176                        "v7.0.0": True,
6177                        "v6.0.5": True,
6178                        "v6.4.4": True,
6179                        "v6.4.0": True,
6180                        "v6.4.1": True,
6181                        "v6.2.0": True,
6182                        "v6.2.3": True,
6183                        "v6.2.5": True,
6184                        "v6.2.7": True,
6185                        "v6.0.11": True
6186                    }
6187                }
6188            },
6189            "revisions": {
6190                "v6.0.0": True,
6191                "v7.0.0": True,
6192                "v6.0.5": True,
6193                "v6.4.4": True,
6194                "v6.4.0": True,
6195                "v6.4.1": True,
6196                "v6.2.0": True,
6197                "v6.2.3": True,
6198                "v6.2.5": True,
6199                "v6.2.7": True,
6200                "v6.0.11": True
6201            }
6202        },
6203        "authorized_sgsns6": {
6204            "type": "string",
6205            "revisions": {
6206                "v6.4.4": True,
6207                "v7.0.0": True,
6208                "v6.4.0": True,
6209                "v6.4.1": False
6210            }
6211        },
6212        "message_rate_limit_v0": {
6213            "type": "dict",
6214            "children": {
6215                "create_pdp_request": {
6216                    "type": "integer",
6217                    "revisions": {
6218                        "v6.0.0": True,
6219                        "v7.0.0": True,
6220                        "v6.0.5": True,
6221                        "v6.4.4": True,
6222                        "v6.4.0": True,
6223                        "v6.4.1": True,
6224                        "v6.2.0": True,
6225                        "v6.2.3": True,
6226                        "v6.2.5": True,
6227                        "v6.2.7": True,
6228                        "v6.0.11": True
6229                    }
6230                },
6231                "delete_pdp_request": {
6232                    "type": "integer",
6233                    "revisions": {
6234                        "v6.0.0": True,
6235                        "v7.0.0": True,
6236                        "v6.0.5": True,
6237                        "v6.4.4": True,
6238                        "v6.4.0": True,
6239                        "v6.4.1": True,
6240                        "v6.2.0": True,
6241                        "v6.2.3": True,
6242                        "v6.2.5": True,
6243                        "v6.2.7": True,
6244                        "v6.0.11": True
6245                    }
6246                },
6247                "echo_request": {
6248                    "type": "integer",
6249                    "revisions": {
6250                        "v6.0.0": True,
6251                        "v7.0.0": True,
6252                        "v6.0.5": True,
6253                        "v6.4.4": True,
6254                        "v6.4.0": True,
6255                        "v6.4.1": True,
6256                        "v6.2.0": True,
6257                        "v6.2.3": True,
6258                        "v6.2.5": True,
6259                        "v6.2.7": True,
6260                        "v6.0.11": True
6261                    }
6262                }
6263            },
6264            "revisions": {
6265                "v6.0.0": True,
6266                "v7.0.0": True,
6267                "v6.0.5": True,
6268                "v6.4.4": True,
6269                "v6.4.0": True,
6270                "v6.4.1": True,
6271                "v6.2.0": True,
6272                "v6.2.3": True,
6273                "v6.2.5": True,
6274                "v6.2.7": True,
6275                "v6.0.11": True
6276            }
6277        },
6278        "message_rate_limit_v1": {
6279            "type": "dict",
6280            "children": {
6281                "create_pdp_request": {
6282                    "type": "integer",
6283                    "revisions": {
6284                        "v6.0.0": True,
6285                        "v7.0.0": True,
6286                        "v6.0.5": True,
6287                        "v6.4.4": True,
6288                        "v6.4.0": True,
6289                        "v6.4.1": True,
6290                        "v6.2.0": True,
6291                        "v6.2.3": True,
6292                        "v6.2.5": True,
6293                        "v6.2.7": True,
6294                        "v6.0.11": True
6295                    }
6296                },
6297                "delete_pdp_request": {
6298                    "type": "integer",
6299                    "revisions": {
6300                        "v6.0.0": True,
6301                        "v7.0.0": True,
6302                        "v6.0.5": True,
6303                        "v6.4.4": True,
6304                        "v6.4.0": True,
6305                        "v6.4.1": True,
6306                        "v6.2.0": True,
6307                        "v6.2.3": True,
6308                        "v6.2.5": True,
6309                        "v6.2.7": True,
6310                        "v6.0.11": True
6311                    }
6312                },
6313                "echo_request": {
6314                    "type": "integer",
6315                    "revisions": {
6316                        "v6.0.0": True,
6317                        "v7.0.0": True,
6318                        "v6.0.5": True,
6319                        "v6.4.4": True,
6320                        "v6.4.0": True,
6321                        "v6.4.1": True,
6322                        "v6.2.0": True,
6323                        "v6.2.3": True,
6324                        "v6.2.5": True,
6325                        "v6.2.7": True,
6326                        "v6.0.11": True
6327                    }
6328                }
6329            },
6330            "revisions": {
6331                "v6.0.0": True,
6332                "v7.0.0": True,
6333                "v6.0.5": True,
6334                "v6.4.4": True,
6335                "v6.4.0": True,
6336                "v6.4.1": True,
6337                "v6.2.0": True,
6338                "v6.2.3": True,
6339                "v6.2.5": True,
6340                "v6.2.7": True,
6341                "v6.0.11": True
6342            }
6343        },
6344        "log_freq": {
6345            "type": "integer",
6346            "revisions": {
6347                "v6.0.0": True,
6348                "v7.0.0": True,
6349                "v6.0.5": True,
6350                "v6.4.4": True,
6351                "v6.4.0": True,
6352                "v6.4.1": True,
6353                "v6.2.0": True,
6354                "v6.2.3": True,
6355                "v6.2.5": True,
6356                "v6.2.7": True,
6357                "v6.0.11": True
6358            }
6359        },
6360        "ie_validation": {
6361            "type": "dict",
6362            "children": {
6363                "gsn_addr": {
6364                    "type": "string",
6365                    "options": [
6366                        {
6367                            "value": "enable",
6368                            "revisions": {
6369                                "v6.0.0": True,
6370                                "v7.0.0": True,
6371                                "v6.0.5": True,
6372                                "v6.4.4": True,
6373                                "v6.4.0": True,
6374                                "v6.4.1": True,
6375                                "v6.2.0": True,
6376                                "v6.2.3": True,
6377                                "v6.2.5": True,
6378                                "v6.2.7": True,
6379                                "v6.0.11": True
6380                            }
6381                        },
6382                        {
6383                            "value": "disable",
6384                            "revisions": {
6385                                "v6.0.0": True,
6386                                "v7.0.0": True,
6387                                "v6.0.5": True,
6388                                "v6.4.4": True,
6389                                "v6.4.0": True,
6390                                "v6.4.1": True,
6391                                "v6.2.0": True,
6392                                "v6.2.3": True,
6393                                "v6.2.5": True,
6394                                "v6.2.7": True,
6395                                "v6.0.11": True
6396                            }
6397                        }
6398                    ],
6399                    "revisions": {
6400                        "v6.0.0": True,
6401                        "v7.0.0": True,
6402                        "v6.0.5": True,
6403                        "v6.4.4": True,
6404                        "v6.4.0": True,
6405                        "v6.4.1": True,
6406                        "v6.2.0": True,
6407                        "v6.2.3": True,
6408                        "v6.2.5": True,
6409                        "v6.2.7": True,
6410                        "v6.0.11": True
6411                    }
6412                },
6413                "ms_tzone": {
6414                    "type": "string",
6415                    "options": [
6416                        {
6417                            "value": "enable",
6418                            "revisions": {
6419                                "v6.0.0": True,
6420                                "v7.0.0": True,
6421                                "v6.0.5": True,
6422                                "v6.4.4": True,
6423                                "v6.4.0": True,
6424                                "v6.4.1": True,
6425                                "v6.2.0": True,
6426                                "v6.2.3": True,
6427                                "v6.2.5": True,
6428                                "v6.2.7": True,
6429                                "v6.0.11": True
6430                            }
6431                        },
6432                        {
6433                            "value": "disable",
6434                            "revisions": {
6435                                "v6.0.0": True,
6436                                "v7.0.0": True,
6437                                "v6.0.5": True,
6438                                "v6.4.4": True,
6439                                "v6.4.0": True,
6440                                "v6.4.1": True,
6441                                "v6.2.0": True,
6442                                "v6.2.3": True,
6443                                "v6.2.5": True,
6444                                "v6.2.7": True,
6445                                "v6.0.11": True
6446                            }
6447                        }
6448                    ],
6449                    "revisions": {
6450                        "v6.0.0": True,
6451                        "v7.0.0": True,
6452                        "v6.0.5": True,
6453                        "v6.4.4": True,
6454                        "v6.4.0": True,
6455                        "v6.4.1": True,
6456                        "v6.2.0": True,
6457                        "v6.2.3": True,
6458                        "v6.2.5": True,
6459                        "v6.2.7": True,
6460                        "v6.0.11": True
6461                    }
6462                },
6463                "nsapi": {
6464                    "type": "string",
6465                    "options": [
6466                        {
6467                            "value": "enable",
6468                            "revisions": {
6469                                "v6.0.0": True,
6470                                "v7.0.0": True,
6471                                "v6.0.5": True,
6472                                "v6.4.4": True,
6473                                "v6.4.0": True,
6474                                "v6.4.1": True,
6475                                "v6.2.0": True,
6476                                "v6.2.3": True,
6477                                "v6.2.5": True,
6478                                "v6.2.7": True,
6479                                "v6.0.11": True
6480                            }
6481                        },
6482                        {
6483                            "value": "disable",
6484                            "revisions": {
6485                                "v6.0.0": True,
6486                                "v7.0.0": True,
6487                                "v6.0.5": True,
6488                                "v6.4.4": True,
6489                                "v6.4.0": True,
6490                                "v6.4.1": True,
6491                                "v6.2.0": True,
6492                                "v6.2.3": True,
6493                                "v6.2.5": True,
6494                                "v6.2.7": True,
6495                                "v6.0.11": True
6496                            }
6497                        }
6498                    ],
6499                    "revisions": {
6500                        "v6.0.0": True,
6501                        "v7.0.0": True,
6502                        "v6.0.5": True,
6503                        "v6.4.4": True,
6504                        "v6.4.0": True,
6505                        "v6.4.1": True,
6506                        "v6.2.0": True,
6507                        "v6.2.3": True,
6508                        "v6.2.5": True,
6509                        "v6.2.7": True,
6510                        "v6.0.11": True
6511                    }
6512                },
6513                "msisdn": {
6514                    "type": "string",
6515                    "options": [
6516                        {
6517                            "value": "enable",
6518                            "revisions": {
6519                                "v6.0.0": True,
6520                                "v7.0.0": True,
6521                                "v6.0.5": True,
6522                                "v6.4.4": True,
6523                                "v6.4.0": True,
6524                                "v6.4.1": True,
6525                                "v6.2.0": True,
6526                                "v6.2.3": True,
6527                                "v6.2.5": True,
6528                                "v6.2.7": True,
6529                                "v6.0.11": True
6530                            }
6531                        },
6532                        {
6533                            "value": "disable",
6534                            "revisions": {
6535                                "v6.0.0": True,
6536                                "v7.0.0": True,
6537                                "v6.0.5": True,
6538                                "v6.4.4": True,
6539                                "v6.4.0": True,
6540                                "v6.4.1": True,
6541                                "v6.2.0": True,
6542                                "v6.2.3": True,
6543                                "v6.2.5": True,
6544                                "v6.2.7": True,
6545                                "v6.0.11": True
6546                            }
6547                        }
6548                    ],
6549                    "revisions": {
6550                        "v6.0.0": True,
6551                        "v7.0.0": True,
6552                        "v6.0.5": True,
6553                        "v6.4.4": True,
6554                        "v6.4.0": True,
6555                        "v6.4.1": True,
6556                        "v6.2.0": True,
6557                        "v6.2.3": True,
6558                        "v6.2.5": True,
6559                        "v6.2.7": True,
6560                        "v6.0.11": True
6561                    }
6562                },
6563                "selection_mode": {
6564                    "type": "string",
6565                    "options": [
6566                        {
6567                            "value": "enable",
6568                            "revisions": {
6569                                "v6.0.0": True,
6570                                "v7.0.0": True,
6571                                "v6.0.5": True,
6572                                "v6.4.4": True,
6573                                "v6.4.0": True,
6574                                "v6.4.1": True,
6575                                "v6.2.0": True,
6576                                "v6.2.3": True,
6577                                "v6.2.5": True,
6578                                "v6.2.7": True,
6579                                "v6.0.11": True
6580                            }
6581                        },
6582                        {
6583                            "value": "disable",
6584                            "revisions": {
6585                                "v6.0.0": True,
6586                                "v7.0.0": True,
6587                                "v6.0.5": True,
6588                                "v6.4.4": True,
6589                                "v6.4.0": True,
6590                                "v6.4.1": True,
6591                                "v6.2.0": True,
6592                                "v6.2.3": True,
6593                                "v6.2.5": True,
6594                                "v6.2.7": True,
6595                                "v6.0.11": True
6596                            }
6597                        }
6598                    ],
6599                    "revisions": {
6600                        "v6.0.0": True,
6601                        "v7.0.0": True,
6602                        "v6.0.5": True,
6603                        "v6.4.4": True,
6604                        "v6.4.0": True,
6605                        "v6.4.1": True,
6606                        "v6.2.0": True,
6607                        "v6.2.3": True,
6608                        "v6.2.5": True,
6609                        "v6.2.7": True,
6610                        "v6.0.11": True
6611                    }
6612                },
6613                "uli": {
6614                    "type": "string",
6615                    "options": [
6616                        {
6617                            "value": "enable",
6618                            "revisions": {
6619                                "v6.0.0": True,
6620                                "v7.0.0": True,
6621                                "v6.0.5": True,
6622                                "v6.4.4": True,
6623                                "v6.4.0": True,
6624                                "v6.4.1": True,
6625                                "v6.2.0": True,
6626                                "v6.2.3": True,
6627                                "v6.2.5": True,
6628                                "v6.2.7": True,
6629                                "v6.0.11": True
6630                            }
6631                        },
6632                        {
6633                            "value": "disable",
6634                            "revisions": {
6635                                "v6.0.0": True,
6636                                "v7.0.0": True,
6637                                "v6.0.5": True,
6638                                "v6.4.4": True,
6639                                "v6.4.0": True,
6640                                "v6.4.1": True,
6641                                "v6.2.0": True,
6642                                "v6.2.3": True,
6643                                "v6.2.5": True,
6644                                "v6.2.7": True,
6645                                "v6.0.11": True
6646                            }
6647                        }
6648                    ],
6649                    "revisions": {
6650                        "v6.0.0": True,
6651                        "v7.0.0": True,
6652                        "v6.0.5": True,
6653                        "v6.4.4": True,
6654                        "v6.4.0": True,
6655                        "v6.4.1": True,
6656                        "v6.2.0": True,
6657                        "v6.2.3": True,
6658                        "v6.2.5": True,
6659                        "v6.2.7": True,
6660                        "v6.0.11": True
6661                    }
6662                },
6663                "rat_type": {
6664                    "type": "string",
6665                    "options": [
6666                        {
6667                            "value": "enable",
6668                            "revisions": {
6669                                "v6.0.0": True,
6670                                "v7.0.0": True,
6671                                "v6.0.5": True,
6672                                "v6.4.4": True,
6673                                "v6.4.0": True,
6674                                "v6.4.1": True,
6675                                "v6.2.0": True,
6676                                "v6.2.3": True,
6677                                "v6.2.5": True,
6678                                "v6.2.7": True,
6679                                "v6.0.11": True
6680                            }
6681                        },
6682                        {
6683                            "value": "disable",
6684                            "revisions": {
6685                                "v6.0.0": True,
6686                                "v7.0.0": True,
6687                                "v6.0.5": True,
6688                                "v6.4.4": True,
6689                                "v6.4.0": True,
6690                                "v6.4.1": True,
6691                                "v6.2.0": True,
6692                                "v6.2.3": True,
6693                                "v6.2.5": True,
6694                                "v6.2.7": True,
6695                                "v6.0.11": True
6696                            }
6697                        }
6698                    ],
6699                    "revisions": {
6700                        "v6.0.0": True,
6701                        "v7.0.0": True,
6702                        "v6.0.5": True,
6703                        "v6.4.4": True,
6704                        "v6.4.0": True,
6705                        "v6.4.1": True,
6706                        "v6.2.0": True,
6707                        "v6.2.3": True,
6708                        "v6.2.5": True,
6709                        "v6.2.7": True,
6710                        "v6.0.11": True
6711                    }
6712                },
6713                "end_user_addr": {
6714                    "type": "string",
6715                    "options": [
6716                        {
6717                            "value": "enable",
6718                            "revisions": {
6719                                "v6.0.0": True,
6720                                "v7.0.0": True,
6721                                "v6.0.5": True,
6722                                "v6.4.4": True,
6723                                "v6.4.0": True,
6724                                "v6.4.1": True,
6725                                "v6.2.0": True,
6726                                "v6.2.3": True,
6727                                "v6.2.5": True,
6728                                "v6.2.7": True,
6729                                "v6.0.11": True
6730                            }
6731                        },
6732                        {
6733                            "value": "disable",
6734                            "revisions": {
6735                                "v6.0.0": True,
6736                                "v7.0.0": True,
6737                                "v6.0.5": True,
6738                                "v6.4.4": True,
6739                                "v6.4.0": True,
6740                                "v6.4.1": True,
6741                                "v6.2.0": True,
6742                                "v6.2.3": True,
6743                                "v6.2.5": True,
6744                                "v6.2.7": True,
6745                                "v6.0.11": True
6746                            }
6747                        }
6748                    ],
6749                    "revisions": {
6750                        "v6.0.0": True,
6751                        "v7.0.0": True,
6752                        "v6.0.5": True,
6753                        "v6.4.4": True,
6754                        "v6.4.0": True,
6755                        "v6.4.1": True,
6756                        "v6.2.0": True,
6757                        "v6.2.3": True,
6758                        "v6.2.5": True,
6759                        "v6.2.7": True,
6760                        "v6.0.11": True
6761                    }
6762                },
6763                "rai": {
6764                    "type": "string",
6765                    "options": [
6766                        {
6767                            "value": "enable",
6768                            "revisions": {
6769                                "v6.0.0": True,
6770                                "v7.0.0": True,
6771                                "v6.0.5": True,
6772                                "v6.4.4": True,
6773                                "v6.4.0": True,
6774                                "v6.4.1": True,
6775                                "v6.2.0": True,
6776                                "v6.2.3": True,
6777                                "v6.2.5": True,
6778                                "v6.2.7": True,
6779                                "v6.0.11": True
6780                            }
6781                        },
6782                        {
6783                            "value": "disable",
6784                            "revisions": {
6785                                "v6.0.0": True,
6786                                "v7.0.0": True,
6787                                "v6.0.5": True,
6788                                "v6.4.4": True,
6789                                "v6.4.0": True,
6790                                "v6.4.1": True,
6791                                "v6.2.0": True,
6792                                "v6.2.3": True,
6793                                "v6.2.5": True,
6794                                "v6.2.7": True,
6795                                "v6.0.11": True
6796                            }
6797                        }
6798                    ],
6799                    "revisions": {
6800                        "v6.0.0": True,
6801                        "v7.0.0": True,
6802                        "v6.0.5": True,
6803                        "v6.4.4": True,
6804                        "v6.4.0": True,
6805                        "v6.4.1": True,
6806                        "v6.2.0": True,
6807                        "v6.2.3": True,
6808                        "v6.2.5": True,
6809                        "v6.2.7": True,
6810                        "v6.0.11": True
6811                    }
6812                },
6813                "charging_gateway_addr": {
6814                    "type": "string",
6815                    "options": [
6816                        {
6817                            "value": "enable",
6818                            "revisions": {
6819                                "v6.0.0": True,
6820                                "v7.0.0": True,
6821                                "v6.0.5": True,
6822                                "v6.4.4": True,
6823                                "v6.4.0": True,
6824                                "v6.4.1": True,
6825                                "v6.2.0": True,
6826                                "v6.2.3": True,
6827                                "v6.2.5": True,
6828                                "v6.2.7": True,
6829                                "v6.0.11": True
6830                            }
6831                        },
6832                        {
6833                            "value": "disable",
6834                            "revisions": {
6835                                "v6.0.0": True,
6836                                "v7.0.0": True,
6837                                "v6.0.5": True,
6838                                "v6.4.4": True,
6839                                "v6.4.0": True,
6840                                "v6.4.1": True,
6841                                "v6.2.0": True,
6842                                "v6.2.3": True,
6843                                "v6.2.5": True,
6844                                "v6.2.7": True,
6845                                "v6.0.11": True
6846                            }
6847                        }
6848                    ],
6849                    "revisions": {
6850                        "v6.0.0": True,
6851                        "v7.0.0": True,
6852                        "v6.0.5": True,
6853                        "v6.4.4": True,
6854                        "v6.4.0": True,
6855                        "v6.4.1": True,
6856                        "v6.2.0": True,
6857                        "v6.2.3": True,
6858                        "v6.2.5": True,
6859                        "v6.2.7": True,
6860                        "v6.0.11": True
6861                    }
6862                },
6863                "pdp_context": {
6864                    "type": "string",
6865                    "options": [
6866                        {
6867                            "value": "enable",
6868                            "revisions": {
6869                                "v6.0.0": True,
6870                                "v7.0.0": True,
6871                                "v6.0.5": True,
6872                                "v6.4.4": True,
6873                                "v6.4.0": True,
6874                                "v6.4.1": True,
6875                                "v6.2.0": True,
6876                                "v6.2.3": True,
6877                                "v6.2.5": True,
6878                                "v6.2.7": True,
6879                                "v6.0.11": True
6880                            }
6881                        },
6882                        {
6883                            "value": "disable",
6884                            "revisions": {
6885                                "v6.0.0": True,
6886                                "v7.0.0": True,
6887                                "v6.0.5": True,
6888                                "v6.4.4": True,
6889                                "v6.4.0": True,
6890                                "v6.4.1": True,
6891                                "v6.2.0": True,
6892                                "v6.2.3": True,
6893                                "v6.2.5": True,
6894                                "v6.2.7": True,
6895                                "v6.0.11": True
6896                            }
6897                        }
6898                    ],
6899                    "revisions": {
6900                        "v6.0.0": True,
6901                        "v7.0.0": True,
6902                        "v6.0.5": True,
6903                        "v6.4.4": True,
6904                        "v6.4.0": True,
6905                        "v6.4.1": True,
6906                        "v6.2.0": True,
6907                        "v6.2.3": True,
6908                        "v6.2.5": True,
6909                        "v6.2.7": True,
6910                        "v6.0.11": True
6911                    }
6912                },
6913                "charging_ID": {
6914                    "type": "string",
6915                    "options": [
6916                        {
6917                            "value": "enable",
6918                            "revisions": {
6919                                "v6.0.0": True,
6920                                "v7.0.0": True,
6921                                "v6.0.5": True,
6922                                "v6.4.4": True,
6923                                "v6.4.0": True,
6924                                "v6.4.1": True,
6925                                "v6.2.0": True,
6926                                "v6.2.3": True,
6927                                "v6.2.5": True,
6928                                "v6.2.7": True,
6929                                "v6.0.11": True
6930                            }
6931                        },
6932                        {
6933                            "value": "disable",
6934                            "revisions": {
6935                                "v6.0.0": True,
6936                                "v7.0.0": True,
6937                                "v6.0.5": True,
6938                                "v6.4.4": True,
6939                                "v6.4.0": True,
6940                                "v6.4.1": True,
6941                                "v6.2.0": True,
6942                                "v6.2.3": True,
6943                                "v6.2.5": True,
6944                                "v6.2.7": True,
6945                                "v6.0.11": True
6946                            }
6947                        }
6948                    ],
6949                    "revisions": {
6950                        "v6.0.0": True,
6951                        "v7.0.0": True,
6952                        "v6.0.5": True,
6953                        "v6.4.4": True,
6954                        "v6.4.0": True,
6955                        "v6.4.1": True,
6956                        "v6.2.0": True,
6957                        "v6.2.3": True,
6958                        "v6.2.5": True,
6959                        "v6.2.7": True,
6960                        "v6.0.11": True
6961                    }
6962                },
6963                "reordering_required": {
6964                    "type": "string",
6965                    "options": [
6966                        {
6967                            "value": "enable",
6968                            "revisions": {
6969                                "v6.0.0": True,
6970                                "v7.0.0": True,
6971                                "v6.0.5": True,
6972                                "v6.4.4": True,
6973                                "v6.4.0": True,
6974                                "v6.4.1": True,
6975                                "v6.2.0": True,
6976                                "v6.2.3": True,
6977                                "v6.2.5": True,
6978                                "v6.2.7": True,
6979                                "v6.0.11": True
6980                            }
6981                        },
6982                        {
6983                            "value": "disable",
6984                            "revisions": {
6985                                "v6.0.0": True,
6986                                "v7.0.0": True,
6987                                "v6.0.5": True,
6988                                "v6.4.4": True,
6989                                "v6.4.0": True,
6990                                "v6.4.1": True,
6991                                "v6.2.0": True,
6992                                "v6.2.3": True,
6993                                "v6.2.5": True,
6994                                "v6.2.7": True,
6995                                "v6.0.11": True
6996                            }
6997                        }
6998                    ],
6999                    "revisions": {
7000                        "v6.0.0": True,
7001                        "v7.0.0": True,
7002                        "v6.0.5": True,
7003                        "v6.4.4": True,
7004                        "v6.4.0": True,
7005                        "v6.4.1": True,
7006                        "v6.2.0": True,
7007                        "v6.2.3": True,
7008                        "v6.2.5": True,
7009                        "v6.2.7": True,
7010                        "v6.0.11": True
7011                    }
7012                },
7013                "imei": {
7014                    "type": "string",
7015                    "options": [
7016                        {
7017                            "value": "enable",
7018                            "revisions": {
7019                                "v6.0.0": True,
7020                                "v7.0.0": True,
7021                                "v6.0.5": True,
7022                                "v6.4.4": True,
7023                                "v6.4.0": True,
7024                                "v6.4.1": True,
7025                                "v6.2.0": True,
7026                                "v6.2.3": True,
7027                                "v6.2.5": True,
7028                                "v6.2.7": True,
7029                                "v6.0.11": True
7030                            }
7031                        },
7032                        {
7033                            "value": "disable",
7034                            "revisions": {
7035                                "v6.0.0": True,
7036                                "v7.0.0": True,
7037                                "v6.0.5": True,
7038                                "v6.4.4": True,
7039                                "v6.4.0": True,
7040                                "v6.4.1": True,
7041                                "v6.2.0": True,
7042                                "v6.2.3": True,
7043                                "v6.2.5": True,
7044                                "v6.2.7": True,
7045                                "v6.0.11": True
7046                            }
7047                        }
7048                    ],
7049                    "revisions": {
7050                        "v6.0.0": True,
7051                        "v7.0.0": True,
7052                        "v6.0.5": True,
7053                        "v6.4.4": True,
7054                        "v6.4.0": True,
7055                        "v6.4.1": True,
7056                        "v6.2.0": True,
7057                        "v6.2.3": True,
7058                        "v6.2.5": True,
7059                        "v6.2.7": True,
7060                        "v6.0.11": True
7061                    }
7062                },
7063                "mm_context": {
7064                    "type": "string",
7065                    "options": [
7066                        {
7067                            "value": "enable",
7068                            "revisions": {
7069                                "v6.0.0": True,
7070                                "v7.0.0": True,
7071                                "v6.0.5": True,
7072                                "v6.4.4": True,
7073                                "v6.4.0": True,
7074                                "v6.4.1": True,
7075                                "v6.2.0": True,
7076                                "v6.2.3": True,
7077                                "v6.2.5": True,
7078                                "v6.2.7": True,
7079                                "v6.0.11": True
7080                            }
7081                        },
7082                        {
7083                            "value": "disable",
7084                            "revisions": {
7085                                "v6.0.0": True,
7086                                "v7.0.0": True,
7087                                "v6.0.5": True,
7088                                "v6.4.4": True,
7089                                "v6.4.0": True,
7090                                "v6.4.1": True,
7091                                "v6.2.0": True,
7092                                "v6.2.3": True,
7093                                "v6.2.5": True,
7094                                "v6.2.7": True,
7095                                "v6.0.11": True
7096                            }
7097                        }
7098                    ],
7099                    "revisions": {
7100                        "v6.0.0": True,
7101                        "v7.0.0": True,
7102                        "v6.0.5": True,
7103                        "v6.4.4": True,
7104                        "v6.4.0": True,
7105                        "v6.4.1": True,
7106                        "v6.2.0": True,
7107                        "v6.2.3": True,
7108                        "v6.2.5": True,
7109                        "v6.2.7": True,
7110                        "v6.0.11": True
7111                    }
7112                },
7113                "qos_profile": {
7114                    "type": "string",
7115                    "options": [
7116                        {
7117                            "value": "enable",
7118                            "revisions": {
7119                                "v6.0.0": True,
7120                                "v7.0.0": True,
7121                                "v6.0.5": True,
7122                                "v6.4.4": True,
7123                                "v6.4.0": True,
7124                                "v6.4.1": True,
7125                                "v6.2.0": True,
7126                                "v6.2.3": True,
7127                                "v6.2.5": True,
7128                                "v6.2.7": True,
7129                                "v6.0.11": True
7130                            }
7131                        },
7132                        {
7133                            "value": "disable",
7134                            "revisions": {
7135                                "v6.0.0": True,
7136                                "v7.0.0": True,
7137                                "v6.0.5": True,
7138                                "v6.4.4": True,
7139                                "v6.4.0": True,
7140                                "v6.4.1": True,
7141                                "v6.2.0": True,
7142                                "v6.2.3": True,
7143                                "v6.2.5": True,
7144                                "v6.2.7": True,
7145                                "v6.0.11": True
7146                            }
7147                        }
7148                    ],
7149                    "revisions": {
7150                        "v6.0.0": True,
7151                        "v7.0.0": True,
7152                        "v6.0.5": True,
7153                        "v6.4.4": True,
7154                        "v6.4.0": True,
7155                        "v6.4.1": True,
7156                        "v6.2.0": True,
7157                        "v6.2.3": True,
7158                        "v6.2.5": True,
7159                        "v6.2.7": True,
7160                        "v6.0.11": True
7161                    }
7162                },
7163                "apn_restriction": {
7164                    "type": "string",
7165                    "options": [
7166                        {
7167                            "value": "enable",
7168                            "revisions": {
7169                                "v6.0.0": True,
7170                                "v7.0.0": True,
7171                                "v6.0.5": True,
7172                                "v6.4.4": True,
7173                                "v6.4.0": True,
7174                                "v6.4.1": True,
7175                                "v6.2.0": True,
7176                                "v6.2.3": True,
7177                                "v6.2.5": True,
7178                                "v6.2.7": True,
7179                                "v6.0.11": True
7180                            }
7181                        },
7182                        {
7183                            "value": "disable",
7184                            "revisions": {
7185                                "v6.0.0": True,
7186                                "v7.0.0": True,
7187                                "v6.0.5": True,
7188                                "v6.4.4": True,
7189                                "v6.4.0": True,
7190                                "v6.4.1": True,
7191                                "v6.2.0": True,
7192                                "v6.2.3": True,
7193                                "v6.2.5": True,
7194                                "v6.2.7": True,
7195                                "v6.0.11": True
7196                            }
7197                        }
7198                    ],
7199                    "revisions": {
7200                        "v6.0.0": True,
7201                        "v7.0.0": True,
7202                        "v6.0.5": True,
7203                        "v6.4.4": True,
7204                        "v6.4.0": True,
7205                        "v6.4.1": True,
7206                        "v6.2.0": True,
7207                        "v6.2.3": True,
7208                        "v6.2.5": True,
7209                        "v6.2.7": True,
7210                        "v6.0.11": True
7211                    }
7212                },
7213                "imsi": {
7214                    "type": "string",
7215                    "options": [
7216                        {
7217                            "value": "enable",
7218                            "revisions": {
7219                                "v6.0.0": True,
7220                                "v7.0.0": True,
7221                                "v6.0.5": True,
7222                                "v6.4.4": True,
7223                                "v6.4.0": True,
7224                                "v6.4.1": True,
7225                                "v6.2.0": True,
7226                                "v6.2.3": True,
7227                                "v6.2.5": True,
7228                                "v6.2.7": True,
7229                                "v6.0.11": True
7230                            }
7231                        },
7232                        {
7233                            "value": "disable",
7234                            "revisions": {
7235                                "v6.0.0": True,
7236                                "v7.0.0": True,
7237                                "v6.0.5": True,
7238                                "v6.4.4": True,
7239                                "v6.4.0": True,
7240                                "v6.4.1": True,
7241                                "v6.2.0": True,
7242                                "v6.2.3": True,
7243                                "v6.2.5": True,
7244                                "v6.2.7": True,
7245                                "v6.0.11": True
7246                            }
7247                        }
7248                    ],
7249                    "revisions": {
7250                        "v6.0.0": True,
7251                        "v7.0.0": True,
7252                        "v6.0.5": True,
7253                        "v6.4.4": True,
7254                        "v6.4.0": True,
7255                        "v6.4.1": True,
7256                        "v6.2.0": True,
7257                        "v6.2.3": True,
7258                        "v6.2.5": True,
7259                        "v6.2.7": True,
7260                        "v6.0.11": True
7261                    }
7262                },
7263                "ms_validated": {
7264                    "type": "string",
7265                    "options": [
7266                        {
7267                            "value": "enable",
7268                            "revisions": {
7269                                "v6.0.0": True,
7270                                "v7.0.0": True,
7271                                "v6.0.5": True,
7272                                "v6.4.4": True,
7273                                "v6.4.0": True,
7274                                "v6.4.1": True,
7275                                "v6.2.0": True,
7276                                "v6.2.3": True,
7277                                "v6.2.5": True,
7278                                "v6.2.7": True,
7279                                "v6.0.11": True
7280                            }
7281                        },
7282                        {
7283                            "value": "disable",
7284                            "revisions": {
7285                                "v6.0.0": True,
7286                                "v7.0.0": True,
7287                                "v6.0.5": True,
7288                                "v6.4.4": True,
7289                                "v6.4.0": True,
7290                                "v6.4.1": True,
7291                                "v6.2.0": True,
7292                                "v6.2.3": True,
7293                                "v6.2.5": True,
7294                                "v6.2.7": True,
7295                                "v6.0.11": True
7296                            }
7297                        }
7298                    ],
7299                    "revisions": {
7300                        "v6.0.0": True,
7301                        "v7.0.0": True,
7302                        "v6.0.5": True,
7303                        "v6.4.4": True,
7304                        "v6.4.0": True,
7305                        "v6.4.1": True,
7306                        "v6.2.0": True,
7307                        "v6.2.3": True,
7308                        "v6.2.5": True,
7309                        "v6.2.7": True,
7310                        "v6.0.11": True
7311                    }
7312                }
7313            },
7314            "revisions": {
7315                "v6.0.0": True,
7316                "v7.0.0": True,
7317                "v6.0.5": True,
7318                "v6.4.4": True,
7319                "v6.4.0": True,
7320                "v6.4.1": True,
7321                "v6.2.0": True,
7322                "v6.2.3": True,
7323                "v6.2.5": True,
7324                "v6.2.7": True,
7325                "v6.0.11": True
7326            }
7327        },
7328        "invalid_sgsns6_to_log": {
7329            "type": "string",
7330            "revisions": {
7331                "v6.4.4": True,
7332                "v7.0.0": True,
7333                "v6.4.0": True,
7334                "v6.4.1": False
7335            }
7336        },
7337        "remove_if_recovery_differ": {
7338            "type": "string",
7339            "options": [
7340                {
7341                    "value": "enable",
7342                    "revisions": {
7343                        "v6.0.0": True,
7344                        "v7.0.0": True,
7345                        "v6.0.5": True,
7346                        "v6.4.4": True,
7347                        "v6.4.0": True,
7348                        "v6.4.1": True,
7349                        "v6.2.0": True,
7350                        "v6.2.3": True,
7351                        "v6.2.5": True,
7352                        "v6.2.7": True,
7353                        "v6.0.11": True
7354                    }
7355                },
7356                {
7357                    "value": "disable",
7358                    "revisions": {
7359                        "v6.0.0": True,
7360                        "v7.0.0": True,
7361                        "v6.0.5": True,
7362                        "v6.4.4": True,
7363                        "v6.4.0": True,
7364                        "v6.4.1": True,
7365                        "v6.2.0": True,
7366                        "v6.2.3": True,
7367                        "v6.2.5": True,
7368                        "v6.2.7": True,
7369                        "v6.0.11": True
7370                    }
7371                }
7372            ],
7373            "revisions": {
7374                "v6.0.0": True,
7375                "v7.0.0": True,
7376                "v6.0.5": True,
7377                "v6.4.4": True,
7378                "v6.4.0": True,
7379                "v6.4.1": True,
7380                "v6.2.0": True,
7381                "v6.2.3": True,
7382                "v6.2.5": True,
7383                "v6.2.7": True,
7384                "v6.0.11": True
7385            }
7386        },
7387        "noip_policy": {
7388            "type": "list",
7389            "children": {
7390                "action": {
7391                    "type": "string",
7392                    "options": [
7393                        {
7394                            "value": "allow",
7395                            "revisions": {
7396                                "v6.0.0": True,
7397                                "v7.0.0": True,
7398                                "v6.0.5": True,
7399                                "v6.4.4": True,
7400                                "v6.4.0": True,
7401                                "v6.4.1": True,
7402                                "v6.2.0": True,
7403                                "v6.2.3": True,
7404                                "v6.2.5": True,
7405                                "v6.2.7": True,
7406                                "v6.0.11": True
7407                            }
7408                        },
7409                        {
7410                            "value": "deny",
7411                            "revisions": {
7412                                "v6.0.0": True,
7413                                "v7.0.0": True,
7414                                "v6.0.5": True,
7415                                "v6.4.4": True,
7416                                "v6.4.0": True,
7417                                "v6.4.1": True,
7418                                "v6.2.0": True,
7419                                "v6.2.3": True,
7420                                "v6.2.5": True,
7421                                "v6.2.7": True,
7422                                "v6.0.11": True
7423                            }
7424                        }
7425                    ],
7426                    "revisions": {
7427                        "v6.0.0": True,
7428                        "v7.0.0": True,
7429                        "v6.0.5": True,
7430                        "v6.4.4": True,
7431                        "v6.4.0": True,
7432                        "v6.4.1": True,
7433                        "v6.2.0": True,
7434                        "v6.2.3": True,
7435                        "v6.2.5": True,
7436                        "v6.2.7": True,
7437                        "v6.0.11": True
7438                    }
7439                },
7440                "start": {
7441                    "type": "integer",
7442                    "revisions": {
7443                        "v6.0.0": True,
7444                        "v7.0.0": True,
7445                        "v6.0.5": True,
7446                        "v6.4.4": True,
7447                        "v6.4.0": True,
7448                        "v6.4.1": True,
7449                        "v6.2.0": True,
7450                        "v6.2.3": True,
7451                        "v6.2.5": True,
7452                        "v6.2.7": True,
7453                        "v6.0.11": True
7454                    }
7455                },
7456                "end": {
7457                    "type": "integer",
7458                    "revisions": {
7459                        "v6.0.0": True,
7460                        "v7.0.0": True,
7461                        "v6.0.5": True,
7462                        "v6.4.4": True,
7463                        "v6.4.0": True,
7464                        "v6.4.1": True,
7465                        "v6.2.0": True,
7466                        "v6.2.3": True,
7467                        "v6.2.5": True,
7468                        "v6.2.7": True,
7469                        "v6.0.11": True
7470                    }
7471                },
7472                "id": {
7473                    "type": "integer",
7474                    "revisions": {
7475                        "v6.0.0": True,
7476                        "v7.0.0": True,
7477                        "v6.0.5": True,
7478                        "v6.4.4": True,
7479                        "v6.4.0": True,
7480                        "v6.4.1": True,
7481                        "v6.2.0": True,
7482                        "v6.2.3": True,
7483                        "v6.2.5": True,
7484                        "v6.2.7": True,
7485                        "v6.0.11": True
7486                    }
7487                },
7488                "type": {
7489                    "type": "string",
7490                    "options": [
7491                        {
7492                            "value": "etsi",
7493                            "revisions": {
7494                                "v6.0.0": True,
7495                                "v7.0.0": True,
7496                                "v6.0.5": True,
7497                                "v6.4.4": True,
7498                                "v6.4.0": True,
7499                                "v6.4.1": True,
7500                                "v6.2.0": True,
7501                                "v6.2.3": True,
7502                                "v6.2.5": True,
7503                                "v6.2.7": True,
7504                                "v6.0.11": True
7505                            }
7506                        },
7507                        {
7508                            "value": "ietf",
7509                            "revisions": {
7510                                "v6.0.0": True,
7511                                "v7.0.0": True,
7512                                "v6.0.5": True,
7513                                "v6.4.4": True,
7514                                "v6.4.0": True,
7515                                "v6.4.1": True,
7516                                "v6.2.0": True,
7517                                "v6.2.3": True,
7518                                "v6.2.5": True,
7519                                "v6.2.7": True,
7520                                "v6.0.11": True
7521                            }
7522                        }
7523                    ],
7524                    "revisions": {
7525                        "v6.0.0": True,
7526                        "v7.0.0": True,
7527                        "v6.0.5": True,
7528                        "v6.4.4": True,
7529                        "v6.4.0": True,
7530                        "v6.4.1": True,
7531                        "v6.2.0": True,
7532                        "v6.2.3": True,
7533                        "v6.2.5": True,
7534                        "v6.2.7": True,
7535                        "v6.0.11": True
7536                    }
7537                }
7538            },
7539            "revisions": {
7540                "v6.0.0": True,
7541                "v7.0.0": True,
7542                "v6.0.5": True,
7543                "v6.4.4": True,
7544                "v6.4.0": True,
7545                "v6.4.1": True,
7546                "v6.2.0": True,
7547                "v6.2.3": True,
7548                "v6.2.5": True,
7549                "v6.2.7": True,
7550                "v6.0.11": True
7551            }
7552        },
7553        "gtpu_log_freq": {
7554            "type": "integer",
7555            "revisions": {
7556                "v6.0.0": True,
7557                "v7.0.0": True,
7558                "v6.0.5": True,
7559                "v6.4.4": True,
7560                "v6.4.0": True,
7561                "v6.4.1": True,
7562                "v6.2.0": True,
7563                "v6.2.3": True,
7564                "v6.2.5": True,
7565                "v6.2.7": True,
7566                "v6.0.11": True
7567            }
7568        },
7569        "unknown_version_action": {
7570            "type": "string",
7571            "options": [
7572                {
7573                    "value": "allow",
7574                    "revisions": {
7575                        "v6.0.0": True,
7576                        "v7.0.0": True,
7577                        "v6.0.5": True,
7578                        "v6.4.4": True,
7579                        "v6.4.0": True,
7580                        "v6.4.1": True,
7581                        "v6.2.0": True,
7582                        "v6.2.3": True,
7583                        "v6.2.5": True,
7584                        "v6.2.7": True,
7585                        "v6.0.11": True
7586                    }
7587                },
7588                {
7589                    "value": "deny",
7590                    "revisions": {
7591                        "v6.0.0": True,
7592                        "v7.0.0": True,
7593                        "v6.0.5": True,
7594                        "v6.4.4": True,
7595                        "v6.4.0": True,
7596                        "v6.4.1": True,
7597                        "v6.2.0": True,
7598                        "v6.2.3": True,
7599                        "v6.2.5": True,
7600                        "v6.2.7": True,
7601                        "v6.0.11": True
7602                    }
7603                }
7604            ],
7605            "revisions": {
7606                "v6.0.0": True,
7607                "v7.0.0": True,
7608                "v6.0.5": True,
7609                "v6.4.4": True,
7610                "v6.4.0": True,
7611                "v6.4.1": True,
7612                "v6.2.0": True,
7613                "v6.2.3": True,
7614                "v6.2.5": True,
7615                "v6.2.7": True,
7616                "v6.0.11": True
7617            }
7618        },
7619        "per_apn_shaper": {
7620            "type": "list",
7621            "children": {
7622                "rate_limit": {
7623                    "type": "integer",
7624                    "revisions": {
7625                        "v6.0.0": True,
7626                        "v7.0.0": True,
7627                        "v6.0.5": True,
7628                        "v6.4.4": True,
7629                        "v6.4.0": True,
7630                        "v6.4.1": True,
7631                        "v6.2.0": True,
7632                        "v6.2.3": True,
7633                        "v6.2.5": True,
7634                        "v6.2.7": True,
7635                        "v6.0.11": True
7636                    }
7637                },
7638                "version": {
7639                    "type": "integer",
7640                    "revisions": {
7641                        "v6.0.0": True,
7642                        "v7.0.0": True,
7643                        "v6.0.5": True,
7644                        "v6.4.4": True,
7645                        "v6.4.0": True,
7646                        "v6.4.1": True,
7647                        "v6.2.0": True,
7648                        "v6.2.3": True,
7649                        "v6.2.5": True,
7650                        "v6.2.7": True,
7651                        "v6.0.11": True
7652                    }
7653                },
7654                "apn": {
7655                    "type": "string",
7656                    "revisions": {
7657                        "v6.0.0": True,
7658                        "v7.0.0": True,
7659                        "v6.0.5": True,
7660                        "v6.4.4": True,
7661                        "v6.4.0": True,
7662                        "v6.4.1": True,
7663                        "v6.2.0": True,
7664                        "v6.2.3": True,
7665                        "v6.2.5": True,
7666                        "v6.2.7": True,
7667                        "v6.0.11": True
7668                    }
7669                },
7670                "id": {
7671                    "type": "integer",
7672                    "revisions": {
7673                        "v6.0.0": True,
7674                        "v7.0.0": True,
7675                        "v6.0.5": True,
7676                        "v6.4.4": True,
7677                        "v6.4.0": True,
7678                        "v6.4.1": True,
7679                        "v6.2.0": True,
7680                        "v6.2.3": True,
7681                        "v6.2.5": True,
7682                        "v6.2.7": True,
7683                        "v6.0.11": True
7684                    }
7685                }
7686            },
7687            "revisions": {
7688                "v6.0.0": True,
7689                "v7.0.0": True,
7690                "v6.0.5": True,
7691                "v6.4.4": True,
7692                "v6.4.0": True,
7693                "v6.4.1": True,
7694                "v6.2.0": True,
7695                "v6.2.3": True,
7696                "v6.2.5": True,
7697                "v6.2.7": True,
7698                "v6.0.11": True
7699            }
7700        },
7701        "forwarded_log": {
7702            "type": "string",
7703            "options": [
7704                {
7705                    "value": "enable",
7706                    "revisions": {
7707                        "v6.0.0": True,
7708                        "v7.0.0": True,
7709                        "v6.0.5": True,
7710                        "v6.4.4": True,
7711                        "v6.4.0": True,
7712                        "v6.4.1": True,
7713                        "v6.2.0": True,
7714                        "v6.2.3": True,
7715                        "v6.2.5": True,
7716                        "v6.2.7": True,
7717                        "v6.0.11": True
7718                    }
7719                },
7720                {
7721                    "value": "disable",
7722                    "revisions": {
7723                        "v6.0.0": True,
7724                        "v7.0.0": True,
7725                        "v6.0.5": True,
7726                        "v6.4.4": True,
7727                        "v6.4.0": True,
7728                        "v6.4.1": True,
7729                        "v6.2.0": True,
7730                        "v6.2.3": True,
7731                        "v6.2.5": True,
7732                        "v6.2.7": True,
7733                        "v6.0.11": True
7734                    }
7735                }
7736            ],
7737            "revisions": {
7738                "v6.0.0": True,
7739                "v7.0.0": True,
7740                "v6.0.5": True,
7741                "v6.4.4": True,
7742                "v6.4.0": True,
7743                "v6.4.1": True,
7744                "v6.2.0": True,
7745                "v6.2.3": True,
7746                "v6.2.5": True,
7747                "v6.2.7": True,
7748                "v6.0.11": True
7749            }
7750        },
7751        "ip_filter": {
7752            "type": "string",
7753            "options": [
7754                {
7755                    "value": "enable",
7756                    "revisions": {
7757                        "v6.0.0": True,
7758                        "v7.0.0": True,
7759                        "v6.0.5": True,
7760                        "v6.4.4": True,
7761                        "v6.4.0": True,
7762                        "v6.4.1": True,
7763                        "v6.2.0": True,
7764                        "v6.2.3": True,
7765                        "v6.2.5": True,
7766                        "v6.2.7": True,
7767                        "v6.0.11": True
7768                    }
7769                },
7770                {
7771                    "value": "disable",
7772                    "revisions": {
7773                        "v6.0.0": True,
7774                        "v7.0.0": True,
7775                        "v6.0.5": True,
7776                        "v6.4.4": True,
7777                        "v6.4.0": True,
7778                        "v6.4.1": True,
7779                        "v6.2.0": True,
7780                        "v6.2.3": True,
7781                        "v6.2.5": True,
7782                        "v6.2.7": True,
7783                        "v6.0.11": True
7784                    }
7785                }
7786            ],
7787            "revisions": {
7788                "v6.0.0": True,
7789                "v7.0.0": True,
7790                "v6.0.5": True,
7791                "v6.4.4": True,
7792                "v6.4.0": True,
7793                "v6.4.1": True,
7794                "v6.2.0": True,
7795                "v6.2.3": True,
7796                "v6.2.5": True,
7797                "v6.2.7": True,
7798                "v6.0.11": True
7799            }
7800        },
7801        "min_message_length": {
7802            "type": "integer",
7803            "revisions": {
7804                "v6.0.0": True,
7805                "v7.0.0": True,
7806                "v6.0.5": True,
7807                "v6.4.4": True,
7808                "v6.4.0": True,
7809                "v6.4.1": True,
7810                "v6.2.0": True,
7811                "v6.2.3": True,
7812                "v6.2.5": True,
7813                "v6.2.7": True,
7814                "v6.0.11": True
7815            }
7816        },
7817        "global_tunnel_limit": {
7818            "type": "string",
7819            "revisions": {
7820                "v6.0.0": True,
7821                "v7.0.0": True,
7822                "v6.0.5": True,
7823                "v6.4.4": True,
7824                "v6.4.0": True,
7825                "v6.4.1": True,
7826                "v6.2.0": True,
7827                "v6.2.3": True,
7828                "v6.2.5": True,
7829                "v6.2.7": True,
7830                "v6.0.11": True
7831            }
7832        },
7833        "out_of_state_message": {
7834            "type": "string",
7835            "options": [
7836                {
7837                    "value": "allow",
7838                    "revisions": {
7839                        "v6.0.0": True,
7840                        "v7.0.0": True,
7841                        "v6.0.5": True,
7842                        "v6.4.4": True,
7843                        "v6.4.0": True,
7844                        "v6.4.1": True,
7845                        "v6.2.0": True,
7846                        "v6.2.3": True,
7847                        "v6.2.5": True,
7848                        "v6.2.7": True,
7849                        "v6.0.11": True
7850                    }
7851                },
7852                {
7853                    "value": "deny",
7854                    "revisions": {
7855                        "v6.0.0": True,
7856                        "v7.0.0": True,
7857                        "v6.0.5": True,
7858                        "v6.4.4": True,
7859                        "v6.4.0": True,
7860                        "v6.4.1": True,
7861                        "v6.2.0": True,
7862                        "v6.2.3": True,
7863                        "v6.2.5": True,
7864                        "v6.2.7": True,
7865                        "v6.0.11": True
7866                    }
7867                }
7868            ],
7869            "revisions": {
7870                "v6.0.0": True,
7871                "v7.0.0": True,
7872                "v6.0.5": True,
7873                "v6.4.4": True,
7874                "v6.4.0": True,
7875                "v6.4.1": True,
7876                "v6.2.0": True,
7877                "v6.2.3": True,
7878                "v6.2.5": True,
7879                "v6.2.7": True,
7880                "v6.0.11": True
7881            }
7882        },
7883        "half_close_timeout": {
7884            "type": "integer",
7885            "revisions": {
7886                "v6.0.0": True,
7887                "v7.0.0": True,
7888                "v6.0.5": True,
7889                "v6.4.4": True,
7890                "v6.4.0": True,
7891                "v6.4.1": True,
7892                "v6.2.0": True,
7893                "v6.2.3": True,
7894                "v6.2.5": True,
7895                "v6.2.7": True,
7896                "v6.0.11": True
7897            }
7898        },
7899        "default_imsi_action": {
7900            "type": "string",
7901            "options": [
7902                {
7903                    "value": "allow",
7904                    "revisions": {
7905                        "v6.0.0": True,
7906                        "v7.0.0": True,
7907                        "v6.0.5": True,
7908                        "v6.4.4": True,
7909                        "v6.4.0": True,
7910                        "v6.4.1": True,
7911                        "v6.2.0": True,
7912                        "v6.2.3": True,
7913                        "v6.2.5": True,
7914                        "v6.2.7": True,
7915                        "v6.0.11": True
7916                    }
7917                },
7918                {
7919                    "value": "deny",
7920                    "revisions": {
7921                        "v6.0.0": True,
7922                        "v7.0.0": True,
7923                        "v6.0.5": True,
7924                        "v6.4.4": True,
7925                        "v6.4.0": True,
7926                        "v6.4.1": True,
7927                        "v6.2.0": True,
7928                        "v6.2.3": True,
7929                        "v6.2.5": True,
7930                        "v6.2.7": True,
7931                        "v6.0.11": True
7932                    }
7933                }
7934            ],
7935            "revisions": {
7936                "v6.0.0": True,
7937                "v7.0.0": True,
7938                "v6.0.5": True,
7939                "v6.4.4": True,
7940                "v6.4.0": True,
7941                "v6.4.1": True,
7942                "v6.2.0": True,
7943                "v6.2.3": True,
7944                "v6.2.5": True,
7945                "v6.2.7": True,
7946                "v6.0.11": True
7947            }
7948        },
7949        "remove_if_echo_expires": {
7950            "type": "string",
7951            "options": [
7952                {
7953                    "value": "enable",
7954                    "revisions": {
7955                        "v6.0.0": True,
7956                        "v7.0.0": True,
7957                        "v6.0.5": True,
7958                        "v6.4.4": True,
7959                        "v6.4.0": True,
7960                        "v6.4.1": True,
7961                        "v6.2.0": True,
7962                        "v6.2.3": True,
7963                        "v6.2.5": True,
7964                        "v6.2.7": True,
7965                        "v6.0.11": True
7966                    }
7967                },
7968                {
7969                    "value": "disable",
7970                    "revisions": {
7971                        "v6.0.0": True,
7972                        "v7.0.0": True,
7973                        "v6.0.5": True,
7974                        "v6.4.4": True,
7975                        "v6.4.0": True,
7976                        "v6.4.1": True,
7977                        "v6.2.0": True,
7978                        "v6.2.3": True,
7979                        "v6.2.5": True,
7980                        "v6.2.7": True,
7981                        "v6.0.11": True
7982                    }
7983                }
7984            ],
7985            "revisions": {
7986                "v6.0.0": True,
7987                "v7.0.0": True,
7988                "v6.0.5": True,
7989                "v6.4.4": True,
7990                "v6.4.0": True,
7991                "v6.4.1": True,
7992                "v6.2.0": True,
7993                "v6.2.3": True,
7994                "v6.2.5": True,
7995                "v6.2.7": True,
7996                "v6.0.11": True
7997            }
7998        },
7999        "tunnel_limit_log": {
8000            "type": "string",
8001            "options": [
8002                {
8003                    "value": "enable",
8004                    "revisions": {
8005                        "v6.0.0": True,
8006                        "v7.0.0": True,
8007                        "v6.0.5": True,
8008                        "v6.4.4": True,
8009                        "v6.4.0": True,
8010                        "v6.4.1": True,
8011                        "v6.2.0": True,
8012                        "v6.2.3": True,
8013                        "v6.2.5": True,
8014                        "v6.2.7": True,
8015                        "v6.0.11": True
8016                    }
8017                },
8018                {
8019                    "value": "disable",
8020                    "revisions": {
8021                        "v6.0.0": True,
8022                        "v7.0.0": True,
8023                        "v6.0.5": True,
8024                        "v6.4.4": True,
8025                        "v6.4.0": True,
8026                        "v6.4.1": True,
8027                        "v6.2.0": True,
8028                        "v6.2.3": True,
8029                        "v6.2.5": True,
8030                        "v6.2.7": True,
8031                        "v6.0.11": True
8032                    }
8033                }
8034            ],
8035            "revisions": {
8036                "v6.0.0": True,
8037                "v7.0.0": True,
8038                "v6.0.5": True,
8039                "v6.4.4": True,
8040                "v6.4.0": True,
8041                "v6.4.1": True,
8042                "v6.2.0": True,
8043                "v6.2.3": True,
8044                "v6.2.5": True,
8045                "v6.2.7": True,
8046                "v6.0.11": True
8047            }
8048        },
8049        "default_ip_action": {
8050            "type": "string",
8051            "options": [
8052                {
8053                    "value": "allow",
8054                    "revisions": {
8055                        "v6.0.0": True,
8056                        "v7.0.0": True,
8057                        "v6.0.5": True,
8058                        "v6.4.4": True,
8059                        "v6.4.0": True,
8060                        "v6.4.1": True,
8061                        "v6.2.0": True,
8062                        "v6.2.3": True,
8063                        "v6.2.5": True,
8064                        "v6.2.7": True,
8065                        "v6.0.11": True
8066                    }
8067                },
8068                {
8069                    "value": "deny",
8070                    "revisions": {
8071                        "v6.0.0": True,
8072                        "v7.0.0": True,
8073                        "v6.0.5": True,
8074                        "v6.4.4": True,
8075                        "v6.4.0": True,
8076                        "v6.4.1": True,
8077                        "v6.2.0": True,
8078                        "v6.2.3": True,
8079                        "v6.2.5": True,
8080                        "v6.2.7": True,
8081                        "v6.0.11": True
8082                    }
8083                }
8084            ],
8085            "revisions": {
8086                "v6.0.0": True,
8087                "v7.0.0": True,
8088                "v6.0.5": True,
8089                "v6.4.4": True,
8090                "v6.4.0": True,
8091                "v6.4.1": True,
8092                "v6.2.0": True,
8093                "v6.2.3": True,
8094                "v6.2.5": True,
8095                "v6.2.7": True,
8096                "v6.0.11": True
8097            }
8098        },
8099        "ie_white_list_v0v1": {
8100            "type": "string",
8101            "revisions": {
8102                "v6.0.0": True,
8103                "v7.0.0": False,
8104                "v6.0.5": True,
8105                "v6.4.4": True,
8106                "v6.4.0": True,
8107                "v6.4.1": True,
8108                "v6.2.0": True,
8109                "v6.2.3": True,
8110                "v6.2.5": True,
8111                "v6.2.7": True,
8112                "v6.0.11": True
8113            }
8114        },
8115        "default_policy_action": {
8116            "type": "string",
8117            "options": [
8118                {
8119                    "value": "allow",
8120                    "revisions": {
8121                        "v6.0.0": True,
8122                        "v7.0.0": True,
8123                        "v6.0.5": True,
8124                        "v6.4.4": True,
8125                        "v6.4.0": True,
8126                        "v6.4.1": True,
8127                        "v6.2.0": True,
8128                        "v6.2.3": True,
8129                        "v6.2.5": True,
8130                        "v6.2.7": True,
8131                        "v6.0.11": True
8132                    }
8133                },
8134                {
8135                    "value": "deny",
8136                    "revisions": {
8137                        "v6.0.0": True,
8138                        "v7.0.0": True,
8139                        "v6.0.5": True,
8140                        "v6.4.4": True,
8141                        "v6.4.0": True,
8142                        "v6.4.1": True,
8143                        "v6.2.0": True,
8144                        "v6.2.3": True,
8145                        "v6.2.5": True,
8146                        "v6.2.7": True,
8147                        "v6.0.11": True
8148                    }
8149                }
8150            ],
8151            "revisions": {
8152                "v6.0.0": True,
8153                "v7.0.0": True,
8154                "v6.0.5": True,
8155                "v6.4.4": True,
8156                "v6.4.0": True,
8157                "v6.4.1": True,
8158                "v6.2.0": True,
8159                "v6.2.3": True,
8160                "v6.2.5": True,
8161                "v6.2.7": True,
8162                "v6.0.11": True
8163            }
8164        },
8165        "send_delete_when_timeout_v2": {
8166            "type": "string",
8167            "options": [
8168                {
8169                    "value": "enable",
8170                    "revisions": {
8171                        "v6.0.0": True,
8172                        "v7.0.0": True,
8173                        "v6.0.5": True,
8174                        "v6.4.4": True,
8175                        "v6.4.0": True,
8176                        "v6.4.1": True,
8177                        "v6.2.0": True,
8178                        "v6.2.3": True,
8179                        "v6.2.5": True,
8180                        "v6.2.7": True,
8181                        "v6.0.11": True
8182                    }
8183                },
8184                {
8185                    "value": "disable",
8186                    "revisions": {
8187                        "v6.0.0": True,
8188                        "v7.0.0": True,
8189                        "v6.0.5": True,
8190                        "v6.4.4": True,
8191                        "v6.4.0": True,
8192                        "v6.4.1": True,
8193                        "v6.2.0": True,
8194                        "v6.2.3": True,
8195                        "v6.2.5": True,
8196                        "v6.2.7": True,
8197                        "v6.0.11": True
8198                    }
8199                }
8200            ],
8201            "revisions": {
8202                "v6.0.0": True,
8203                "v7.0.0": True,
8204                "v6.0.5": True,
8205                "v6.4.4": True,
8206                "v6.4.0": True,
8207                "v6.4.1": True,
8208                "v6.2.0": True,
8209                "v6.2.3": True,
8210                "v6.2.5": True,
8211                "v6.2.7": True,
8212                "v6.0.11": True
8213            }
8214        },
8215        "default_apn_action": {
8216            "type": "string",
8217            "options": [
8218                {
8219                    "value": "allow",
8220                    "revisions": {
8221                        "v6.0.0": True,
8222                        "v7.0.0": True,
8223                        "v6.0.5": True,
8224                        "v6.4.4": True,
8225                        "v6.4.0": True,
8226                        "v6.4.1": True,
8227                        "v6.2.0": True,
8228                        "v6.2.3": True,
8229                        "v6.2.5": True,
8230                        "v6.2.7": True,
8231                        "v6.0.11": True
8232                    }
8233                },
8234                {
8235                    "value": "deny",
8236                    "revisions": {
8237                        "v6.0.0": True,
8238                        "v7.0.0": True,
8239                        "v6.0.5": True,
8240                        "v6.4.4": True,
8241                        "v6.4.0": True,
8242                        "v6.4.1": True,
8243                        "v6.2.0": True,
8244                        "v6.2.3": True,
8245                        "v6.2.5": True,
8246                        "v6.2.7": True,
8247                        "v6.0.11": True
8248                    }
8249                }
8250            ],
8251            "revisions": {
8252                "v6.0.0": True,
8253                "v7.0.0": True,
8254                "v6.0.5": True,
8255                "v6.4.4": True,
8256                "v6.4.0": True,
8257                "v6.4.1": True,
8258                "v6.2.0": True,
8259                "v6.2.3": True,
8260                "v6.2.5": True,
8261                "v6.2.7": True,
8262                "v6.0.11": True
8263            }
8264        },
8265        "handover_group6": {
8266            "type": "string",
8267            "revisions": {
8268                "v6.4.4": True,
8269                "v7.0.0": True,
8270                "v6.4.0": True,
8271                "v6.4.1": False
8272            }
8273        },
8274        "authorized_sgsns": {
8275            "type": "string",
8276            "revisions": {
8277                "v6.0.0": True,
8278                "v7.0.0": True,
8279                "v6.0.5": True,
8280                "v6.4.4": True,
8281                "v6.4.0": True,
8282                "v6.4.1": True,
8283                "v6.2.0": True,
8284                "v6.2.3": True,
8285                "v6.2.5": True,
8286                "v6.2.7": True,
8287                "v6.0.11": True
8288            }
8289        }
8290    },
8291    "revisions": {
8292        "v6.0.0": True,
8293        "v7.0.0": True,
8294        "v6.0.5": True,
8295        "v6.4.4": True,
8296        "v6.4.0": True,
8297        "v6.4.1": True,
8298        "v6.2.0": True,
8299        "v6.2.3": True,
8300        "v6.2.5": True,
8301        "v6.2.7": True,
8302        "v6.0.11": True
8303    }
8304}
8305
8306
8307def main():
8308    module_spec = schema_to_module_spec(versioned_schema)
8309    mkeyname = 'name'
8310    fields = {
8311        "access_token": {"required": False, "type": "str", "no_log": True},
8312        "enable_log": {"required": False, "type": bool},
8313        "vdom": {"required": False, "type": "str", "default": "root"},
8314        "state": {"required": True, "type": "str",
8315                  "choices": ["present", "absent"]},
8316        "firewall_gtp": {
8317            "required": False, "type": "dict", "default": None,
8318            "options": {
8319            }
8320        }
8321    }
8322    for attribute_name in module_spec['options']:
8323        fields["firewall_gtp"]['options'][attribute_name] = module_spec['options'][attribute_name]
8324        if mkeyname and mkeyname == attribute_name:
8325            fields["firewall_gtp"]['options'][attribute_name]['required'] = True
8326
8327    check_legacy_fortiosapi()
8328    module = AnsibleModule(argument_spec=fields,
8329                           supports_check_mode=False)
8330
8331    versions_check_result = None
8332    if module._socket_path:
8333        connection = Connection(module._socket_path)
8334        if 'access_token' in module.params:
8335            connection.set_option('access_token', module.params['access_token'])
8336
8337        if 'enable_log' in module.params:
8338            connection.set_option('enable_log', module.params['enable_log'])
8339        else:
8340            connection.set_option('enable_log', False)
8341        fos = FortiOSHandler(connection, module, mkeyname)
8342        versions_check_result = check_schema_versioning(fos, versioned_schema, "firewall_gtp")
8343
8344        is_error, has_changed, result = fortios_firewall(module.params, fos)
8345
8346    else:
8347        module.fail_json(**FAIL_SOCKET_MSG)
8348
8349    if versions_check_result and versions_check_result['matched'] is False:
8350        module.warn("Ansible has detected version mismatch between FortOS system and your playbook, see more details by specifying option -vvv")
8351
8352    if not is_error:
8353        if versions_check_result and versions_check_result['matched'] is False:
8354            module.exit_json(changed=has_changed, version_check_warning=versions_check_result, meta=result)
8355        else:
8356            module.exit_json(changed=has_changed, meta=result)
8357    else:
8358        if versions_check_result and versions_check_result['matched'] is False:
8359            module.fail_json(msg="Error in repo", version_check_warning=versions_check_result, meta=result)
8360        else:
8361            module.fail_json(msg="Error in repo", meta=result)
8362
8363
8364if __name__ == '__main__':
8365    main()
8366