text: #!/usr/bin/python
  from __future__ import absolute_import, division, print_function
  # Copyright 2019-2021 Fortinet, Inc.
  #
  # This program is free software: you can redistribute it and/or modify
  # it under the terms of the GNU General Public License as published by
  # the Free Software Foundation, either version 3 of the License, or
  # (at your option) any later version.
  #
  # This program is distributed in the hope that it will be useful,
  # but WITHOUT ANY WARRANTY; without even the implied warranty of
  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  # GNU General Public License for more details.
  #
  # You should have received a copy of the GNU General Public License
  # along with this program.  If not, see <https://www.gnu.org/licenses/>.
  
  __metaclass__ = type
  
  ANSIBLE_METADATA = {'status': ['preview'],
                      'supported_by': 'community',
                      'metadata_version': '1.1'}
  
  DOCUMENTATION = '''
  ---
  module: fmgr_fsp_vlan_interface_ipv6
  short_description: IPv6 of interface.
  description:
      - This module is able to configure a FortiManager device.
      - Examples include all parameters and values which need to be adjusted to data sources before usage.
  
  version_added: "2.10"
  author:
      - Link Zheng (@chillancezen)
      - Jie Xue (@JieX19)
      - Frank Shen (@fshen01)
      - Hongbin Lu (@fgtdev-hblu)
  notes:
      - Running in workspace locking mode is supported in this FortiManager module, the top
        level parameters workspace_locking_adom and workspace_locking_timeout help do the work.
      - To create or update an object, use state present directive.
      - To delete an object, use state absent directive.
      - Normally, running one module can fail when a non-zero rc is returned. you can also override
        the conditions to fail or succeed with parameters rc_failed and rc_succeeded
  
  options:
      enable_log:
          description: Enable/Disable logging for task
          required: false
          type: bool
          default: false
      proposed_method:
          description: The overridden method for the underlying Json RPC request
          required: false
          type: str
          choices:
            - update
            - set
            - add
      bypass_validation:
          description: only set to True when module schema diffs with FortiManager API structure, module continues to execute without validating parameters
          required: false
          type: bool
          default: false
      workspace_locking_adom:
          description: the adom to lock for FortiManager running in workspace mode, the value can be global and others including root
          required: false
          type: str
      workspace_locking_timeout:
          description: the maximum time in seconds to wait for other user to release the workspace lock
          required: false
          type: int
          default: 300
      state:
          description: the directive to create, update or delete an object
          type: str
          required: true
          choices:
            - present
            - absent
      rc_succeeded:
          description: the rc codes list with which the conditions to succeed will be overriden
          type: list
          required: false
      rc_failed:
          description: the rc codes list with which the conditions to fail will be overriden
          type: list
          required: false
      adom:
          description: the parameter (adom) in requested url
          type: str
          required: true
      vlan:
          description: the parameter (vlan) in requested url
          type: str
          required: true
      fsp_vlan_interface_ipv6:
          description: the top level parameters set
          required: false
          type: dict
          suboptions:
              autoconf:
                  type: str
                  description: no description
                  choices:
                      - 'disable'
                      - 'enable'
              dhcp6-client-options:
                  description: no description
                  type: list
                  choices:
                   - rapid
                   - iapd
                   - iana
                   - dns
                   - dnsname
              dhcp6-information-request:
                  type: str
                  description: no description
                  choices:
                      - 'disable'
                      - 'enable'
              dhcp6-prefix-delegation:
                  type: str
                  description: no description
                  choices:
                      - 'disable'
                      - 'enable'
              dhcp6-prefix-hint:
                  type: str
                  description: no description
              dhcp6-prefix-hint-plt:
                  type: int
                  description: no description
              dhcp6-prefix-hint-vlt:
                  type: int
                  description: no description
              dhcp6-relay-ip:
                  type: str
                  description: no description
              dhcp6-relay-service:
                  type: str
                  description: no description
                  choices:
                      - 'disable'
                      - 'enable'
              dhcp6-relay-type:
                  type: str
                  description: no description
                  choices:
                      - 'regular'
              ip6-address:
                  type: str
                  description: no description
              ip6-allowaccess:
                  description: no description
                  type: list
                  choices:
                   - https
                   - ping
                   - ssh
                   - snmp
                   - http
                   - telnet
                   - fgfm
                   - capwap
                   - fabric
              ip6-default-life:
                  type: int
                  description: no description
              ip6-dns-server-override:
                  type: str
                  description: no description
                  choices:
                      - 'disable'
                      - 'enable'
              ip6-hop-limit:
                  type: int
                  description: no description
              ip6-link-mtu:
                  type: int
                  description: no description
              ip6-manage-flag:
                  type: str
                  description: no description
                  choices:
                      - 'disable'
                      - 'enable'
              ip6-max-interval:
                  type: int
                  description: no description
              ip6-min-interval:
                  type: int
                  description: no description
              ip6-mode:
                  type: str
                  description: no description
                  choices:
                      - 'static'
                      - 'dhcp'
                      - 'pppoe'
                      - 'delegated'
              ip6-other-flag:
                  type: str
                  description: no description
                  choices:
                      - 'disable'
                      - 'enable'
              ip6-reachable-time:
                  type: int
                  description: no description
              ip6-retrans-time:
                  type: int
                  description: no description
              ip6-send-adv:
                  type: str
                  description: no description
                  choices:
                      - 'disable'
                      - 'enable'
              ip6-subnet:
                  type: str
                  description: no description
              ip6-upstream-interface:
                  type: str
                  description: no description
              nd-cert:
                  type: str
                  description: no description
              nd-cga-modifier:
                  type: str
                  description: no description
              nd-mode:
                  type: str
                  description: no description
                  choices:
                      - 'basic'
                      - 'SEND-compatible'
              nd-security-level:
                  type: int
                  description: no description
              nd-timestamp-delta:
                  type: int
                  description: no description
              nd-timestamp-fuzz:
                  type: int
                  description: no description
              vrip6_link_local:
                  type: str
                  description: no description
              vrrp-virtual-mac6:
                  type: str
                  description: no description
                  choices:
                      - 'disable'
                      - 'enable'
              ip6-delegated-prefix-list:
                  description: no description
                  type: list
                  suboptions:
                      autonomous-flag:
                          type: str
                          description: no description
                          choices:
                              - 'disable'
                              - 'enable'
                      onlink-flag:
                          type: str
                          description: no description
                          choices:
                              - 'disable'
                              - 'enable'
                      prefix-id:
                          type: int
                          description: no description
                      rdnss:
                          description: no description
                          type: str
                      rdnss-service:
                          type: str
                          description: no description
                          choices:
                              - 'delegated'
                              - 'default'
                              - 'specify'
                      subnet:
                          type: str
                          description: no description
                      upstream-interface:
                          type: str
                          description: no description
              ip6-extra-addr:
                  description: no description
                  type: list
                  suboptions:
                      prefix:
                          type: str
                          description: no description
              ip6-prefix-list:
                  description: no description
                  type: list
                  suboptions:
                      autonomous-flag:
                          type: str
                          description: no description
                          choices:
                              - 'disable'
                              - 'enable'
                      dnssl:
                          description: no description
                          type: str
                      onlink-flag:
                          type: str
                          description: no description
                          choices:
                              - 'disable'
                              - 'enable'
                      preferred-life-time:
                          type: int
                          description: no description
                      prefix:
                          type: str
                          description: no description
                      rdnss:
                          description: no description
                          type: str
                      valid-life-time:
                          type: int
                          description: no description
              vrrp6:
                  description: no description
                  type: list
                  suboptions:
                      accept-mode:
                          type: str
                          description: no description
                          choices:
                              - 'disable'
                              - 'enable'
                      adv-interval:
                          type: int
                          description: no description
                      preempt:
                          type: str
                          description: no description
                          choices:
                              - 'disable'
                              - 'enable'
                      priority:
                          type: int
                          description: no description
                      start-time:
                          type: int
                          description: no description
                      status:
                          type: str
                          description: no description
                          choices:
                              - 'disable'
                              - 'enable'
                      vrdst6:
                          type: str
                          description: no description
                      vrgrp:
                          type: int
                          description: no description
                      vrid:
                          type: int
                          description: no description
                      vrip6:
                          type: str
                          description: no description
              interface-identifier:
                  type: str
                  description: no description
              unique-autoconf-addr:
                  type: str
                  description: no description
                  choices:
                      - 'disable'
                      - 'enable'
              icmp6-send-redirect:
                  type: str
                  description: 'Enable/disable sending of ICMPv6 redirects.'
                  choices:
                      - 'disable'
                      - 'enable'
              cli-conn6-status:
                  type: int
                  description: no description
              ip6-prefix-mode:
                  type: str
                  description: 'Assigning a prefix from DHCP or RA.'
                  choices:
                      - 'dhcp6'
                      - 'ra'
              ra-send-mtu:
                  type: str
                  description: 'Enable/disable sending link MTU in RA packet.'
                  choices:
                      - 'disable'
                      - 'enable'
  
  '''
  
  EXAMPLES = '''
   - hosts: fortimanager-inventory
     collections:
       - fortinet.fortimanager
     connection: httpapi
     vars:
        ansible_httpapi_use_ssl: True
        ansible_httpapi_validate_certs: False
        ansible_httpapi_port: 443
     tasks:
      - name: IPv6 of interface.
        fmgr_fsp_vlan_interface_ipv6:
           bypass_validation: False
           workspace_locking_adom: <value in [global, custom adom including root]>
           workspace_locking_timeout: 300
           rc_succeeded: [0, -2, -3, ...]
           rc_failed: [-2, -3, ...]
           adom: <your own value>
           vlan: <your own value>
           fsp_vlan_interface_ipv6:
              autoconf: <value in [disable, enable]>
              dhcp6-client-options:
                - rapid
                - iapd
                - iana
                - dns
                - dnsname
              dhcp6-information-request: <value in [disable, enable]>
              dhcp6-prefix-delegation: <value in [disable, enable]>
              dhcp6-prefix-hint: <value of string>
              dhcp6-prefix-hint-plt: <value of integer>
              dhcp6-prefix-hint-vlt: <value of integer>
              dhcp6-relay-ip: <value of string>
              dhcp6-relay-service: <value in [disable, enable]>
              dhcp6-relay-type: <value in [regular]>
              ip6-address: <value of string>
              ip6-allowaccess:
                - https
                - ping
                - ssh
                - snmp
                - http
                - telnet
                - fgfm
                - capwap
                - fabric
              ip6-default-life: <value of integer>
              ip6-dns-server-override: <value in [disable, enable]>
              ip6-hop-limit: <value of integer>
              ip6-link-mtu: <value of integer>
              ip6-manage-flag: <value in [disable, enable]>
              ip6-max-interval: <value of integer>
              ip6-min-interval: <value of integer>
              ip6-mode: <value in [static, dhcp, pppoe, ...]>
              ip6-other-flag: <value in [disable, enable]>
              ip6-reachable-time: <value of integer>
              ip6-retrans-time: <value of integer>
              ip6-send-adv: <value in [disable, enable]>
              ip6-subnet: <value of string>
              ip6-upstream-interface: <value of string>
              nd-cert: <value of string>
              nd-cga-modifier: <value of string>
              nd-mode: <value in [basic, SEND-compatible]>
              nd-security-level: <value of integer>
              nd-timestamp-delta: <value of integer>
              nd-timestamp-fuzz: <value of integer>
              vrip6_link_local: <value of string>
              vrrp-virtual-mac6: <value in [disable, enable]>
              ip6-delegated-prefix-list:
                -
                    autonomous-flag: <value in [disable, enable]>
                    onlink-flag: <value in [disable, enable]>
                    prefix-id: <value of integer>
                    rdnss: <value of string>
                    rdnss-service: <value in [delegated, default, specify]>
                    subnet: <value of string>
                    upstream-interface: <value of string>
              ip6-extra-addr:
                -
                    prefix: <value of string>
              ip6-prefix-list:
                -
                    autonomous-flag: <value in [disable, enable]>
                    dnssl: <value of string>
                    onlink-flag: <value in [disable, enable]>
                    preferred-life-time: <value of integer>
                    prefix: <value of string>
                    rdnss: <value of string>
                    valid-life-time: <value of integer>
              vrrp6:
                -
                    accept-mode: <value in [disable, enable]>
                    adv-interval: <value of integer>
                    preempt: <value in [disable, enable]>
                    priority: <value of integer>
                    start-time: <value of integer>
                    status: <value in [disable, enable]>
                    vrdst6: <value of string>
                    vrgrp: <value of integer>
                    vrid: <value of integer>
                    vrip6: <value of string>
              interface-identifier: <value of string>
              unique-autoconf-addr: <value in [disable, enable]>
              icmp6-send-redirect: <value in [disable, enable]>
              cli-conn6-status: <value of integer>
              ip6-prefix-mode: <value in [dhcp6, ra]>
              ra-send-mtu: <value in [disable, enable]>
  
  '''
  
  RETURN = '''
  request_url:
      description: The full url requested
      returned: always
      type: str
      sample: /sys/login/user
  response_code:
      description: The status of api request
      returned: always
      type: int
      sample: 0
  response_message:
      description: The descriptive message of the api response
      type: str
      returned: always
      sample: OK.
  
  '''
  from ansible.module_utils.basic import AnsibleModule
  from ansible.module_utils.connection import Connection
  from ansible_collections.fortinet.fortimanager.plugins.module_utils.napi import NAPIManager
  from ansible_collections.fortinet.fortimanager.plugins.module_utils.napi import check_galaxy_version
  from ansible_collections.fortinet.fortimanager.plugins.module_utils.napi import check_parameter_bypass
  
  
  def main():
      jrpc_urls = [
          '/pm/config/adom/{adom}/obj/fsp/vlan/{vlan}/interface/ipv6',
          '/pm/config/global/obj/fsp/vlan/{vlan}/interface/ipv6'
      ]
  
      perobject_jrpc_urls = [
          '/pm/config/adom/{adom}/obj/fsp/vlan/{vlan}/interface/ipv6/{ipv6}',
          '/pm/config/global/obj/fsp/vlan/{vlan}/interface/ipv6/{ipv6}'
      ]
  
      url_params = ['adom', 'vlan']
      module_primary_key = None
      module_arg_spec = {
          'enable_log': {
              'type': 'bool',
              'required': False,
              'default': False
          },
          'forticloud_access_token': {
              'type': 'str',
              'required': False,
              'no_log': True
          },
          'proposed_method': {
              'type': 'str',
              'required': False,
              'choices': [
                  'set',
                  'update',
                  'add'
              ]
          },
          'bypass_validation': {
              'type': 'bool',
              'required': False,
              'default': False
          },
          'workspace_locking_adom': {
              'type': 'str',
              'required': False
          },
          'workspace_locking_timeout': {
              'type': 'int',
              'required': False,
              'default': 300
          },
          'rc_succeeded': {
              'required': False,
              'type': 'list'
          },
          'rc_failed': {
              'required': False,
              'type': 'list'
          },
          'adom': {
              'required': True,
              'type': 'str'
          },
          'vlan': {
              'required': True,
              'type': 'str'
          },
          'fsp_vlan_interface_ipv6': {
              'required': False,
              'type': 'dict',
              'revision': {
                  '6.0.0': True,
                  '6.2.1': True,
                  '6.2.3': True,
                  '6.2.5': True,
                  '6.4.0': True,
                  '6.4.2': True,
                  '6.4.5': True,
                  '7.0.0': True
              },
              'options': {
                  'autoconf': {
                      'required': False,
                      'revision': {
                          '6.0.0': True,
                          '6.2.1': True,
                          '6.2.3': True,
                          '6.2.5': True,
                          '6.4.0': True,
                          '6.4.2': True,
                          '6.4.5': True,
                          '7.0.0': True
                      },
                      'choices': [
                          'disable',
                          'enable'
                      ],
                      'type': 'str'
                  },
                  'dhcp6-client-options': {
                      'required': False,
                      'revision': {
                          '6.0.0': True,
                          '6.2.1': True,
                          '6.2.3': True,
                          '6.2.5': True,
                          '6.4.0': True,
                          '6.4.2': True,
                          '6.4.5': True,
                          '7.0.0': True
                      },
                      'type': 'list',
                      'choices': [
                          'rapid',
                          'iapd',
                          'iana',
                          'dns',
                          'dnsname'
                      ]
                  },
                  'dhcp6-information-request': {
                      'required': False,
                      'revision': {
                          '6.0.0': True,
                          '6.2.1': True,
                          '6.2.3': True,
                          '6.2.5': True,
                          '6.4.0': True,
                          '6.4.2': True,
                          '6.4.5': True,
                          '7.0.0': True
                      },
                      'choices': [
                          'disable',
                          'enable'
                      ],
                      'type': 'str'
                  },
                  'dhcp6-prefix-delegation': {
                      'required': False,
                      'revision': {
                          '6.0.0': True,
                          '6.2.1': True,
                          '6.2.3': True,
                          '6.2.5': True,
                          '6.4.0': True,
                          '6.4.2': True,
                          '6.4.5': True,
                          '7.0.0': True
                      },
                      'choices': [
                          'disable',
                          'enable'
                      ],
                      'type': 'str'
                  },
                  'dhcp6-prefix-hint': {
                      'required': False,
                      'revision': {
                          '6.0.0': True,
                          '6.2.1': True,
                          '6.2.3': True,
                          '6.2.5': True,
                          '6.4.0': True,
                          '6.4.2': True,
                          '6.4.5': True,
                          '7.0.0': True
                      },
                      'type': 'str'
                  },
                  'dhcp6-prefix-hint-plt': {
                      'required': False,
                      'revision': {
                          '6.0.0': True,
                          '6.2.1': True,
                          '6.2.3': True,
                          '6.2.5': True,
                          '6.4.0': True,
                          '6.4.2': True,
                          '6.4.5': True,
                          '7.0.0': True
                      },
                      'type': 'int'
                  },
                  'dhcp6-prefix-hint-vlt': {
                      'required': False,
                      'revision': {
                          '6.0.0': True,
                          '6.2.1': True,
                          '6.2.3': True,
                          '6.2.5': True,
                          '6.4.0': True,
                          '6.4.2': True,
                          '6.4.5': True,
                          '7.0.0': True
                      },
                      'type': 'int'
                  },
                  'dhcp6-relay-ip': {
                      'required': False,
                      'revision': {
                          '6.0.0': True,
                          '6.2.1': True,
                          '6.2.3': True,
                          '6.2.5': True,
                          '6.4.0': True,
                          '6.4.2': True,
                          '6.4.5': True,
                          '7.0.0': True
                      },
                      'type': 'str'
                  },
                  'dhcp6-relay-service': {
                      'required': False,
                      'revision': {
                          '6.0.0': True,
                          '6.2.1': True,
                          '6.2.3': True,
                          '6.2.5': True,
                          '6.4.0': True,
                          '6.4.2': True,
                          '6.4.5': True,
                          '7.0.0': True
                      },
                      'choices': [
                          'disable',
                          'enable'
                      ],
                      'type': 'str'
                  },
                  'dhcp6-relay-type': {
                      'required': False,
                      'revision': {
                          '6.0.0': True,
                          '6.2.1': True,
                          '6.2.3': True,
                          '6.2.5': True,
                          '6.4.0': True,
                          '6.4.2': True,
                          '6.4.5': True,
                          '7.0.0': True
                      },
                      'choices': [
                          'regular'
                      ],
                      'type': 'str'
                  },
                  'ip6-address': {
                      'required': False,
                      'revision': {
                          '6.0.0': True,
                          '6.2.1': True,
                          '6.2.3': True,
                          '6.2.5': True,
                          '6.4.0': True,
                          '6.4.2': True,
                          '6.4.5': True,
                          '7.0.0': True
                      },
                      'type': 'str'
                  },
                  'ip6-allowaccess': {
                      'required': False,
                      'revision': {
                          '6.0.0': True,
                          '6.2.1': True,
                          '6.2.3': True,
                          '6.2.5': True,
                          '6.4.0': True,
                          '6.4.2': True,
                          '6.4.5': True,
                          '7.0.0': True
                      },
                      'type': 'list',
                      'choices': [
                          'https',
                          'ping',
                          'ssh',
                          'snmp',
                          'http',
                          'telnet',
                          'fgfm',
                          'capwap',
                          'fabric'
                      ]
                  },
                  'ip6-default-life': {
                      'required': False,
                      'revision': {
                          '6.0.0': True,
                          '6.2.1': True,
                          '6.2.3': True,
                          '6.2.5': True,
                          '6.4.0': True,
                          '6.4.2': True,
                          '6.4.5': True,
                          '7.0.0': True
                      },
                      'type': 'int'
                  },
                  'ip6-dns-server-override': {
                      'required': False,
                      'revision': {
                          '6.0.0': True,
                          '6.2.1': True,
                          '6.2.3': True,
                          '6.2.5': True,
                          '6.4.0': True,
                          '6.4.2': True,
                          '6.4.5': True,
                          '7.0.0': True
                      },
                      'choices': [
                          'disable',
                          'enable'
                      ],
                      'type': 'str'
                  },
                  'ip6-hop-limit': {
                      'required': False,
                      'revision': {
                          '6.0.0': True,
                          '6.2.1': True,
                          '6.2.3': True,
                          '6.2.5': True,
                          '6.4.0': True,
                          '6.4.2': True,
                          '6.4.5': True,
                          '7.0.0': True
                      },
                      'type': 'int'
                  },
                  'ip6-link-mtu': {
                      'required': False,
                      'revision': {
                          '6.0.0': True,
                          '6.2.1': True,
                          '6.2.3': True,
                          '6.2.5': True,
                          '6.4.0': True,
                          '6.4.2': True,
                          '6.4.5': True,
                          '7.0.0': True
                      },
                      'type': 'int'
                  },
                  'ip6-manage-flag': {
                      'required': False,
                      'revision': {
                          '6.0.0': True,
                          '6.2.1': True,
                          '6.2.3': True,
                          '6.2.5': True,
                          '6.4.0': True,
                          '6.4.2': True,
                          '6.4.5': True,
                          '7.0.0': True
                      },
                      'choices': [
                          'disable',
                          'enable'
                      ],
                      'type': 'str'
                  },
                  'ip6-max-interval': {
                      'required': False,
                      'revision': {
                          '6.0.0': True,
                          '6.2.1': True,
                          '6.2.3': True,
                          '6.2.5': True,
                          '6.4.0': True,
                          '6.4.2': True,
                          '6.4.5': True,
                          '7.0.0': True
                      },
                      'type': 'int'
                  },
                  'ip6-min-interval': {
                      'required': False,
                      'revision': {
                          '6.0.0': True,
                          '6.2.1': True,
                          '6.2.3': True,
                          '6.2.5': True,
                          '6.4.0': True,
                          '6.4.2': True,
                          '6.4.5': True,
                          '7.0.0': True
                      },
                      'type': 'int'
                  },
                  'ip6-mode': {
                      'required': False,
                      'revision': {
                          '6.0.0': True,
                          '6.2.1': True,
                          '6.2.3': True,
                          '6.2.5': True,
                          '6.4.0': True,
                          '6.4.2': True,
                          '6.4.5': True,
                          '7.0.0': True
                      },
                      'choices': [
                          'static',
                          'dhcp',
                          'pppoe',
                          'delegated'
                      ],
                      'type': 'str'
                  },
                  'ip6-other-flag': {
                      'required': False,
                      'revision': {
                          '6.0.0': True,
                          '6.2.1': True,
                          '6.2.3': True,
                          '6.2.5': True,
                          '6.4.0': True,
                          '6.4.2': True,
                          '6.4.5': True,
                          '7.0.0': True
                      },
                      'choices': [
                          'disable',
                          'enable'
                      ],
                      'type': 'str'
                  },
                  'ip6-reachable-time': {
                      'required': False,
                      'revision': {
                          '6.0.0': True,
                          '6.2.1': True,
                          '6.2.3': True,
                          '6.2.5': True,
                          '6.4.0': True,
                          '6.4.2': True,
                          '6.4.5': True,
                          '7.0.0': True
                      },
                      'type': 'int'
                  },
                  'ip6-retrans-time': {
                      'required': False,
                      'revision': {
                          '6.0.0': True,
                          '6.2.1': True,
                          '6.2.3': True,
                          '6.2.5': True,
                          '6.4.0': True,
                          '6.4.2': True,
                          '6.4.5': True,
                          '7.0.0': True
                      },
                      'type': 'int'
                  },
                  'ip6-send-adv': {
                      'required': False,
                      'revision': {
                          '6.0.0': True,
                          '6.2.1': True,
                          '6.2.3': True,
                          '6.2.5': True,
                          '6.4.0': True,
                          '6.4.2': True,
                          '6.4.5': True,
                          '7.0.0': True
                      },
                      'choices': [
                          'disable',
                          'enable'
                      ],
                      'type': 'str'
                  },
                  'ip6-subnet': {
                      'required': False,
                      'revision': {
                          '6.0.0': True,
                          '6.2.1': True,
                          '6.2.3': True,
                          '6.2.5': True,
                          '6.4.0': True,
                          '6.4.2': True,
                          '6.4.5': True,
                          '7.0.0': True
                      },
                      'type': 'str'
                  },
                  'ip6-upstream-interface': {
                      'required': False,
                      'revision': {
                          '6.0.0': True,
                          '6.2.1': True,
                          '6.2.3': True,
                          '6.2.5': True,
                          '6.4.0': True,
                          '6.4.2': True,
                          '6.4.5': True,
                          '7.0.0': True
                      },
                      'type': 'str'
                  },
                  'nd-cert': {
                      'required': False,
                      'revision': {
                          '6.0.0': True,
                          '6.2.1': True,
                          '6.2.3': True,
                          '6.2.5': True,
                          '6.4.0': True,
                          '6.4.2': True,
                          '6.4.5': True,
                          '7.0.0': True
                      },
                      'type': 'str'
                  },
                  'nd-cga-modifier': {
                      'required': False,
                      'revision': {
                          '6.0.0': True,
                          '6.2.1': True,
                          '6.2.3': True,
                          '6.2.5': True,
                          '6.4.0': True,
                          '6.4.2': True,
                          '6.4.5': True,
                          '7.0.0': True
                      },
                      'type': 'str'
                  },
                  'nd-mode': {
                      'required': False,
                      'revision': {
                          '6.0.0': True,
                          '6.2.1': True,
                          '6.2.3': True,
                          '6.2.5': True,
                          '6.4.0': True,
                          '6.4.2': True,
                          '6.4.5': True,
                          '7.0.0': True
                      },
                      'choices': [
                          'basic',
                          'SEND-compatible'
                      ],
                      'type': 'str'
                  },
                  'nd-security-level': {
                      'required': False,
                      'revision': {
                          '6.0.0': True,
                          '6.2.1': True,
                          '6.2.3': True,
                          '6.2.5': True,
                          '6.4.0': True,
                          '6.4.2': True,
                          '6.4.5': True,
                          '7.0.0': True
                      },
                      'type': 'int'
                  },
                  'nd-timestamp-delta': {
                      'required': False,
                      'revision': {
                          '6.0.0': True,
                          '6.2.1': True,
                          '6.2.3': True,
                          '6.2.5': True,
                          '6.4.0': True,
                          '6.4.2': True,
                          '6.4.5': True,
                          '7.0.0': True
                      },
                      'type': 'int'
                  },
                  'nd-timestamp-fuzz': {
                      'required': False,
                      'revision': {
                          '6.0.0': True,
                          '6.2.1': True,
                          '6.2.3': True,
                          '6.2.5': True,
                          '6.4.0': True,
                          '6.4.2': True,
                          '6.4.5': True,
                          '7.0.0': True
                      },
                      'type': 'int'
                  },
                  'vrip6_link_local': {
                      'required': False,
                      'revision': {
                          '6.0.0': True,
                          '6.2.1': True,
                          '6.2.3': True,
                          '6.2.5': True,
                          '6.4.0': True,
                          '6.4.2': True,
                          '6.4.5': True,
                          '7.0.0': True
                      },
                      'type': 'str'
                  },
                  'vrrp-virtual-mac6': {
                      'required': False,
                      'revision': {
                          '6.0.0': True,
                          '6.2.1': True,
                          '6.2.3': True,
                          '6.2.5': True,
                          '6.4.0': True,
                          '6.4.2': True,
                          '6.4.5': True,
                          '7.0.0': True
                      },
                      'choices': [
                          'disable',
                          'enable'
                      ],
                      'type': 'str'
                  },
                  'ip6-delegated-prefix-list': {
                      'required': False,
                      'revision': {
                          '6.2.3': True,
                          '6.2.5': True,
                          '6.4.0': True,
                          '6.4.2': True,
                          '6.4.5': True,
                          '7.0.0': True
                      },
                      'type': 'list',
                      'options': {
                          'autonomous-flag': {
                              'required': False,
                              'revision': {
                                  '6.2.3': True,
                                  '6.2.5': True,
                                  '6.4.0': True,
                                  '6.4.2': True,
                                  '6.4.5': True,
                                  '7.0.0': True
                              },
                              'choices': [
                                  'disable',
                                  'enable'
                              ],
                              'type': 'str'
                          },
                          'onlink-flag': {
                              'required': False,
                              'revision': {
                                  '6.2.3': True,
                                  '6.2.5': True,
                                  '6.4.0': True,
                                  '6.4.2': True,
                                  '6.4.5': True,
                                  '7.0.0': True
                              },
                              'choices': [
                                  'disable',
                                  'enable'
                              ],
                              'type': 'str'
                          },
                          'prefix-id': {
                              'required': False,
                              'revision': {
                                  '6.2.3': True,
                                  '6.2.5': True,
                                  '6.4.0': True,
                                  '6.4.2': True,
                                  '6.4.5': True,
                                  '7.0.0': True
                              },
                              'type': 'int'
                          },
                          'rdnss': {
                              'required': False,
                              'revision': {
                                  '6.2.3': True,
                                  '6.2.5': True,
                                  '6.4.0': True,
                                  '6.4.2': True,
                                  '6.4.5': True,
                                  '7.0.0': True
                              },
                              'type': 'str'
                          },
                          'rdnss-service': {
                              'required': False,
                              'revision': {
                                  '6.2.3': True,
                                  '6.2.5': True,
                                  '6.4.0': True,
                                  '6.4.2': True,
                                  '6.4.5': True,
                                  '7.0.0': True
                              },
                              'choices': [
                                  'delegated',
                                  'default',
                                  'specify'
                              ],
                              'type': 'str'
                          },
                          'subnet': {
                              'required': False,
                              'revision': {
                                  '6.2.3': True,
                                  '6.2.5': True,
                                  '6.4.0': True,
                                  '6.4.2': True,
                                  '6.4.5': True,
                                  '7.0.0': True
                              },
                              'type': 'str'
                          },
                          'upstream-interface': {
                              'required': False,
                              'revision': {
                                  '6.2.3': True,
                                  '6.2.5': True,
                                  '6.4.0': True,
                                  '6.4.2': True,
                                  '6.4.5': True,
                                  '7.0.0': True
                              },
                              'type': 'str'
                          }
                      }
                  },
                  'ip6-extra-addr': {
                      'required': False,
                      'revision': {
                          '6.2.3': True,
                          '6.2.5': True,
                          '6.4.0': True,
                          '6.4.2': True,
                          '6.4.5': True,
                          '7.0.0': True
                      },
                      'type': 'list',
                      'options': {
                          'prefix': {
                              'required': False,
                              'revision': {
                                  '6.2.3': True,
                                  '6.2.5': True,
                                  '6.4.0': True,
                                  '6.4.2': True,
                                  '6.4.5': True,
                                  '7.0.0': True
                              },
                              'type': 'str'
                          }
                      }
                  },
                  'ip6-prefix-list': {
                      'required': False,
                      'revision': {
                          '6.2.3': True,
                          '6.2.5': True,
                          '6.4.0': True,
                          '6.4.2': True,
                          '6.4.5': True,
                          '7.0.0': True
                      },
                      'type': 'list',
                      'options': {
                          'autonomous-flag': {
                              'required': False,
                              'revision': {
                                  '6.2.3': True,
                                  '6.2.5': True,
                                  '6.4.0': True,
                                  '6.4.2': True,
                                  '6.4.5': True,
                                  '7.0.0': True
                              },
                              'choices': [
                                  'disable',
                                  'enable'
                              ],
                              'type': 'str'
                          },
                          'dnssl': {
                              'required': False,
                              'revision': {
                                  '6.2.3': True,
                                  '6.2.5': True,
                                  '6.4.0': True,
                                  '6.4.2': True,
                                  '6.4.5': True,
                                  '7.0.0': True
                              },
                              'type': 'str'
                          },
                          'onlink-flag': {
                              'required': False,
                              'revision': {
                                  '6.2.3': True,
                                  '6.2.5': True,
                                  '6.4.0': True,
                                  '6.4.2': True,
                                  '6.4.5': True,
                                  '7.0.0': True
                              },
                              'choices': [
                                  'disable',
                                  'enable'
                              ],
                              'type': 'str'
                          },
                          'preferred-life-time': {
                              'required': False,
                              'revision': {
                                  '6.2.3': True,
                                  '6.2.5': True,
                                  '6.4.0': True,
                                  '6.4.2': True,
                                  '6.4.5': True,
                                  '7.0.0': True
                              },
                              'type': 'int'
                          },
                          'prefix': {
                              'required': False,
                              'revision': {
                                  '6.2.3': True,
                                  '6.2.5': True,
                                  '6.4.0': True,
                                  '6.4.2': True,
                                  '6.4.5': True,
                                  '7.0.0': True
                              },
                              'type': 'str'
                          },
                          'rdnss': {
                              'required': False,
                              'revision': {
                                  '6.2.3': True,
                                  '6.2.5': True,
                                  '6.4.0': True,
                                  '6.4.2': True,
                                  '6.4.5': True,
                                  '7.0.0': True
                              },
                              'type': 'str'
                          },
                          'valid-life-time': {
                              'required': False,
                              'revision': {
                                  '6.2.3': True,
                                  '6.2.5': True,
                                  '6.4.0': True,
                                  '6.4.2': True,
                                  '6.4.5': True,
                                  '7.0.0': True
                              },
                              'type': 'int'
                          }
                      }
                  },
                  'vrrp6': {
                      'required': False,
                      'revision': {
                          '6.2.3': True,
                          '6.2.5': True,
                          '6.4.0': True,
                          '6.4.2': True,
                          '6.4.5': True,
                          '7.0.0': True
                      },
                      'type': 'list',
                      'options': {
                          'accept-mode': {
                              'required': False,
                              'revision': {
                                  '6.2.3': True,
                                  '6.2.5': True,
                                  '6.4.0': True,
                                  '6.4.2': True,
                                  '6.4.5': True,
                                  '7.0.0': True
                              },
                              'choices': [
                                  'disable',
                                  'enable'
                              ],
                              'type': 'str'
                          },
                          'adv-interval': {
                              'required': False,
                              'revision': {
                                  '6.2.3': True,
                                  '6.2.5': True,
                                  '6.4.0': True,
                                  '6.4.2': True,
                                  '6.4.5': True,
                                  '7.0.0': True
                              },
                              'type': 'int'
                          },
                          'preempt': {
                              'required': False,
                              'revision': {
                                  '6.2.3': True,
                                  '6.2.5': True,
                                  '6.4.0': True,
                                  '6.4.2': True,
                                  '6.4.5': True,
                                  '7.0.0': True
                              },
                              'choices': [
                                  'disable',
                                  'enable'
                              ],
                              'type': 'str'
                          },
                          'priority': {
                              'required': False,
                              'revision': {
                                  '6.2.3': True,
                                  '6.2.5': True,
                                  '6.4.0': True,
                                  '6.4.2': True,
                                  '6.4.5': True,
                                  '7.0.0': True
                              },
                              'type': 'int'
                          },
                          'start-time': {
                              'required': False,
                              'revision': {
                                  '6.2.3': True,
                                  '6.2.5': True,
                                  '6.4.0': True,
                                  '6.4.2': True,
                                  '6.4.5': True,
                                  '7.0.0': True
                              },
                              'type': 'int'
                          },
                          'status': {
                              'required': False,
                              'revision': {
                                  '6.2.3': True,
                                  '6.2.5': True,
                                  '6.4.0': True,
                                  '6.4.2': True,
                                  '6.4.5': True,
                                  '7.0.0': True
                              },
                              'choices': [
                                  'disable',
                                  'enable'
                              ],
                              'type': 'str'
                          },
                          'vrdst6': {
                              'required': False,
                              'revision': {
                                  '6.2.3': True,
                                  '6.2.5': True,
                                  '6.4.0': True,
                                  '6.4.2': True,
                                  '6.4.5': True,
                                  '7.0.0': True
                              },
                              'type': 'str'
                          },
                          'vrgrp': {
                              'required': False,
                              'revision': {
                                  '6.2.3': True,
                                  '6.2.5': True,
                                  '6.4.0': True,
                                  '6.4.2': True,
                                  '6.4.5': True,
                                  '7.0.0': True
                              },
                              'type': 'int'
                          },
                          'vrid': {
                              'required': False,
                              'revision': {
                                  '6.2.3': True,
                                  '6.2.5': True,
                                  '6.4.0': True,
                                  '6.4.2': True,
                                  '6.4.5': True,
                                  '7.0.0': True
                              },
                              'type': 'int'
                          },
                          'vrip6': {
                              'required': False,
                              'revision': {
                                  '6.2.3': True,
                                  '6.2.5': True,
                                  '6.4.0': True,
                                  '6.4.2': True,
                                  '6.4.5': True,
                                  '7.0.0': True
                              },
                              'type': 'str'
                          }
                      }
                  },
                  'interface-identifier': {
                      'required': False,
                      'revision': {
                          '6.4.2': True,
                          '6.4.5': True,
                          '7.0.0': True
                      },
                      'type': 'str'
                  },
                  'unique-autoconf-addr': {
                      'required': False,
                      'revision': {
                          '6.4.2': True,
                          '6.4.5': True,
                          '7.0.0': True
                      },
                      'choices': [
                          'disable',
                          'enable'
                      ],
                      'type': 'str'
                  },
                  'icmp6-send-redirect': {
                      'required': False,
                      'revision': {
                          '6.4.5': True,
                          '7.0.0': True
                      },
                      'choices': [
                          'disable',
                          'enable'
                      ],
                      'type': 'str'
                  },
                  'cli-conn6-status': {
                      'required': False,
                      'revision': {
                          '7.0.0': True
                      },
                      'type': 'int'
                  },
                  'ip6-prefix-mode': {
                      'required': False,
                      'revision': {
                          '7.0.0': True
                      },
                      'choices': [
                          'dhcp6',
                          'ra'
                      ],
                      'type': 'str'
                  },
                  'ra-send-mtu': {
                      'required': False,
                      'revision': {
                          '7.0.0': True
                      },
                      'choices': [
                          'disable',
                          'enable'
                      ],
                      'type': 'str'
                  }
              }
  
          }
      }
  
      params_validation_blob = []
      check_galaxy_version(module_arg_spec)
      module = AnsibleModule(argument_spec=check_parameter_bypass(module_arg_spec, 'fsp_vlan_interface_ipv6'),
                             supports_check_mode=False)
  
      fmgr = None
      if module._socket_path:
          connection = Connection(module._socket_path)
          connection.set_option('enable_log', module.params['enable_log'] if 'enable_log' in module.params else False)
          connection.set_option('forticloud_access_token',
                                module.params['forticloud_access_token'] if 'forticloud_access_token' in module.params else None)
          fmgr = NAPIManager(jrpc_urls, perobject_jrpc_urls, module_primary_key, url_params, module, connection, top_level_schema_name='data')
          fmgr.validate_parameters(params_validation_blob)
          fmgr.process_partial_curd(argument_specs=module_arg_spec)
      else:
          module.fail_json(msg='MUST RUN IN HTTPAPI MODE')
      module.exit_json(meta=module.params)
  
  
  if __name__ == '__main__':
      main()
  