Value Required NAME (\S+|\d+\.\d+\.\d+\.\d+)
Value Required TYPE (\S+)
Value List DHCP_SELECTION ([linksubet\-co]+)
Value List DHCP_SERVER (\d+\.\d+\.\d+\.\d+)
Value AUTHORIZATION (\S+)
Value AUTHORIZATION_INTFC (\S+)
Value AUTHORIZATION_GRP (\S+)
Value ACCOUNTING_GRP (\S+)
Value IPV4_POOL_INTFC (\S+)
Value IPV4_POOL_NAME (\S+)
Value AUTHENTICATION_INTFC (\S+)
Value AUTHENTICATION_PRI_GRP (\S+)
Value AUTHENTICATION_SEC_GRP (\S+)
Value AUTHENTICATION_SVR (\S+)
Value AUTHENTICATED_USER (\S+)
Value GROUP_POLICY (\S+)
Value IPV6_POOL_INTFC (\S+)
Value IPV6_POOL_NAME (\S+)
Value NAT_INTFC (\S+)
Value SCEP_ENROLL (\S+)
Value SEC_AUTHENTICATION_GRP_INTFC (\S+)
Value SEC_AUTHENTICATION_PRI_GRP (\S+)
Value SEC_AUTHENTICATION_SEC_GRP (\S+)
Value SEC_AUTHENTICATION_USE_PRI_USER (\S+)
Value SEC_CERT_CODES (\S+\s+\S+|\S+)
Value SEC_CERT_FALLBACK (\S+)
Value PRI_CERT_CODES (\S+\s+\S+|\S+)
Value PRI_CERT_FALLBACK (\S+)
Value STRIP_GRP (strip\-group)
Value STRIP_REALM (strip\-realm)
Value IKEV1_PSK (\*+)
Value CHAIN (chain)
Value List CLIENT_OS (\S+)
Value List UPDATE_URL (\S+)
Value List REVS ((\d+,){0,10}\d+)
Value TRUST_POINT (\S+)
Value List IKEV1_USER_AUTH_INTFC (\S+)
Value List IKEV1_USER_AUTH_TYPE (\S+)
Value IKEV2_LOCAL_AUTH_CERT (\S+)
Value List IKEV2_REMOTE_AUTH_TYPE (\S+\s+\S+|\S+)
Value PEER_ID_VALIDATE (\S+)
Value RADIUS_WITH_EXPIRY (radius\-with\-expiry)
Value List PPP_AUTH_TYPE (pap|ms-chap-v2|eap-proxy)
Value WEBVPN_AUTH (\S+\s+\S+|\S+)
Value WEBVPN_CUSTOM (\S+)
Value DNS_GRP (\S+)
Value List WEBVPN_GRP_ALIAS (\S+)
Value List WEBVPN_GRP_ALIAS_STATE (enable|disable)
Value List WEBVPN_GRP_URL (\S+)
Value List WEBVPN_GRP_URL_STATE (enable|disable)
Value List NBNS_SVR (\d+\.\d+\.\d+\.\d+)
Value List NBNS_MASTER (master)
Value List NBNS_TIMEOUT (\d+)
Value List NBNS_RETRY (\d+)
Value OVERRIDE_SVC_DOWNLOAD (override\-svc\-download)
Value List PRI_PREFILL_USER_TYPE (\S+\s+\S+|\S+)
Value List SEC_PREFILL_USER_TYPE (\S+\s+\S+|\S+)
Value PROXY_AUTH (\S+)
Value RADIUS_REJECT_MSG (radius\-reject\-message)
Value SAML_ID_PROVIDER (\S+)
Value WITHOUT_CSD (\S+\s+\S+|\S+)

Start
  ^tunnel\-group\s+(\S+|\d+\.\d+\.\d+\.\d+)\s+type -> Continue.Record
  ^tunnel\-group\s+${NAME}\s+type\s+${TYPE}\s*
  # GENERAL ATTRIBUTES
  ^\s+dhcp\-server(\s+){0,1}(${DHCP_SELECTION}{0,1})\s+${DHCP_SERVER}\s*
  ^\s+authorization\-server\-group(\s+\(${AUTHORIZATION_INTFC}\)){0,1}\s+${AUTHORIZATION_GRP}\s*
  ^\s+authorization\-${AUTHORIZATION}\s*
  ^\s+accounting\-server\-group\s+${ACCOUNTING_GRP}\s*
  ^\s+address\-pool(\s+\(${IPV4_POOL_INTFC}\)){0,1}\s+${IPV4_POOL_NAME}\s*
  ^\s+authentication\-server\-group(\s+\(${AUTHENTICATION_INTFC}\)){0,1}\s+${AUTHENTICATION_PRI_GRP}(\s+${AUTHENTICATION_SEC_GRP}){0,1}\s*
  ^\s+authentication\-attr\-from\-server\s+${AUTHENTICATION_SVR}\s*
  ^\s+authenticated\-session\-username\s+${AUTHENTICATED_USER}\s*
  ^\s+default\-group\-policy\s+${GROUP_POLICY}\s*
  ^\s+ipv6\-address\-pool(\s+\(${IPV6_POOL_INTFC}\)){0,1}\s+${IPV6_POOL_NAME}\s*
  ^\s+nat\-assigned\-to\-public\-ip\s+${NAT_INTFC}\s*
  ^\s+scep\-enrollment\s+${SCEP_ENROLL}\s*
  ^\s+secondary\-authentication\-server\-group(\s+\(${SEC_AUTHENTICATION_GRP_INTFC}\)){0,1}\s+${SEC_AUTHENTICATION_PRI_GRP}(\s+${SEC_AUTHENTICATION_SEC_GRP}){0,1}(\s+${SEC_AUTHENTICATION_USE_PRI_USER}){0,1}\s*
  ^\s+secondary\-username\-from\-certificate\s+${SEC_CERT_CODES}(\s+no-certificate-fallback\s+${SEC_CERT_FALLBACK}){0,1}\s*
  ^\s+username\-from\-certificate\s+${PRI_CERT_CODES}(\s+no-certificate-fallback\s+${PRI_CERT_FALLBACK}){0,1}\s*
  ^\s+${STRIP_GRP}\s*
  ^\s+${STRIP_REALM}\s*
  # PPP ATTRIBUTES
  ^\s+authentication\s+${PPP_AUTH_TYPE}\s*
  # IPSEC ATTRIBUTES
  ^\s+ikev1\s+pre\-shared\-key\s+${IKEV1_PSK}\s*
  ^\s+${CHAIN}\s*
  ^\s+ikev1\s+client\-update\s+type\s+${CLIENT_OS}\s+url\s+${UPDATE_URL}\s+rev\-nums\s+${REVS}\s*
  ^\s+ikev1\s+trust\-point\s+${TRUST_POINT}\s+
  ^\s+ikev1\s+user\-authentication(\s+\(${IKEV1_USER_AUTH_INTFC}\)){0,1}\s+${IKEV1_USER_AUTH_TYPE}\s*
  ^\s+ikev2\s+local\-authentication\s+certificate\s+${IKEV2_LOCAL_AUTH_CERT}\s*
  ^\s+ikev2\s+remote\-authentication\s+${IKEV2_REMOTE_AUTH_TYPE}\s*
  ^\s+peer\-id\-validate\s+${PEER_ID_VALIDATE}\s*
  ^\s+${RADIUS_WITH_EXPIRY}\s*
  # WEBVPN ATTRIBUTES
  ^\s+authentication\s+${WEBVPN_AUTH}\s*
  ^\s+customization\s+${WEBVPN_CUSTOM}\s*
  ^\s+dns\-group\s+${DNS_GRP}\s*
  ^\s+group\-alias\s+${WEBVPN_GRP_ALIAS}\s+${WEBVPN_GRP_ALIAS_STATE}\s*
  ^\s+group\-url\s+${WEBVPN_GRP_URL}\s+${WEBVPN_GRP_URL_STATE}\s*
  ^\s+nbns\-server\s+${NBNS_SVR}(\s+${NBNS_MASTER}){0,1}\s+timeout\s+${NBNS_TIMEOUT}\s+retry\s+${NBNS_RETRY}\s*
  ^\s+${OVERRIDE_SVC_DOWNLOAD}\s*
  ^\s+pre\-fill\-username\s+${PRI_PREFILL_USER_TYPE}\s*
  ^\s+proxy\-auth\s+${PROXY_AUTH}\s*
  ^\s+${RADIUS_REJECT_MSG}\s*
  ^\s+saml\s+identity\-provider${SAML_ID_PROVIDER}\s*
  ^\s+secondary\s+pre\-fill\-username\s+${SEC_PREFILL_USER_TYPE}\S*
  ^\s+without\-csd\s+${WITHOUT_CSD}\s*
